Intel Edison でサウンド再生・録音 [現状]
[ 2015-03-05 ]
Edison で、サウンドの再生・録音を行ってみました。
前回のメール送信と同じ開発環境で、イメージを作成しています。
サウンド用のパッケージを「edison-src/device-software/meta-edison-distro/recipes-core/images/edison-image.bb」ファイルへ
IMAGE_INSTALL += "alsa-utils alsa-tools"
と指定して、bitbake します。(一部の必要な ALSA パッケージは、既に指定されています。)
この新たに作成したイメージを Edison に書き込み、サウンドの再生・録音確認を「響音 4」と「Sound BLASTER PLAY! 2」で行います。
~ 響音 4 の場合 ~
サウンドデバイスとして、手元にあった「響音 4」を使用してみました。("4" は 2008 年頃からあるデバイスで、「fon」やスマートフォンなどでも使用した実績があります。)
Breakout Board の J16 へ USB のホストケーブルを介して接続します。
認識されているか dmesg、usb-devices、lsusb、cat /proc/asound/pcm、aplay -L などで確認し、最終的に aplay -l で card と device 情報を確認します。
この情報から card "1" の device "0" で、アクセスできることが確認できます。
最初のみ AlsaMixer で、ミュートの解除とボリュームなどの設定を行う必要があるようです。 [F6] キーで該当するデバイスを選択し、[F5] キーで All を指定し値を設定します。("Auto Gain Control" も "ON" にしています。)
適当な音源を再生してみます。(device の ",0" は、省略できます。)
標準では音が悪いですが、aplay から助言された "plug" を試すと良くなりました。
次に PC 用のヘッドセットを接続して、録音を確認します。
フォーマット(Signed 16 bit Little Endian)も指定しています。
注)終了時間の指定を行っていないので、[Ctrl]-[c] で適当なときに終了します。
これを再生してみても、問題は無いようです。
次に Aquest の音声合成 LSI で再生した音声を、録音してみます。
音声合成の出力を、デバイスのマイク入力へ接続しています。(モノラル出力なので、作成した接続コードで LR 両方へ入出力するようにしています。)
音声合成はバックグラウンドで動作させ、録音をコマンドラインから操作しました。
録音した音声合成を再生してみると、動作周波数 10MHz では発声時にノイズが発生しています。 そこで、セラロックを 16MHz へ変更(CLK16 も High レベルへ)して、同様のテストを行ったところノイズが軽減されました。
~ Sound BLASTER の場合 ~
サウンドデバイスとして、「Sound BLASTER PLAY! 2」を使用してみました。(Sound BLASTER 自体は、PC 用として初期の頃 CD-ROM 接続を兼ねた拡張カードがありました。)
card と device 情報は、デバイスを差し替えたので同じになりました。
AlsaMixer での設定項目は、必要最小限となっています。
~ サウンドデバイス複数接続の場合 ~
USB ハブを介して、それぞれのデバイスを同時に接続すると、
このように認識され、card がそれぞれ "1" と "2" に割り当てられています。
~ 感想 ~
現状の音声合成回路や動作環境・設定値などでは、再生については「響音 4」の方が、録音については「Sound BLASTER PLAY! 2」の方が、それぞれ音質が良いように感じました。 「響音 4」の方は "Auto Gain Control" を "ON" にしているので、その影響もあると考えられます。
様々な調整は、さらに必要ですが、耳だけで調整すると深みに... (^^;
前の関連記事 『 Edison でメール送信 』 |
コメント 0