Робота з різними типами аудіо

Обробка усного мовлення в 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
Обробка усного мовлення в Python

Яка мова?

# Створіть розпізнавач
recognizer = sr.Recognizer()

# Передайте японське аудіо в recognize_google text = recognizer.recognize_google(japanese_good_morning, language="ja")
# Надрукуйте текст print(text)
おはようございます
Обробка усного мовлення в Python

Не мовне аудіо

# Імпортуйте аудіо з риком леопарда
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:
Обробка усного мовлення в Python

Не мовне аудіо

# Імпортуйте аудіо з риком леопарда
leopard_roar = sr.AudioFile("leopard_roar.wav")

# Перетворіть AudioFile на AudioData with leopard_roar as source: leopard_roar_audio = recognizer.record(source)
# Розпізнайте AudioData з увімкненим show_all recognizer.recognize_google(leopard_roar_audio, show_all=True)
[]
Обробка усного мовлення в Python

Увімкнене відображення всього

# Розпізнавання японського аудіо з 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}
Обробка усного мовлення в Python

Кілька мовців

# Імпортуйте аудіо з кількома мовцями
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)
one of the limitations of the speech recognition library is that it doesn't
recognise different speakers and voices it will just return it all as one block 
of text
Обробка усного мовлення в Python

Кілька мовців

# Окремо імпортуйте аудіо файли
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
Обробка усного мовлення в Python

Шумне аудіо

  • Якщо вам важко розчути мовлення, API теж матимуть проблему
# Імпортуйте аудіо з фоновим шумом
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

Давайте потренуємось!

Обробка усного мовлення в Python

Preparing Video For Download...