2015年4月9日木曜日

CQ出版社から「音遊び!Blackfin DSP基板でディジタル信号処理初体験」が発売されました

■書籍について

CQ出版社から「音遊び!Blackfin DSP基板でディジタル信号処理初体験」が発売されました。


この書籍にはAnalog Devices社のDSP (ADSP-BF592)が搭載された基板が同梱されており、書籍内容に連動して様々なエフェクト処理を体験できる内容になっています。今回の基板はBOOT用のピンヘッダをひとつハンダ付けするだけで、すぐに使い始める事が出来る豪華仕様。従来の付属基板と違って、USBコネクタもオーディオ入出力コネクタも予めハンダ付けされているのです。部品を別途購入する必要が無いのでとても便利!

■書き込みソフトウェア

今回、私は付属基板(IFX-49)のフラッシュ書き込みソフトウェアの設計実装を担当しました。


ソフトウェアはWindows版とMac OS X版を用意し、ビルド済みのバイナリが同梱されています。ソフトウェアからは、使ってみたいエフェクトを選択して書き込み操作を実行するだけで、様々なエフェクトをすぐに体験出来るようにしました。



また、Windows版には書籍に連動してビルドと書き込みが出来るようにソースコードまで同梱しました。セットアップを実行するだけで本当にすぐに使い始められるようになっています。

■オフ会とフォローアップ情報

2015年5月22日(金)には、CQ出版社主催のオフ会も開催されます。
また、 http://cubeatsystems.com/ifx-49/ で様々なフォローアップ情報も公開する予定ですのでお楽しみに!


■関連リンク

2015年4月5日日曜日

新しいユーザーイベント機能が追加されたA tiny MML parserのVersion 0.5.0をリリースしました。(ついでにRaspberry Piのサンプルも追加しました)

先月の事ですが、Make: Japanさんの記事「Arduinoでちょっと長めの音楽を再生する方法」でA tiny MML parserを御紹介頂きました。Make: Japanさんありがとうございます。


記事を眺めていて「実世界と繋がる機能を加えれば、他の要素と組み合わせて動作するシステムを作れるよなぁ」と考えました。要するに「A tiny MML parserは単にシーケンサーエンジンである」と考えるならば(まぁ、まさにその通りですが・・・)、シーケンサーが出すイベントに応じて外界を制御するグル―ロジックを付け加えるだけで、様々なコンポーネントを制御するシステムになる・・・というわけです。

そこで、A tiny MML parser Version 0.5.0では、新しくシンプルなユーザーイベント機能を搭載する事にしました。このユーザーイベント機能は、MML文の中に@{MY_EVENT}のように@で始まり{}で括った文字列を書いておくと、ユーザーコールバック関数に「'MY_EVENT'というユーザーイベントだよ!」と通知をしてくれるというものです。


今回のユーザーイベント機能を使うと、例えば以下のような事が簡単に実現できます。
  • 曲の演奏に合わせてLEDを光らせる。
  • 曲の演奏に合わせてモーターを動かす。
  • 曲の演奏に合わせて音色を切り替える。
  • 曲なんて鳴らさずに、イベントシーケンサとして使用する。
  • その他色々。
以下に示すのは、イベント文字列に応じて、サーボを制御する実装例です。
加えて、シリアル通信にイベントを通知しています。


曲の演奏状態に合わせてサーボを動作させる事が出来れば、MMLパペットが作れますね。 :)


非常にシンプルな機能ですが、従来のバージョンではユーザーアプリケーション側で何らかのトリックを加えて対応する必要があり、ちょっと何かこのタイミングでという簡単なニーズを手軽に実現する手段がありませんでした。今回の新しいバージョンに加わったユーザーイベント機能によって、曲の進み具合に合わせて、何かしらの処理をしたいという時に、本当に簡単に処理できるようになりました。やったね。


あと、今回のパッケージからRaspberry Piのサンプルも同梱する事にしました。Physical Pin 15 http://pi.gadgetoid.com/pinout/pin15_gpio22 にピエゾスピーカーを取り付けると演奏を楽しめます。こちらのサンプル、実は改良が必要なのですが、これはまた後日・・・やるかどうかわかりませんが・・・。


ダウンロードは http://www.cubeatsystems.com/firmware/tinymml/download.html からどうぞ。