0

私は、インタラクティブなサウンドアートのインストールを実行する Pd 拡張パッチ (多くの外部を使用するため、追加の構成なしで Pd 拡張で実行/パッチを適用する) があるプロジェクトに取り組んでいます。作曲家/アーティストは、これをマルチユーザーのインタラクティブな Web サイトでオンラインで実行したいと考えています。私の考えは次のとおりです。

  1. Web サーバーで Pd 拡張パッチを実行する
  2. ユーザーに (websockets を介して) パッチを操作してもらいます (機能するようになりました - パッチからのテキスト出力に基づいて、これは機能しています)
  3. オーディオをパッチからユーザーのブラウザにストリーミングする

番号 3 は、私が立ち往生している場所です。PureData からオーディオを取得して、Web ブラウザーにストリーミングできるものにすることができません。昨日、Icecast2 ( http://icecast.org ) を使用する [oggcast~] オブジェクトを使用していましたが、接続しませんでした。私はそれをwebsocketに送信するか、node.jsからsocket.ioまたは何らかのWebRTCライブラリを介して送信することを考えていましたが、それでもPureDataから取得する必要があります。

オーディオをルーティングするサウンドカードがあれば、うまくいくかもしれない解決策を見つけました。ただし、これは単なる Web サーバーであるため、サウンド カードはありません。

多くのオーディオファイルが使用され、一部は非常に長いため、サーバー側である必要があります。また、複数の人が交流し、お互いの交流を聞くことができれば、大きなプラスになります。残念ながら、WebPd およびその他のブラウザー側の PD から JavaScript へのソリューションは提供されていません。

何か案は?

4

2 に答える 2

0

次の手法をお勧めします。

1. modprobe snd-aloop で仮想 alsa デバイスを生成する

$ sudo modprobe snd-aloop
$ # (assuming you already have two soundcards: hw:0 and hw:1)

2. ループデバイスの準備 (オプション)

$ aplay -D hw:2,0,0 Testsong.wav

これにより、ループ デバイスが のような設定に切り替わりますSigned 16 bit Little Endian, Rate: 44100 Hz, stereo。これは、pd が誤ったレートを使用しないようにするのに役立ちます。

3. ループ デバイスで pd を再生する

pd で hw2 に出力します。

4. ffserver を使用してループ デバイスからストリーミングする

2 番目のステップは、ffserver (またはその他のストリーミング サーバー) を使用し、alsa device hw:2,1,0 を使用するように指示することです。

于 2016-11-25T23:39:34.480 に答える