mobilebb shield for mozzi
DESCRIPTION
presentation for our activities and new work "mobileBB shield for Mozzi"TRANSCRIPT
!
!
!
coma study room
mobileBB shield for Mozzi !!2013.11.16 at Bullet’s The Breadboard Band
‣The Breadboard Band
mobileBB
The Breadboard BandICタクトスイッチボリューム電池電池ケーススピーカー 3.5ジャック
PSoC CY8C29466
50k A 単 3乾電池
1314111
3つのボタン (緑 :10Hz,
青 :1kHz,黄 :
15.625kHz)を押すと音
がでます。
ボリュームでそれぞれの
ボタンの周波数を変えら
れます。
こちらの商品は完成品となっています
The Breadboard BandURL : www.breadboardband.orgMAIL : in [email protected]
03 2000円
mobileBB 03 ver.1.0.0
PS
oC
CY
8C
29
46
6-2
4P
XI
SP
1
28
2
24
14
S2
+5
S3
S4
OFF ON
使用後は必ず電源をOFFにして保管してください
押すと音がでます1kHzを中心に変化
押すと音がでます15.625kHzを中心に変化
押すと音がでます 10Hzを中心に変化
スイッチS4 黄
スイッチS3 青
スイッチS2 緑
回すと音の高さが変わりますボリューム
電源 ON/OFFスイッチS1Version 1.0.0
mobileBB
The Breadboard BandIC
タクトスイッチDIPスイッチ 4P
3端子レギュレータセラミックコンデンサ電解コンデンサ電池電池ケーススピーカー 3.5ジャック
PSoC CY8C29466
TA4805S
0.1μF
47μF
単 3乾電池
1
3
2
1
2
1
4
1
1
1
8ステップのリズムシー
ケンサーです
2種類のリズム波形・テ
ンポ・ステップ数を変更
できます
こちらの商品は完成品となっています
The Breadboard BandURL : www.breadboardband.orgMAIL : in [email protected]
02 2000円
mobileBB 02 ver.1.0.1
PS
oC
CY
8C
29
46
6-2
4P
XI
SP
1
28Vdd
2
27 S2
C2
0.1µF
25 S4
26 S3
24 DIP1
23 DIP2
22 DIP3
21 DIP4
18 DIP5
17 DIP6
16 DIP7
15 DIP814
S1
C1
0.1µF
TA4805S
47µF
C3
1 2 3 4 5 6 7 8
OFF ON
ここから音が鳴ります
ミキサーやヘッドフォンに接続することができます
左から右に 8 ステップ分の音を切り替えられます
使用後は必ず電源をOFFにして保管してください
スイッチを押す毎に8、7...1...8 ステップとステップ数が変化します
テンポがDOWNします
テンポがUPします
スピーカー
スイッチS2
スイッチS3
スイッチS4
スイッチDIP
電源 ON/OFFスイッチS1
ジャック
Version 1.0.1
mobileBB
The Breadboard BandIC
タクトスイッチDIPスイッチ 4P
3端子レギュレータセラミックコンデンサ電解コンデンサ電池電池ケーススピーカー 3.5ジャック
PSoC CY8C29466
TA4805S
0.1μF
47μF
単 3乾電池
1
3
2
1
2
1
4
1
1
1
8ステップのリズムシー
ケンサーです
2種類のリズム波形・テ
ンポ・ステップ数を変更
できます
こちらの商品は完成品となっています
The Breadboard BandURL : www.breadboardband.orgMAIL : in [email protected]
02 2000円
mobileBB 02 ver.1.0.1
PS
oC
CY
8C
29
46
6-2
4P
XI
SP
1
28Vdd
2
27 S2
C2
0.1µF
25 S4
26 S3
24 DIP1
23 DIP2
22 DIP3
21 DIP4
18 DIP5
17 DIP6
16 DIP7
15 DIP814
S1
C1
0.1µF
TA4805S
47µF
C3
1 2 3 4 5 6 7 8
OFF ON
ここから音が鳴ります
ミキサーやヘッドフォンに接続することができます
左から右に 8 ステップ分の音を切り替えられます
使用後は必ず電源をOFFにして保管してください
スイッチを押す毎に8、7...1...8 ステップとステップ数が変化します
テンポがDOWNします
テンポがUPします
スピーカー
スイッチS2
スイッチS3
スイッチS4
スイッチDIP
電源 ON/OFFスイッチS1
ジャック
Version 1.0.1
mobileBB
The Breadboard BandIC
タクトスイッチDIPスイッチ 4P
3端子レギュレータセラミックコンデンサ電解コンデンサ電池電池ケーススピーカー 3.5ジャック
PSoC CY8C29466
TA4805S
0.1μF
47μF
単 3乾電池
1
3
2
1
2
1
4
1
1
1
8ステップのリズムシー
ケンサーです
2種類のリズム波形・テ
ンポ・ステップ数を変更
できます
こちらの商品は完成品となっています
The Breadboard BandURL : www.breadboardband.orgMAIL : in [email protected]
02 2000円
mobileBB 02 ver.1.0.1
PS
oC
CY
8C29
466-
24P
XI
SP
1
28Vdd
2
27 S2C2
0.1µF
25 S4
26 S3
24 DIP1
23 DIP2
22 DIP3
21 DIP4
18 DIP5
17 DIP6
16 DIP7
15 DIP814
S1
C1
0.1µF
TA4805S
47µF
C3
1 2 3 4 5 6 7 8
OFF ON
ここから音が鳴ります
ミキサーやヘッドフォンに接続することができます
左から右に 8 ステップ分の音を切り替えられます
使用後は必ず電源をOFFにして保管してください
スイッチを押す毎に8、7...1...8 ステップとステップ数が変化します
テンポがDOWNします
テンポがUPします
スピーカー
スイッチS2
スイッチS3
スイッチS4
スイッチDIP
電源 ON/OFFスイッチS1
ジャック
Version 1.0.1
mobileBB mobileBB mobileBB mobileBB
mobileBB
The Breadboard Band抵抗器抵抗器セラミックコンデンサ電解コンデンサIC
半固定抵抗ボリュームタクトスイッチ電池電池ケーススピーカー 3.5ジャック
10k
1k
0.22μF
1μF
LM358
10k B
10k A
CR3032
8
2
1
1
1
1
1
1
1
1
1
1
波形を変調して、倍音で
音階を演奏する楽器です
こちらの商品は完成品となっています
The Breadboard BandURL : www.breadboardband.orgMAIL : in [email protected]
5
67
2
31
C2
0.22
µF
R5
10k
VR1
10kA
R4
T1
2sc1
815Y
SP
1
1k
R1
10k
VR2
IC1B
LM358N
LM358N
IC1A
10kB
10k
R7
10k
R6
R8
10k
R2
10k
R10
10k
R3
10k
1µ C1
G1
S1
21
CR
2032
H
R9
1kLE
D1
01 2000円 Version 1.0.1
mobileBB 01 ver.1.0.1
回すと音の高さが変わります
押すと音がします
スイッチを押すと光ります
音階の出方が多少変わるかもしれません
ここから音が鳴ります
つまみ
スイッチ
LED
調整用つまみ
スピーカー
ミキサーやヘッドフォンに接続することができます
ジャック
mobileBBWorkshop
2012年7月28日 (土)13:30 - 20 :30
f .Labo岐阜県大垣市今宿6-52-16ソフトピアジャパン ドリーム•コア1F
3,500円ワークショップで作成した作品は、お持ち帰りいただけます。参加費は、当日受付にてお支払いください。
The Breadboard Band (原田克彦、大石彰誠、斉田一樹 )
2012年7月20日 (金)
日時
場所
参加費
講師
申込締切
音がなるブレッドボード ワークショップ
DIYMUSIC!
2012年7月28日13:30-18:30 /IAMAS RCIC BRANCH @ f.Labo The Breadboard Band(原田克彦、大石彰誠、斉田一樹)
Mozzi sound synthesis library for Arduino
‣Inventor: Tim Barrass http://sensorium.github.com/Mozzi/ !‣Arduinoから直接音をつくるライブラリ !‣オープンソースプロジェクト !‣一般的な音響合成で使われるオシレータ、ディレイ、フィルタ、エンベロップを扱うことがでる !‣追加のシールド、外部回路をなしで音をつくれる* !‣パフォーマンスやインスタレーションのためのアルゴリズミック音楽を生成 !‣センサをつないでインタラクティブに音を出力
Mozzi sound synthesis library for Arduino
‣^[xor]sysnth ‣true digital polyphonic synthesizer ‣http://www.standuino.eu/devices/instruments/xor-synth/
Mozzi sound synthesis library for Arduino
‣Greenwash ‣by Tim Barrass ‣ A sun-powered sound sculpture which sonifies fluctuations in solar energy ‣https://docs.google.com/file/d/0B_eOzePFYDZaeU1GS1BQOVZhVDQ/edit
Mozzi sound synthesis library for Arduino
‣Yoshihito Nakanishi !‣”B.O.M.B.-Beat Of Magic Box-”, an interactive musical device for cooperative music performance !‣Mozzi.ws ‣http://yoshihito-nakanishi.com/mozzi/
Mozzi sound synthesis library for Arduino
‣Inventor: Tim Barrass http://sensorium.github.com/Mozzi/ !!!‣特長 ‣便利なオーディオツールキット:オシレータ、 ディレイ、フィルタ、エンベロープ ‣8-14ビットでサンプリングレート16384Hzのオーディオ出力モード ‣64Hz以上からのコントロール速度を変えられる ‣高速なADCとCPUに効率的なコードによって、スムーズなオーディオ処理を実現 ‣すぐに書き換えられるサンプルスケッチ ‣あらかじめ用意されているウェーブテーブルとMozzi用にサウンドファイルを変換してくれるスプリクト
Mozziを使用する準備
‣Mozzi(Version 0.01.2c)をダウンロード1.sensorium-Mozzi-76c6513.zipを解凍する 2.ダウンロードしたフォルダの名前をMozziに変更3.Mac:書類(Documents)/Arduino/librariesにコピー Win:Arduino.exeがあるフォルダ/librariesにコピー *librariesフォルダがない場合はlibrariesフォルダを作成 *Arduino IDEが起動している場合は再起動
Mozziライブラリのファイル構造
Mozzi sound synthesis library for Arduino
‣注意点下記のボードはテスト済み/それ以外は確認が必要 Arduino Duemilanove ATmega328 Arduino Nano ATmega328 Arduino Pro Mini Arduino Uno Arduino Leonardo Arduino Mega EtherMega Boarduino Ardweeny Teensy2/Teensy2++
!‣高周波
!‣Arduinoの時間関数は使えません ‣millis(), micros(), delay(), and delayMicroseconds() !‣その代わりにMozziのEventDelay() が使える
高周波をカットするには
高周波をカットするには
Mozziの構造 ex01_Skeleton.ino!#include <MozziGuts.h> // Mozzi用ライブラリ#define CONTROL_RATE 64 //コントロールレートの定義(64がデフォルト)!void setup() { startMozzi(CONTROL_RATE); //Mozziの初期設化、処理開始}!void updateControl() { // 制御処理コードをここに書く}!int updateAudio() { // オーディオ処理コードをここに書く return 0;}!void loop() { audioHook(); //音を出力するためのバッファ処理}
Mozziでサイン波を出力 ex02_Sinewave.ino#include <MozziGuts.h>#include <Oscil.h> // オシレータのテンプレート#include <tables/sin2048_int8.h> // オシレータ用のサイン波テーブル//#include <tables/triangle2048_int8.h> //オシレータ用の三角波テーブル!// use: Oscil <table_size, update_rate> oscilName (wavetable)Oscil <SIN2048_NUM_CELLS, AUDIO_RATE> aSin(SIN2048_DATA); //Oscil <TRIANGLE2048_NUM_CELLS, AUDIO_RATE> aTri(TRIANGLE2048_DATA);!// use #define for CONTROL_RATE, not a constant#define CONTROL_RATE 64 // コントロールレートを64に設定!void setup(){ startMozzi(CONTROL_RATE); //Mozziの初期設化、処理開始 aSin.setFreq(440) ; //周波数440Hzの設定// aTri.setFreq(600) ; //周波数440Hzの設定}!void updateControl(){ // 制御処理コードをここに書く}!int updateAudio(){ return aSin.next(); //aSinのwavetableが繰り返し読み込まれる// return aTri.next(); //aTriのwavetableが繰り返し読み込まれる}!void loop(){ audioHook(); //音を出力するためのバッファ処理}
センサ入力で音をコントロールするex04_Trianglewave_sensor.ino
#include <MozziGuts.h>#include <Oscil.h> // オシレータのテンプレート//#include <tables/sin2048_int8.h> // オシレータ用のサイン波テーブル#include <tables/triangle2048_int8.h> //オシレータ用の三角波テーブル#include <mozzi_analog.h> //アナログ入力!//Oscil <SIN2048_NUM_CELLS, AUDIO_RATE> aSin(SIN2048_DATA); //sin2028_int8.hから配列変数SIN2048_DATAの8bitデータをaSinに格納Oscil <TRIANGLE2048_NUM_CELLS, AUDIO_RATE> aTri(TRIANGLE2048_DATA); //triangle2048_int8.hから配列変数TRIANGLE2048_DATAの8bitデータをaTriに格納!//#define CONTROL_RATE 64 // コントロールレートを64に設定!float val = 0.f; //周波数の値を入れる変数int sensor_Val; //センサからの値を入れる変数const char input_Pin = 0; //センサにつなぐピン(アナログ入力A0)!void setup(){// startMozzi(CONTROL_RATE); //Mozziの初期設化、処理開始// aSin.setFreq(440) ; //周波数440Hz(ラ音(A4))の設定! setupFastAnalogRead(); // アナログ入力の読み込み速度を上げる aTri.setFreq(440) ; //周波数440Hzの設定 startMozzi(); //Mozziの処理開始}!
センサ入力で音をコントロールするex04_Trianglewave_sensor.ino
void updateControl(){ int sensor_Val = analogRead(input_Pin);//アナログA0の値を代入する val = map(sensor_Val, 0, 1023, 10, 2000);// センサからの値0-1023を20-2000に変換 aTri.setFreq(val); //周波数を代入する }!!int updateAudio(){// return aSin.next(); //aSinのwavetableが繰り返し読み込まれる return aTri.next(); //aTriのwavetableが繰り返し読み込まれる!}!!void loop(){ audioHook(); //音を出力するためのバッファ処理}
センサ入力で音をコントロールする‣ボリューム(可変抵抗器)のつなげ方
‣横が削れている方が右
mobileBB shield for Mozzi
mobileBBの最新作は mobileBB for Mozzi !2013/11/3 - 11/4 Maker Faire Tokyo 2013で発表 !!http://breadboardband.github.io/mobileBBshield_for_Mozzi/ !
Arduinoで音を出すそもそも音って何よ?(Arduino・電子回路的な意味で) !電圧をいろいろと変えながら出す、それが音。 !↓波形。電圧がこんな風になれば音が出ます。 !!!
Arduinoで音を出すとは?一番簡単な方法 !tone使う !
tone(pin, frequency); !!!「スケッチブックの例」02.Digital - toneKeyboard - toneMelody - toneMultiple - tonePitchFollower
Arduinoで音を出すとは?toneで出る音 矩形波(0V と 5Vが交互に出る)
ただ、これだとこういう波形は出せない
Arduinoで音を出すとは?
じゃあどうすれば? ! Arduinoの中にデータとして波形を持つことはできてる。 !uint8_t randomwave = { 0, 100, 22, 33, 58 }; !このデータを電圧の信号に置き換えるのが
D/A変換
Arduinoで音を出すとは?
D/A変換 どうやって? !1. 専用のICを使う 2. ラダー抵抗 3. PWM
Arduinoで音を出すとは?
専用のICを使う !一般的なオーディオ機器ではこの方法 !!Good - 音質がよい - サンプリング周波数やビットレートが柔軟に設定できる !Bad - それなりに部品代が増える - 当然面積も増える
Arduinoで音を出すとは?
ラダー抵抗 !例 http://www.instructables.com/id/Arduino-Audio-Output/?lang=ja !Good - 簡単 - 好きなビットレートにできる !Bad - マイコンのポートをたくさん使う
Arduinoで音を出すとは?
PWM !!Good - ポート1本 - 外付けの回路が少ない !Bad - マイコンのパワーを食う
Arduinoで音を出すとは?
PWMとは? !Arduinoのポートはすべてデジタルで、0Vと5Vしか出せない。 0Vと5Vの「比率」は変えることができる。 !0Vを表したい→ ずっと0V 5Vを表したい→ ずっと5V !2.5Vを表したい 0V 5V 3Vを表したい 0V 0V 5V 5V 5V !
Arduinoで音を出すとは?
Arduinoで音を出すとは?
PWMとは?
Arduinoで音を出すとは?
PWMとは? !ArduinoでPWMを出すには?
analogWrite !!もうこれがPWM! http://arduino.cc/en/Tutorial/PWM !
Arduinoで音を出すとは?
PWM !PWMは、電圧を比率にして出す ここまでOK 比率をどのくらいのスピード出すか?が問題になる。 !出てくる信号は、 出したい電圧の信号 + PWMをしている信号 !ほんとうに欲しいのは
出したい電圧の信号
Arduinoで音を出すとは?
PWM !ほんとうに欲しい「出したい電圧」を手に入れるには、 PWMをしている信号を取り除く必要がある。 !条件 出したい電圧 が含んでいる周波数と PWMをしている信号の周波数が 重ならないこと。 !http://arduino.cc/en/Reference/analogWrite !おもいっきり音の周波数なので、このままでは使えない。
Arduinoで音を出すとは?
PWM !ArduinoのPWMを高速にして、オーディオと重ならなくする方法 !http://interface.khm.de/index.php/lab/experiments/arduino-realtime-audio-processing/
シールド基板の製作
シールド基板の製作‣回路 Mozziのサイトにある出力用のフィルター回路 ‣Notch filter for STANDARD mode carrier frequency. ‣http://sensorium.github.io/Mozzi/learn/output/ ‣6kHz low pass and 16384Hz notch filter
!!‣基板をデザインするためのツール(CAD) ‣Fritzing !
!‣基板製作の発注 ‣P板.com
Fritzingについて‣ブレッドボードの配線図から回路図、基板設計図を生成できるツール(基板 PCB CAD) !‣ドイツのポツダム応用科学大学のインタラクションデザインラボ(Interaction Design Lab at the University of Applied Sciences Potsdam)でのオープンソース・プロジェクト !‣Arduinoユーザーが自分のプロトタイプのプロジェクトをプリント基板にする手助けとなるツール !‣基板デザイン ~ 基板発注までの独自サービスを用意
Fritzingについて
Fritzingについて
Fritzingについて
Fritzing パーツエディタ
ブレッドボード 回路図 基板パターン図
Fritzing 基板製造オーダー
Fritzingについて‣ブレッドボードの配線図からはじめられる !!‣Arduinoのプロジェクト、シールドのテンプレートが豊富 !!‣オリジナル(カスタマイズ)の部品を追加 ‣svg(Scalable Vector Graphics)ファイルでデザイン ‣Illustrator等で描ける ‣外形線やシルクスクリーンのロゴやイメージも同様 ‣今回、秋月の3.5mm audio jackを作成 !
‣入門編としてはおすすめの基板デザインツール !
Fritzing ~ P板.com発注
Fritzing ~ P板.com発注‣FritzingでGerber(RS-274X)データをエクスポート ‣10種類のガーバーデータを出力 ‣※ガーバーデータは、基板製造用のフィルムを作成するためのデータ !‣事前に上記データでOKかどうか問い合わせ → OK !‣P板.comでの(二層)基板製造サービスに必要なデータ Gerber(RS-274X) ‣部品面パターン copperTop.gtl ‣半田面パターン copperBottom.gbl ‣部品面レジスト silkTop.gto ‣半田面レジスト silkBottom.gbo ‣部品面シルク maskTop.gts ‣半田面シルク maskBottom.gbs ‣外形線図 contour.gm1 ‣ドリルデータ&ドリルリスト mozzi_s_drill.txt !
‣Fritzingで、特に特別な設定等なく、書き出したデータで基板発注ができた !!
mobileBB shield for Mozzi
よろしくお願いします。 !twitter @BreadBoardBand !!Web http://www.breadboardband.org !Github http://www.github.com/breadboardband