В современный век цифровых технологий распознавание речи стало неотъемлемой частью различных приложений — от виртуальных помощников до служб транскрипции. Python, будучи универсальным языком программирования, предлагает мощные инструменты и библиотеки для простой реализации распознавания речи. В этой статье мы рассмотрим несколько методов распознавания речи в Python с использованием временных меток для точной транскрипции. Итак, хватайте наушники и приступим!
Метод 1: использование библиотеки распознавания речи
Библиотека SpeechRecognition предоставляет простой и интуитивно понятный способ распознавания речи в Python. Чтобы включить временную метку, мы можем использовать параметр «audio_data» функции recognize_google(), и библиотека автоматически генерирует временные метки для каждого распознанного слова. Вот фрагмент кода, который поможет вам начать:
import speech_recognition as sr
# Create a recognizer instance
recognizer = sr.Recognizer()
# Load the audio file
with sr.AudioFile('audio.wav') as source:
audio_data = recognizer.record(source)
# Perform speech recognition with timestamping
transcription = recognizer.recognize_google(audio_data, show_all=True)
# Print the transcriptions with timestamps
for result in transcription['alternative']:
print(result['transcript'])
print(result['timestamps'])
Метод 2. Использование API преобразования речи в текст Google Cloud
Если вам требуются более расширенные функции или более высокая точность, вы можете использовать API преобразования речи в текст Google Cloud. Этот метод обеспечивает превосходные возможности распознавания речи вместе с метками времени. Чтобы использовать этот API, вам необходимо настроить проект в Google Cloud Console и получить учетные данные API. Вот фрагмент кода, демонстрирующий использование:
from google.cloud import speech
# Create a client instance
client = speech.SpeechClient()
# Load the audio file
with open('audio.wav', 'rb') as audio_file:
content = audio_file.read()
# Configure the audio settings
audio = speech.RecognitionAudio(content=content)
config = speech.RecognitionConfig(
encoding=speech.RecognitionConfig.AudioEncoding.LINEAR16,
sample_rate_hertz=16000,
language_code='en-US',
enable_word_time_offsets=True
)
# Perform speech recognition with timestamping
response = client.recognize(config=config, audio=audio)
# Print the transcriptions with timestamps
for result in response.results:
print(result.alternatives[0].transcript)
print(result.alternatives[0].words)
Метод 3: использование библиотеки Pocketsphinx
Pocketsphinx — это облегченная библиотека распознавания речи, работающая в автономном режиме. Это отличный выбор, если вам нужно выполнить распознавание речи без подключения к Интернету. Чтобы включить временные метки, вы можете использовать библиотеку pocketsphinxв сочетании с библиотекой pyaudioдля захвата звука. Вот фрагмент кода, который поможет вам начать:
import speech_recognition as sr
# Create a recognizer instance
recognizer = sr.Recognizer()
# Capture audio from the microphone
with sr.Microphone() as source:
print("Speak something...")
audio_data = recognizer.record(source)
# Perform speech recognition with timestamping
transcription = recognizer.recognize_sphinx(audio_data, show_all=True)
# Print the transcriptions with timestamps
for result in transcription['alternative']:
print(result['transcript'])
print(result['timestamps'])
В этой статье мы рассмотрели три мощных метода распознавания речи в Python с добавлением временных меток для точной транскрипции. Мы обсудили использование библиотеки SpeechRecognition, API Google Cloud Speech-to-Text и библиотеки Pocketsphinx. Каждый метод имеет свои преимущества, поэтому выберите тот, который лучше всего соответствует требованиям вашего проекта. Имея в своем распоряжении эти инструменты, вы сможете открыть широкий спектр возможностей для приложений распознавания речи.
Не забывайте экспериментировать с различными источниками звука, корректировать настройки конфигурации и точно настраивать параметры для достижения наилучших результатов. А теперь попробуйте эти методы в своем следующем проекте по распознаванию речи!