問題タブ [opus]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - Portaudio+Opusエンコーディング/デコーディングオーディオ入力
私はPortaudioとopusを使用してVOIPクライアントに取り組んでいます。フレーム内のマイクから読み取ります-Opusで各フレームをエンコードしてリストに入れます-リストの最初の要素をポップしてデコードします-portaudioで読み取ります
サウンドをエンコードせずに同じことを行うと、うまく機能します。しかし、Opusを使用すると、音が悪くなり、音声が理解できなくなります(これは、VoIPクライアントにとっては悪いことです)。
Opusを使用する必要があるライブラリを変更できません。サンプルレートは48000、バッファあたりのフレーム数は480で、モノラルとステレオで試してみました。
私は何が間違っているのですか?
c++ - Opus オーディオ データのデコード
Opus ファイルを元の 48 kHz にデコードしようとしています。ただし、それを行うためのサンプル コードが見つかりません。
私の現在のコードはこれです:
「エンコードされた」という引数は、より大量のデータになる可能性があるため、フレームに分割する必要があると思います。どうすればそれができるかわかりません。
そして、Opus の初心者である私は、何かを台無しにすることを本当に恐れています。
誰か助けてくれませんか?
python - Python : PortAudio + Opus エンコーディング/デコーディング
Pyaudio でマイクからオーディオをキャプチャし、opus コーデックでエンコード/デコードしようとしています。SvartalF ( https://github.com/svartalf/python-opus ) によって作成された libopus へのバインディングを使用しています。
これが私のコードです:
orchunk*2
の代わりにchunk
入れなければなりませんが、理由がわかりません。data.append(streamin.read(chunk*2))
DECDATA LENGTH == DATA LENGTH*2
出力:
エンコード/デコードがなければ、最初のstreamout.write(''.join(data))
ものは完全に機能します。エンコード/デコードでは、streamout.write(decdata)
ちょっと動作しますが、多くのパチパチ音が混ざっています.
ここで何が間違っていますか?
encoding - Opusファイルでパケットサイズを読み取る方法は?
VBR オプションを有効にして「opusenc」を使用して、音声サンプル (*.WAV 形式) を *.opus ファイルにエンコードしています。エンコードが正常に完了すると、opus エンコーダーはレポート ブリーフィング XXX 個のパケットを YY ページに、パケット サイズの範囲をバイト単位で返します。
ただし、これよりも多くの情報が必要です。もちろん、エンコードされたパケットの正しい順序で、結果の opus ファイル内の各パケットの実際のバイト数を知りたいです。
最小限のプログラミングで目標を達成するのを手伝ってくれる人はいますか? 必要な情報を提供する opus ファイル アナライザーまたはプレーヤーはありますか?