ラベル DSP の投稿を表示しています。 すべての投稿を表示
ラベル DSP の投稿を表示しています。 すべての投稿を表示

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/ で様々なフォローアップ情報も公開する予定ですのでお楽しみに!


■関連リンク

2014年6月30日月曜日

Windows、Mac OS、Linuxで動作可能なChaNさんのFM音源モジュールの簡易シミュレーター

http://elm-chan.org/junk/32bit/nxpdip.html#fmに掲載されたFM音源の実験で掲載されたコードは、移植性が高く小規模なマイコンでも動作する上、極めて素直に実装されていて「これは凄い!」と驚くばかりです。あぁ、優秀な人はこうやって設計実装できるんだなぁと実装の各所を見て感じました。


さっそく私も、金子システムのTUNA-CANなどに移植してFM音源の動作を楽しんでいるのですが、ここで移植の過程で最初に作ったシミュレーターのコードを掲載する事にしました。


ここからダウンロード


このコードはWindows、Mac OS、Linux上でコンパイル可能。出来上がったバイナリに出力WAVファイル名を与えると、エレピが単音で発音されるWAVファイルが出来上がります。Audacityで開いた時の様子は以下。


シミュレーターというにはお粗末な感じですが、これにChaN氏が作ったようなフロントエンドを被せれば立派なFM音源ソフトになります。マイコンをベースにしていると、あちこちに持ち歩くのも面倒ですが、PCベースなら色々な実験も楽!というわけです。

あぁ、楽しいなぁ!

2012年9月19日水曜日

オーディオ信号処理で学ぶDSP


堀江誠一さんのお書きになったInterfaceの記事についてバックナンバーを調べました。

現在、BlueTank BF592を使ったごにょごにょ信号処理をしているのですが、知りたかったあれやこれやがこの連載に満載になっていました。

Jan. 2007 第1回:DSPでループバックとカラオケを作ろう
Feb. 2007 第2回:FIRフィルタを使ってみよう
Mar. 2007 第3回:高速なIIRフィルタの解説と実装
Apr. 2007 第4回:Blackfinの周辺機能制御と割り込み
July 2007 第5回:I2CポートでA-Dコンバータを制御する
Sept. 2007 第6回:エフェクタを作ってみる(あふれと飽和)
Oct. 2007 第7回:Sin波を作る(テーブル参照のテクニック)
Dec. 2007 第8回:複素信号処理
Feb. 2008 第9回:DSPでソフトウェア無線を実現する(複素信号処理に基づいたSDRの作成)

DSPを使った信号処理に興味のある人は必見です。
Interface誌のバックナンバーはこちらからどうぞ。

2012年9月13日木曜日

BlueTank BF592 FFT Graphical Spectrum Analyzer

Analog Devices社Blackfin BF592搭載オーディオ・プラットフォームBlueTank BF592を使ったグラフィカル・スペクトラム・アナライザーです。



2x8文字のLCDですが、都合の良い事に8文字のユーザ・フォントを登録する事ができます。
1文字1バンドで考えてしまうと8バンドしか表示できません。

でも、1ピクセル1バンドとして考えると5ドットx8文字で最大40バンドの表示が可能になります。
この基板設計時に考えた事をようやく実現する事ができました。
8文字表示のLCDを選択したのは、単に「コンパクトだから」というわけではなかったのです。

今回のサンプリング周波数は48,000[Hz]でFFT計算サイズは64です。
なので周波数軸での分解能は750[Hz]という事になります。

750[Hz]の分解能で40バンドまで表示できる事を考えると、ナイキスト周波数の範囲まで十分に表示できる事がわかります。
FFT計算サイズの内部定義を一行書きかえるだけで、表示側も連動するように実装しました。
折り返し成分を表示しないようなガードも入れてあります。

BlueTank BF592に対するオーディオ・フレームワークの実装もかなり進みました。
上記のコードはフレームワーク層のコードを除くとコメントを含んで約300行の実装で済みます。
(コメントが何行なんだ!)

アプリケーション共通の処理は全てオーディオ・フレームワーク側に隠ぺいしました。
main.cみたいな小さなアプリケーションの実装のみで上記のような処理を実現する事ができます。

ちなみに、上記のアプリケーションは天ノ岩戸のmayaさんが実装したFFTアナライザを改造して作りました。この場を借りてお礼申し上げます。

そして、オーディオ・フレームワークについてはDSP空挺団の酔漢さんの作られたUZUMEにかなり影響を受けています。最初はUZUMEのミニマム・プラットフォームとしてBlueTank BF592を仕立てる計画でしたが、似ても似つかない物になってしまったのでもじってUZURAというフレームワーク名を付けました。変なフレームワークで本家や市場に混乱や迷惑をかけない措置です。

ちょっと借り物競走みたいなプロジェクトになってきましたが、まだまだBlueTank BF592遊びは続けようと考えています。

2012年8月17日金曜日

オーディオ・プラットフォームBlueTankの始まりとUZUMEオーディオ・フレームワーク

まえがき

先日からBlueTankだとか何とか書いていて、経緯を知らない人にとっては「何を言っているの?」という感じです。この記事では、オーディオ・プラットフォームBlueTankの始まりとUZUMEオーディオ・フレームワークについて触れたいと思います。

前々からオーディオ装置の開発をやりたいなぁと考えているわけですが、それっぽい入口を仕立てる度にシェルを作るのに忙しくなったり、デバッグ用ツールを作るのに忙しくなったりと何をやっているんだという状態です。

そうは言えども、徐々に何をどう進めようかという指針が明確になってきました。

まずは下回りを固めようという事でオーディオを簡単に扱うためのフレームワークを構築しようと考えるわけですが、実はDSP空挺団をホストされている酔漢さんが既に完成度の高いフレームワークを構築されています。

ということで、後はお手頃なハードウェア・プラットフォームを構築して、その上でフレームワークを使って楽しめば良いじゃないかとなるわけなのです。

ハードウェア・プラットフォーム

以前にBlackTankを設計した時に面倒な思いをして、「これを続けるのは大変だなぁ」と考えていました。
もっと手軽なプラットフォームで開発したいと考えたわけです。

そこに現れたのが金子システム社のDSP基板です。
お値段とサイズがコンパクトなのでほぼリスクなし。


こいつを載せるベース基板を作りさえすればスタートできるなぁと考えていました。
で、作ってみたのが以下の写真・・・。(え?)


基板マニアの私としては、この手作り感がどうしても許せません。
そして、複数個作れと言われても作る気になれません。
要するに、手作業でユニバーサル基板に配線する事に手軽さを感じませんでした。

結局のところ簡単なベース基板を設計する事にしました。
それがBlueTankとなったのです。
とはいえ、DSP基板上にほとんど必要な部品が搭載されているため、ベース基板の回路はスカスカです。


BlueTankで実現するかどうかわかりませんが、装置モノとして筺体設計も考えています。
BlueTankの基板はTAKACHIのLCS135-Hに収まるように設計してあります。


UZUMEオーディオ・フレームワーク

UZUMEオーディオ・フレームワークは、オーディオ処理に必要なリアルタイム制御部分を遮蔽し、オーディオの処理のみに注力できるように考えられているフレームワークです。


フレームワークでは、予め想定された用途の範囲でAPIが整備されています。

一部はBlueTankに適用できないので、対応はこれから考えますが、UZUMEオーディオ・フレームワークの比較的小さなプラットフォームの部類にBlueTankを該当させたい考えです。

「コンパクトなハードウェアで各種オーディオ処理の実験が可能!」というのがBlueTankの位置付けでしょうか。

プロジェクト・ページ


オーディオ・プラットフォームBlueTankにも、UZUMEオーディオ・フレームワークにも、プロジェクト・ページが存在します。興味のある人は訪れてみて下さい。