Pythonでプログラムでwavファイルを分割しようとしています。stackoverflow のヒントと Python wave モジュールのドキュメントに基づいて、次のことを行っています
import wave
origAudio = wave.open('inputFile.wav','r')
frameRate = origAudio.getframerate()
nChannels = origAudio.getnchannels()
sampWidth = origAudio.getsampwidth()
start = float(someStartVal)
end = float(someEndVal)
origAudio.setpos(start*frameRate)
chunkData = origAudio.readframes(int((end-start)*frameRate))
chunkAudio = wave.open('outputFile.wav','w')
chunkAudio.setnchannels(nChannels)
chunkAudio.setsampwidth(sampWidth)
chunkAudio.setframerate(frameRate)
chunkAudio.writeframes(chunkData)
chunkAudio.close()
さまざまな開始値と終了値を繰り返し処理し、この方法で元のファイルからオーディオのチャンクを抽出します。奇妙なことに、この手法は一部のチャンクでは問題なく機能し、他のチャンクではガベージ ホワイト ノイズが生成されます。また、どの開始位置と終了位置がホワイト ノイズを生成するかについて明確なパターンはなく、入力ファイルに対して一貫して発生するだけです。
この種の行動を以前に経験した人はいますか?または、私が間違っていることを知っていますか?プログラムでオーディオ ファイルを分割するより良い方法についての提案を歓迎します。
前もって感謝します。