Pythonで学ぶ音声言語処理
Daniel Bourke
Machine Learning Engineer/YouTube Creator
# 認識器クラスを作成 recognizer = sr.Recognizer()# 日本語音声を recognize_google に渡す text = recognizer.recognize_google(japanese_good_morning, language="en-US")# テキストを出力 print(text)
Ohio gozaimasu
# 認識器クラスを作成 recognizer = sr.Recognizer()# 日本語音声を recognize_google に渡す text = recognizer.recognize_google(japanese_good_morning, language="ja")# テキストを出力 print(text)
おはようございます
# ヒョウの鳴き声の音声を読み込む leopard_roar = sr.AudioFile("leopard_roar.wav")# AudioFile を AudioData に変換 with leopard_roar as source: leopard_roar_audio = recognizer.record(source)# AudioData を認識 recognizer.recognize_google(leopard_roar_audio)
UnknownValueError:
# ヒョウの鳴き声の音声を読み込む leopard_roar = sr.AudioFile("leopard_roar.wav")# AudioFile を AudioData に変換 with leopard_roar as source: leopard_roar_audio = recognizer.record(source)# show_all を有効にして認識 recognizer.recognize_google(leopard_roar_audio, show_all=True)
[]
# 日本語音声を show_all=True で認識
text = recognizer.recognize_google(japanese_good_morning,
language="en-US",
show_all=True)
# テキストを出力
print(text)
{'alternative': [{'transcript': 'Ohio gozaimasu', 'confidence': 0.89041114},
{'transcript': 'all hail gozaimasu'},
{'transcript': 'ohayo gozaimasu'},
{'transcript': 'olho gozaimasu'},
{'transcript': 'all Hale gozaimasu'}],
'final': True}
# 複数話者の音声ファイルを読み込む multiple_speakers = sr.AudioFile("multiple-speakers.wav")# AudioFile を AudioData に変換 with multiple_speakers as source: multiple_speakers_audio = recognizer.record(source)# AudioData を認識 recognizer.recognize_google(multiple_speakers_audio)
SpeechRecognition ライブラリの制限の一つは、
話者や声の違いを識別せず、すべてを一つのテキストとして返すことです。
# 音声ファイルを個別に読み込む speakers = [sr.AudioFile("s0.wav"), sr.AudioFile("s1.wav"), sr.AudioFile("s2.wav")]# 各話者を個別に書き起こす for i, speaker in enumerate(speakers): with speaker as source: speaker_audio = recognizer.record(source) print(f"Text from speaker {i}: {recognizer.recognize_google(speaker_audio)}")
Text from speaker 0: one of the limitations of the speech recognition library
Text from speaker 1: is that it doesn't recognise different speakers and voices
Text from speaker 2: it will just return it all as one block a text
# 背景雑音のある音声を読み込む noisy_support_call = sr.AudioFile(noisy_support_call.wav)with noisy_support_call as source: # 周囲雑音を補正して録音 recognizer.adjust_for_ambient_noise(source, duration=0.5) noisy_support_call_audio = recognizer.record(source)# 音声を認識 recognizer.recognize_google(noisy_support_call_audio)
hello ID like to get some help setting up my calories
Pythonで学ぶ音声言語処理