2011-07-19 48 views
1

私は現在、AsteriskとPHP Webインターフェイスとのテレフォニー統合に取り組んでいます。私は、ユーザーにwavファイルで独自のカスタム挨拶をアップロードするオプションを与えたいと思っています。そしてそれがサーバー上にあると、wavを8000hzのgsmファイルに変換します。現在、私はこれを達成するためにsoxを使用しようとしています。SOXを使用した16ビットWAVからGSMへの変換

しかし、8khz savからgsmに変換するときのように、gsmファイルがひどく歪んでいるようです。これは、ファイルの速度を10倍に低下させるようなものです(wav形式の3秒のイントロは30秒のgsmファイルに変わります)。速度とリサンプリングの組み合わせを試してみました。理想的には、私はアップロードされたwavファイルを取り込み、それを正しくエンコードするようにユーザにあまり責任を負わせることなく、変換したいと思います。私は間違いなくオーディオファンではないので、誰かが正しい方向に私を指すことができれば、それは非常に高く評価されるだろう。

+0

を使用しては何ですか現在使用しているコマンドライン引数は何ですか? –

答えて

0

私はsoxで変更を分割して1つのコマンドで次々とパイプする必要があるケースを見ました。

sox cmdはどのように見えますか?

最初にwavを8khzに変換してから、トランスコードして、1つのSOXコールからの出力をもう一方にパイピングすることはできますか?

+0

さて、私が 'sox -r 8000 intro.wav intro.wav'のようなことをすると、ファイルサイズが小さくなり、再生時に何も聞こえません。 – tdk2fe

+0

私には試してみるためのサンプルオーディオファイルがありますか?gsmに変換するコマンドは何ですか? –

2

これは私が(正常に動作します)8ビットのモノラル.gsmファイルへの定期的な16ビットの.wavファイルを変換するのに使用するコマンドです:

sox input.wav -r 8000 -c1 output.gsm lowpass 4000 compand 0.02,0.05 -60,-60,-30,-10,-20,-8,-5,-8,-2,-8 -8 -7 0.05 
+0

それは私のためにも完璧に動作します、ありがとう! –

0

私は

sox foo.wav -r 8000 -c1 foo.gsm resample -ql 
+0

これはUbuntu 15.04 SoX v14.4.1で失敗します – Paullo

関連する問題