見出し画像

DSP版フォノイコライザ (2)

(昔のブログの再録- 前半はこちら)

さてminiDSPを使ったPHONOイコライザでご機嫌だったのだが、miniDSPって日本では売られてないし、まあ普通に通販で買えるとしてもちょっと敷居が高いかな(英語のサイトだし)。ということで適当な代替品 – そうだいつか買っておいたCQ出版インターフェース誌の別冊があるじゃないか!

ということでこれを使ってみる。

音関係では超がつくほどメジャーなAnalog DevicesのDSP Blackfinをベースにした基板に、開発環境やサンプルや有用な記事がいっぱいついてこの値段!安い!

使うのは8章のサンプル。付属CD-ROMの指示に従ってインストールすると以下の場所にコピーされる。

C:\Program Files (x86)\CuBeatSystems\Blackfin MiniConfig for IFX-49\website\effect_sample\c08_iir_biquad

このフォルダ中の “main.c” の内容を以下のように書き換える。

45: /* IIRフィルタの縦続型のフィルタの数 */
46: #define  NUM_STAGE 2 → 1へ変更

54:行より

/* IIRフィルタの係数 */
static struct iir_biquad iir_coeff[NUM_STAGE] =
{
    /* 1ステージ目 RIAA */
    {
        /* a */
        {
            FLOAT_TO_FR32(  1.732766E+00, FIXED_POINT_DECIMAL),
            FLOAT_TO_FR32( -7.345534E-01, FIXED_POINT_DECIMAL),
        },
        /* b */
        {
            FLOAT_TO_FR32(  1.0E+00,      FIXED_POINT_DECIMAL),
            FLOAT_TO_FR32( -7.555521E-01, FIXED_POINT_DECIMAL),
            FLOAT_TO_FR32( -1.646257E-01, FIXED_POINT_DECIMAL),
        }
    }

太字が差し替えたところ。符号と指数がとても重要なので、間違えないように。

これで、デスクトップ上に作られてるBlackfin Miniconfig Terminal を起動して “make” し、生成された.ldrファイルを書籍の記事に従ってこのDSPボードに書き込んでやれば、DSPで実現したPHONOイコライザが完成する(Windows 8以上だとフォルダに権限を与えるのを忘れないように。そうしないとそもそもmain.cが書き換えられない)。一応ゲインは15dB(1KHz)くらいあるはずだが、一般的オーディオ機器のラインアンプに接続するには足りないので、DSPに入力する前にカートリッジの出力に20dB-30dBぐらいのアンプは必要。筆者の流用マイクアンプだと28dBに設定するとちょっと歪むところもあった(そのLP盤にもよる)。

実際には、Audio TechnicaのAT100Eのせいか、マイクアンプ(は違うと思うけれど)のせいか、かなりハイ落ちっぽくなるので、このプログラム+DSPでフィルタを多段構成にできるのを生かして、2段目にhigh-shelving フィルタを入れて持ち上げてみた。結果は上々だがまだ完璧ではないので、徐々にパラメーターを変えて追い込むつもり。このへん、アナログ回路じゃ超難しいがデジタルでは計算だけでできる。

画像1

(完成したDSP版フォノイコライザ - その後サンプリング周波数を96KHzに変更)

サポート Welcome! いただいたサポートは今後の研究開発や寄付に使わせていただきます。