1

音声検出システムに導入する前にsoxを使用してオーディオをリサンプリングしていますが、バージョン14.3のsoxで問題が発生し、デフォルトでリサンプリング操作に自動ディザリングが追加されています。これは望ましくありません。

-D新しいフラグを使用して無効にすることができるため、常にsox≥14.3を使用していることがわかっていれば、これは問題にはなりません。

sox original.wav -Dr 8000 new.wav

ただし、sox≥14.3を使用することを保証することはできないため、必要に応じて-Dフラグを指定する方法が必要ですが、それ以外の場合は省略します(認識されない場合はエラーになるため)。

何か案は?

4

1 に答える 1

0

私の最初の考えは次のようなものです。

# assume -D flag is available to disable automatic dithering
sox original.wav -Dr 8000 new.wav
# if -D flag isn't available (sox < 14.3), then dithering isn't automatic
if [$? -ne 0]; then
   sox original.wav -r 8000 new.wav
fi

バージョン番号を確認することはおそらく苦痛であり、将来性があまりないように思われたので。

唯一の主な欠点は、他のエラーが発生した場合に、操作が2回試行されることです。

于 2009-11-20T03:13:11.740 に答える