音声を適切なフォーマットに変換する
Acme Studios から、彼らの音声ファイルについて詳しく知るための PoC(概念実証)を依頼されました。
少し調べてみると、いくつか通話データがありますが、文字起こしには不適切なファイル形式で保存されています。
多くの音声ファイルを扱うことになるので、まずはヘルパー関数を作るところから始めます。
最初の関数 convert_to_wav(filename) はファイルパスを受け取り、PyDub を使って非 WAV 形式から .wav 形式へ変換します。
作成できたら、この関数を使って Acme の最初の通話である call_1.mp3 を .mp3 形式から .wav に変換します。
PyDub の AudioSegment クラスはすでにインポート済みです。非 WAV ファイルを扱うには ffmpeg が必要になる点を忘れないでください(docs)。
この演習はコースの一部です
Pythonで学ぶ音声言語処理
演習の手順
AudioSegmentのfrom_file()を使ってfilename引数を読み込みます。- エクスポート形式を
"wav"に設定します。 - 変換対象の音声ファイル
call_1.mp3を関数に渡します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Create function to convert audio file to wav
def convert_to_wav(filename):
"""Takes an audio file of non .wav format and converts to .wav"""
# Import audio file
audio = AudioSegment.____(filename)
# Create new filename
new_filename = filename.split(".")[0] + ".wav"
# Export file as .wav
audio.export(new_filename, format=____)
print(f"Converting {filename} to {new_filename}...")
# Test the function
convert_to_wav(____)