2012-01-04 3 views
0

私はリアルタイムの音声チャットnode.jsをやっていると思っています。しかし、現在のところ、私が知っているノード用のライブラリはありません。オーディオを録音するには、オーディオデバイスを開いてそこからPCMバイトを読み込むのがよいでしょう。しかし、どうやって進んでいくのか分かりません。私はネットワークのものを制御したいと思っています。私は、既存の接続を介してトラフィックを多重化できるようにしたいので、ネットワーク部分を扱うライブラリも私にとってはうまくいかないでしょう。だから、私は、私は必要なものだと思う:リアルタイムオーディオ(送信と受信の両方)に適したライブラリですか?

(多分非可逆)リアルタイムオーディオ(縮小)圧縮、高速に行うことができているC/C++/JavaScriptライブラリは
  • (多分人間の声を圧縮するために最適化された)
    • C/C++/JavaScriptライブラリは、物事がリアルタイムで維持されることを保証することができます。ジッタの後にデータを落とすことになるかもしれません - おそらくJavaScriptでこの部分を自分で行うこともできます

    これは正常ですか?これらの事のための良い図書館は何ですか?

  • +0

    "C/C++/JavaScript"とはどういう意味ですか? – sergio

    +0

    @sergio:CまたはC++またはJavaScript。 JavaScriptで書かれていれば、私はそれを直接使うことができます。 C/C++で書かれていれば、node.jsのバインディングを書くことができるはずです。 – thejh

    答えて

    2

    "Crosstalk"という名前のC++オーディオライブラリを作成しました。

    リアルタイムでオーディオシステムを作成し、ルーティングすることができるリアルタイムのC++オーディオエンジンです。基本的に、エンジンはすべてのオーディオルーティングを処理し、システムコンポーネントを作成するためのシンプルなプラットフォームを提供します(たとえば、「ファイルレコーダー」に接続された「ローパスフィルター」に接続された「ネットワーク入力フィード」コンポーネント)。

    非常に使いやすいです。ここでmp3ファイルを再生する方法の例は、(これらのコンポーネントはエンジンを備えている)だ:

    XtSystem system; 
    XtMp3Decoder mp3Decoder; 
    XtAudioDevice audioDevice; 
    
    long md = system.addComponent(&mp3Decoder); 
    long ad = system.addComponent(&audioDevice); 
    
    system.connOutToIn(md,0,ad,0); 
    system.connOutToIn(md,1,ad,1); 
    
    mp3Decoder.loadFile("../05 Tchaikovski-Swan Lake-Scene.mp3"); 
    mp3Decoder.play(); 
    

    あなたがここにAPIドキュメントとライセンスの詳細をチェックアウトすることができます:http://www.adaptaudio.com/Crosstalk

    更新:無料のライセンスとの互換性を。

    クロスライセンスのデモ版のみを無料のライセンスソフトウェアと併用することはできますが、商用利用やクロストークの配布は依然として許可されていません。フリーソフトウェアでクロストークデモを使用する場合は、ご使​​用のプログラムがクロストークのデモ版を使用していることをEULAに明記し、ソフトウェアへのリンクを提供する場合は、「http://www.adaptaudio .com/Crosstalk "をダウンロードして、自分でダウンロードすることができます。

    EDIT(2012年1月12日):

    クロストークは、 "DSPatch" と呼ばれるオープンソースプロジェクトに置き換えられました。 DSPatchは本来、音声処理だけに限定されないクロストークの背後にあるルーティングエンジンのアップグレードバージョンです。 DSPatchを使用すると、ほぼすべてのタイプのプロセスチェーンを作成してルーティングすることができ、個人的および独自の使用のために自由に使用できます。

    +0

    ライセンス条件について:フリーライセンスで配布しようとするソフトウェアでは、そのライブラリを使用できません。 – thejh

    関連する問題