忍者ブログ

マイコンとか自作 MIDI 音源とか (旧 segtter's core dump) http://segtter.iza-yoi.net/

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

音源プロジェクト進捗.
過去に mbed 用に書いていた音源クラスを,固定シーケンスからリアルタイム制御対応へ書き直す作業が完了した.

計画当初から,この音源ハードウェアでは,機能を
  • Conductor (MIDI 受信・解釈,演奏情報送信)
  • Performer (演奏情報受信,発声)
の二つに分割し,別々のマイコンにやらせるという事だけを念頭に置いてきた.これは処理性能の問題でそうしたほうが良いものができるだろうという判断のためである.
しかし現在は当初の計画と異なり,プロトタイピングを理由に mbed を利用している.御存知の通り,96 MHz で動作する Cortex-M3 コアを搭載しているマイコンボードだ.Arduino からマイコンや電子工作を始めた身としては,32 ビットプロセッサの性能を「正直甘く見ていた」かもしれない.コードレベルで最適化をほとんど考慮していないにもかかわらず,結構処理性能には余裕があることがわかった.

mbed を使うならば,上記の両方の機能を 1 台にまとめてやらせてはどうか.
もちろん複数のマイコンを並べたほうが性能に余裕が出来,同時発音数などのスペックを引き上げられるのは確かだが,小規模なもので良ければ,こういった解決法も悪くはないのでは?

というわけで,Conductor 専用プログラムに着手する前に,通信処理を行わず単一のプロセッサ内で完結するバージョンを作ってみることにした.これが何和音対応できるのかは見当が付かないので,まずは動かした結果を観測してみようと思う.


mbed と LPF & オーディオ基板 (MARY-CB 基板互換) を載せた実験基板.もしこの案で実用レベルのスペックを確保できたとすれば,この写真に MIDI 入力回路を加えただけで音源モジュールが作成できそうだ.

7/9 追記:
とりあえず 1 台の mbed 上ですべての処理を完結させたバージョンが動いた.12 和音 @ 40 kHz に対応する処理能力があることを確認.思ったよりも余裕があった.もっとも,現状の実装ではノート・オンまたはオフ以外の大半のメッセージを読み飛ばしているので,音色すら変えられない.まだまだ MIDI 音源としてはリファインしていく必要がありそうだ.

拍手[0回]

PR
この記事にコメントする
お名前
タイトル
メールアドレス
URL
コメント
パスワード
プロフィール
HN:
KX89
性別:
男性
P R
Copyright 電子工作帳 by KX89 All Rights Reserved.
Template by テンプレート@忍者ブログ
忍者ブログ [PR]