問題タブ [libsox]
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.
sox - sox リサンプル ライブラリ API に関する問題
グループ、
目的: sox-resample ライブラリを使用して、入力レート (44.1Khz、2 チャネル、16 ビット) から出力レート (16Khz、1 チャネル、16 ビット) にダウンサンプリングしようとしています。このプロセスに sox-resample ライブラリを使用することは可能ですか。
Sox Resample ライブラリのソースはこちら: http://sourceforge.net/p/soxr/code/ci/master/tree/
私はこのAPIをsoxr_oneshotしてみましたが、生成された出力には入力バッファの元の音声がなく、元の音声入力とはかけ離れた奇妙な音声出力があります。
soxr_create および soxr_process API も試しましたが、正しい出力が得られませんでした。
これらの API (soxr_oneshot、soxr_create、および soxr_process) にチャネル数をダウングレードするオプションがあるかどうか、および 16 ビットまたは 8 ビットを指定できるかどうかはわかりません。
また、sox_create_effect/sox_add_effect などの LibSox API を使用する必要があるかどうか、およびそれがより適切なオプションであるかどうかもわかりません。
soxr_oneshot を使用したサンプル コードを次に示します。何が問題なのか、または何か提案があればお知らせください。
何が間違っているのか、何か提案があれば教えてください。
c - libsox を使用した wav ファイルのダウンサンプリング
Sox ライブラリ C プログラム ( http://sox.sourceforge.net/ )を使用して、16KHZ 16 ビット署名付き PCM エンコードされた wave ファイルを 8KHz 8 ビット mu エンコード wav ファイルに変換しようとしています。PCM から mu への変換は正常に機能しています。しかし、ダウンサンプリング効果を適用すると、出力ファイルの長さは i/p ファイルのちょうど半分になります (以下を参照)。投稿で言及されている手法を使用しました sox Cライブラリによるフォーマット変換を行うときにサンプルレートを変更する方法? しかし、それは私を助けませんでした。
以下のコードを実行すると、警告が表示されます
出力:
コード:
コンパイルと実行:
audio - sox - ビットレート16kbpsのmp3ファイルの作り方
現在使用されているコマンドは
しかし、これはビットレート 24.0 kbps のファイルを作成しています。
出力ファイルのビットレートを16.0kbpsにする方法は?
c++ - soxr を使用したリサンプリング時のアクセス違反
次のコードを機能させるのに問題があります。
PCM ショート データ (input
オブジェクト)が入ってくるのでspeed
、ご覧のように元のサンプルレートを掛けた値にリサンプリングする必要があります (44100 が標準です)。またnumframes
、送信したデータのブロックからのフレーム数です (これはステレオです)
問題は、メソッドを実行するとアプリケーションがクラッシュすることsoxr_process()
です。メソッドからのエラーはないように見えるsoxr_create()
ので、それが何であるかはよくわかりません。
私は現在、サウンドを高速化しようとしているだけなので、リサンプル後にすべてを保持するのに十分な大きさの出力バッファをオリジナルと同じ大きさにしました。
どうすればこの問題を解決できますか? soxr_process()
メソッドに間違った値を指定しましたか?
編集:
私もこの方法で試しました:
しかし、それも Access Violation エラーをスローします。
前もって感謝します!
python - Pythonを使用したfftの計算
Python で使用wave
することにより、.wav オーディオ形式を読み取ることができ、信号の周波数と電力を計算できます。しかし、.mp3 オーディオ形式の周波数を直接計算したいのです。Pysoxについて少し聞いたことがあります。Pysox はフレームを読み取ることができますか? Pysox を使用して fft と周波数を計算できますか? または、Python を使用して MP3 ファイルの周波数を計算できる他のソフトウェアはありますか?