2018/12/11(火) [n年前の日記]
#2 [pc] soxを試用
sox というツールを使って、サンプリングレートを1920Hzにできそうか、リサンプリングを試してみたり。環境は Windows10 x64 + sox 14.4.2。
_SoX - Sound eXchange | HomePage
-r N でサンプリングレートの指定、--norm でノーマライズの指定、だろうか。
-b N オプションで8bit等に変換できるようで。もしや 4bit も変換できるのかなと試してみたけれど。
出力された wav は、Python + Pydub ではエラーが出て開けなかった。ffmpegが呼び出されたものの変換不能と言われてしまう。
真空波動研Lite というツールで確認してみたところ…。
余談だけど、ADPCM というのは、絶対値じゃなくて前の値からの差分を記録していく方法。DPCMは差分の変化幅が一定だけど、ADPCMは差分の大小で幅を変えて記録する、のではなかったかな…。以下のページの図が分かりやすい、ような気がする。
_ADPCMの実験
_音声圧縮処理の基本 ―― 音楽CDやWAVファイルで使われている波形符号化方式|Tech Village (テックビレッジ) / CQ出版株式会社
_SoX - Sound eXchange | HomePage
-r N でサンプリングレートの指定、--norm でノーマライズの指定、だろうか。
sox input.wav -r 1920 --norm output.wavこれで変換できた。変換後の音質は、Audacityのソレと似た感じ。
-b N オプションで8bit等に変換できるようで。もしや 4bit も変換できるのかなと試してみたけれど。
sox input.wav -r 1920 -b 4 --norm output.wav
出力された wav は、Python + Pydub ではエラーが出て開けなかった。ffmpegが呼び出されたものの変換不能と言われてしまう。
真空波動研Lite というツールで確認してみたところ…。
[out.wav] Microsoft ADPCM 1.92kHz 4Bit 1ch 7.86kb/s [RIFF(WAVE)] 00:00:00.520 (0.520sec) / 602Bytes 真空波動研Lite 160508 / DLL 160508 Unicode4bitではあるけれど、PCMじゃなくてADPCMになっているようで。wavファイルは、そんなフォーマットも含めることができるのか…。
余談だけど、ADPCM というのは、絶対値じゃなくて前の値からの差分を記録していく方法。DPCMは差分の変化幅が一定だけど、ADPCMは差分の大小で幅を変えて記録する、のではなかったかな…。以下のページの図が分かりやすい、ような気がする。
_ADPCMの実験
_音声圧縮処理の基本 ―― 音楽CDやWAVファイルで使われている波形符号化方式|Tech Village (テックビレッジ) / CQ出版株式会社
[ ツッコむ ]
以上です。