\

Pythonを使ってWAVファイルをトリミングする方法について説明します。ここでは、scipynumpyを使用してWAVファイルを読み込み、特定の部分を切り取る方法を示します。

まず、scipy.io.wavfileを使用してWAVファイルを読み込みます。

import scipy.io.wavfile
fs1, y1 = scipy.io.wavfile.read(filename)

次に、トリミングしたい部分の開始と終了の時間を指定します。この例では、7.2秒から19.8秒、35.3秒から67.23秒、103秒から110秒の部分を切り取ります。

l1 = numpy.array([ [7.2,19.8], [35.3,67.23], [103,110 ] ])
l1 = ceil(l1*fs1)  # WAVファイルのインデックスに変換します

最後に、指定した部分を切り取り、新しいWAVファイルを作成します。

newWavFileAsList = []
for elem in l1:
    startRead = elem[0]
    endRead = elem[1]
    if startRead >= y1.shape[0]:
        startRead = y1.shape[0]-1
    if endRead >= y1.shape[0]:
        endRead = y1.shape[0]-1
    newWavFileAsList.extend(y1[startRead:endRead])

newWavFile = numpy.array(newWavFileAsList)
scipy.io.wavfile.write(outputName, fs1, newWavFile)

以上のコードを使用すると、指定した部分を切り取った新しいWAVファイルを作成することができます。この方法は、音声データの特定の部分を取り出すための基本的な手法であり、さまざまな音声処理タスクに応用することができます。Pythonの強力なライブラリを活用することで、複雑な音声処理タスクも簡単に実現することが可能です。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です