例によってPCのシリアルMIDI関係の続き。
Windows7に仮想MIDIケーブルLoopBeを導入した
ので、コイツを通してMIDIの送受信ができるのか
を確認する作戦。
YAMAHAの音源内蔵キーボード(MIDIマスターと
しても外付け音源としても動く便利物)と、
以前作ったUART-MIDIのシリアルコンバータ
http://picavr.uunyan.com/avr_m_uart_midi.html
を繋いで、送受信が出来るかどうかを確認してみる。
接続イメージ。
まずは図の黒いほうのルート。PC上のMIDI鍵盤ソフト
で演奏して、外付けのMIDI音源がなるかどうか。
これがうまく行けば、ArduinoでMIDIシンセの音源
を作って、図中のコンバータの代わりにArduinoボード上
のUSBシリアル変換を通して「ケーブル1本」で音が
鳴らせるので、スケッチの確認が簡単に行えるという
目論見。
いざ!
…問題なく鳴るなぁ。バッチリ。OK。
つぎに図の赤いほうのルート。外付けMIDI鍵盤を
弾いて内蔵音源から音がでるかどうか。
いざ!
…なんか微妙。鳴らないわけじゃないんだけど、
鳴らないことの方が多い。
Serial - MIDI converter画面の右下のインジケータ
を眺めると、データが流れるときに緑だけじゃなく
赤でも点滅するんだけど、この赤はなんか意味ある
のかな?ループしちゃってる?
Serial - MIDI converterを通していることが
原因かもしれないので、代わりにオイラ謹製の
http://picavr.uunyan.com/warehouse_midi_mon.html
シリアルMIDIモニタや、バイナリ表示可能な
汎用シリアルモニタソフトを使って通信を
眺めてみる…。うん。問題ない。ちゃんと
届いてる。
Serial - MIDI converterを通す通し方が間違って
いるのかな?Serial - MIDI converter起動時の
設定とか。後で考えよう。
とりあえずPCソフト側から好きなだけMIDI信号を
出力できるようになったので、続いて、
http://ichirowo.com/2011/06/arduino-midi-sound-source/
このサイトのスケッチをArduinoに書き込んで、
圧電スピーカ繋いで鳴らしてみる。
ちゃんと3ポリで演奏できて満足。このスケッチの
解りやすさも、MIDIライブラリの使いやすさも
なかなか。
さて、準備万端整ったところで、スケッチを弄りだす。
作戦はPWMをつかってDDS方式で音声合成し、とりあえず
6ポリで正弦波を出力。
PWMにタイマーを1個、DDS計算のトリガにタイマーを1個、
合計2個使用。Arduinoはタイマー0はシステムで使用
しているので、残りの2つをこれらにまわす。
参考にしたスケッチでは音程のデータを「周波数」で
設定してあるんだけど、DDSだから角速度(ω)に
あわせてテーブルを作り直す。
DDSの計算を毎秒20000回(出力できる音声は
10000Hzまで)として、256点のテーブルなので、
整数部に8ビット(256点)、小数部8ビットと
すれば音程を外さずそこそこ鳴るでしょう。
折角のArduinoなんだけど、タイマー関係をカリカリ
にチューンするライブラリはないので、SFRを直接
弄りまくるしかないな。とりあえずここまで。
http://www.pentax.jp/japan/products/k-01/index.html
ペンタックスのK-01。ほぉ。わかってるねぇ!
さすがオイラのペンタックス。新しいマウントを
持ってこず、Kマウントレンズが使いまくれる
ボデーってところがミソ。
まぁ、メリット/デメリットはあるんだけど、
これはペンタックスユーザにとっていいパッケージ。
ちなみにデメリットはというと、Kマウントの
ミラー有りフランジバックがそのまま踏襲される
ので、レンズ設計の制約がそのまま残ることと、
カメラボデーが分厚くなることかな。
http://www.astroarts.jp/photo-gallery/gallery.pl/special/112
彗星、来てるのか。この明るさだと写ることは
写ると思うんだけど、大口径双眼鏡持って行っても
目で見るのは厳しそうだな。
http://headlines.yahoo.co.jp/hl?a=20120215-00000605-san-soci
「私は文系なので…」って、なんか意味でも
あんのかな?すごい不思議なフレーズ。
そうそう。仮想COMポートのフリーソフトってないの
かなって探してみる。
http://homepage2.nifty.com/nonnon/Link/Null-Modem-Win7.html
64ビット環境だと面倒くさそう。
こっちはどうなんだろう?一緒?
http://www.hhdsoftware.com/free-virtual-serial-ports
仮想COMポートが使えれば、オイラのMIDIモニタソフト
が色々使いまわし出来るんだけどな。
|