So-net無料ブログ作成
検索選択

Rapiroのサウンド再生でハマりまくる [ロボット]

いや、正確には Wolfson Audio Card なのですが。
というかLinuxでのサウンド再生方法・・・

しかしまず見よ。
コレをやりたかったのだ!



ガンダムの駆動音。
やっと出来た・・・

コレをやりたいが為に、一体どれほどの時間を費やしただろう・・・


で、サウンド再生の話。
以前書きましたが音楽の再生は今までGUIアプリを使ってやってたのです。
しかしプログラムから叩くために、コマンドラインから再生させようとしてたのですがコレがまたなかなかうまくいかない・・・

どうやらLinuxではサウンド関連はALSA(Advanced Linux Sound Architecture)とかいうのを使うらしい。
いろいろぐぐってみると aplay を叩けば再生できるらしいのだが・・・

エラーが。
aplay: set_params:1087: Channels count non available

なにこれ?
これに一週間以上悩んでねぇ・・・




ぐぐってもよくわからないし、そもそもLinuxのサウンド関連なんか知らないので他のコマンド使うのかなぁとか色々探したり。
ま、他にもあるんだろうけど。

完全に情報の海で迷子になり長いこと銀河漂流・・・


結局、モノラルの.wavファイルだと再生できない?
というかチャンネル数が合ってないとダメ?

・・・
ステレオ2チャンネルの.wavファイルを使ってみると・・・
あ、あっさり再生した・・・

何だよソレ・・・
そういうことかよ・・・
気付かなかったよ・・・


ま、コマンドラインから音が鳴るようになったからよし!


が、さて次の問題が。

どうやらサウンドの再生は一つずつしかできない?

試しにコンソールを二枚開いてそれぞれから叩いてみたら、一つが再生中だともう一つは

$ aplay -Dhw:0 tantantanuki.wav
aplay: main:682: audio open error: Device or resource busy

ビジーなので再生できない・・・と。

んー。
ロボットの駆動音とかに使うので、できれば複数同時再生がいいなぁ。

しかしこれは多重再生とかで検索してあっさり解決。
ミキサーの設定をすればいいらしい。

ここのサイトを見ながら設定してみる。
http://wikiwiki.jp/tetsuya/?asoundrc

.asoundrcに以下を記述。

pcm.!default {
    type plug
    slave.pcm "dmixer"
}

pcm.dmixer {
        type dmix
        ipc_key 1024
        slave {
                pcm "hw:0,0"
                period_time 0
                period_size 1024
                buffer_size 4096
                rate 44100
        }
        bindings {
                0 0
                1 1
        }
}

最後のbindingsって何だろう・・・?
いらないのかな・・・?

ん、しかし出来た。
こんな感じ。



ちと元の.wavファイルのボリュームが小さいな。


ところでミキサーの設定したらモノラルも再生できるようになって最初の問題も解決した。

そういやどっかで書いてた気がするなぁ・・・
ミキサーの設定しろって・・・
英語で。

むぅ・・・


最後にRapiroのpythonのプログラムをちょこっと修正。

        elif data[7] == '04': #UP
                sys.stdout.write('You pressed the UP button\n')
                subprocess.Popen(["aplay","gundam01.wav"])
                com.write("#M1")

こんな感じでコマンド送るときに駆動音を鳴らす。

で、出来たのが最初の動画。


たったこれだけなのに、長い道のりだった・・・


nice!(0)  コメント(3) 

nice! 0

コメント 3

やま

再生成功おめでとう。
よかったです。

by やま (2014-06-16 22:28) 

ぼんくらぼんぼん

ありがとうございます。
おかげさまで何とか。
by ぼんくらぼんぼん (2014-06-16 22:42) 

たぶろ

ubuntuで同じ問題でハマってましたが,おかげさまで解決できました.ありがとうございます!
by たぶろ (2015-01-26 20:43) 

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。