Pythonで学ぶ音声言語処理
Daniel Bourke
Machine Learning Engineer/YouTube Creator
# 音声ファイルを読み込む
wav_file = AudioSegment.from_file("wav_file.wav")
# 60 dB下げる
quiet_wav_file = wav_file - 60
# 小さい音量で認識を試す
recognizer.recognize_google(quiet_wav_file)
UnknownValueError:
# 音量を10 dB上げる
louder_wav_file = wav_file + 10
# 認識を試す
recognizer.recognize_google(louder_wav_file)
this is a wav file
# AudioSegmentを読み込み、正規化をインポート
from pydub import AudioSegment
from pydub.effects import normalize
from pydub.playback import play
# 音量にムラのある音声を読み込む
loud_quiet = AudioSegment.from_file("loud_quiet.wav")
# 音量レベルを正規化
normalized_loud_quiet = normalize(loud_quiet)
# 音を確認
play(normalized_loud_quiet)
# 冒頭にノイズのある音声を読み込む
static_at_start = AudioSegment.from_file("static_at_start.wav")
# スライスでノイズを除去
no_static_at_start = static_at_start[5000:]
# 新しい音を確認
play(no_static_at_start)
# 2つの音声を読み込む
wav_file_1 = AudioSegment.from_file("wav_file_1.wav")
wav_file_2 = AudioSegment.from_file("wav_file_2.wav")
# 2つを結合
wav_file_3 = wav_file_1 + wav_file_2
# 音を確認
play(wav_file_3)
# 2つを結合して音量を上げる
louder_wav_file_3 = wav_file_1 + wav_file_2 + 10
# 通話音声を読み込む
phone_call = AudioSegment.from_file("phone_call.wav")
# チャンネル数を取得
phone_call.channels
2
# ステレオをモノラルに分割
phone_call_channels = phone_call.split_to_mono()
phone_call_channels
[<pydub.audio_segment.AudioSegment, <pydub.audio_segment.AudioSegment>]
# 最初の要素のチャンネル数を取得
phone_call_channels[0].channels
1
# 最初のチャンネルを認識
recognizer.recognize_google(phone_call_channel_1)
the pydub library is really useful
Pythonで学ぶ音声言語処理