私は2つのハードウェアPCMを持つLinuxを実行する組み込みデバイスを開発しています4.14.79
。 1つはBluetoothチップに接続され、もう1つはGSM電話に接続されます。
bt-in -> gsm-out
私の目標は、通話を処理するために全二重構成でこれらのストリーム(および)を接続することです。gsm-in -> bt-out
実際、Bluetoothは電話に接続されています。
私のコーデックは機能しており、両方のカードで使用できますaplay
。arecord
私は(パフォーマンスのために)カーネル側でこれらのチャンネルを一緒に接続するソリューションを探しています。これまで私が見つけたもの:
- 差動パルスコード変調:ドライバを交換するためにDTを編集しようとしましたが、まだ
simple-scu-card
互いに通信しない2つの別々の(動作する)カードが残ります。次のステップはサウンドドライバを調整することです。 snd-aloop
:私が知っている限り、私の場合はこの方法は適用されません。私のカードをカードインターフェイスhw:0,0
に接続する方法がわかりません。Loopback
alsaloop
:userspace、しかしうまくいきませんでした。
alsaloop -P hw:1,0 -C hw:0,0 --format S16_LE -c 2 -r 8000 -t 500000
上記のコマンドを実行すると、1フレーム長のカチッと音がしますalsaloop
。また、他の期間とバッファサイズを試してみましたが、変更はありませんでした(xrunに奇妙な値があると予想されます)。まもなく追加テストを行う予定です。
Jack
限られたリソースのためにおよび/または使用を避けたいと思いますpulseaudio
。
私の質問は:以前私と同じ問題を抱えていた人がいて、私にいくつかのリソース/文書/例を提供できる人はいますか?
どんなアドバイスも本当にありがとうございます。
気づく:私はこのトピックを数週間フォローしました。この質問に欠落している情報がある場合はお知らせください。