🔍 Как сделать speech to text на Python: простой гид для начинающих! 🎙️
Как сделать распознавание речи в Python?
Для распознавания речи в Python можно использовать библиотеку SpeechRecognition. Вот простой пример:
import speech_recognition as sr
# Создаем объект Recognizer
rec = sr.Recognizer()
# Записываем аудио с микрофона
with sr.Microphone() as source:
print("Говорите...")
audio = rec.listen(source)
# Распознаем текст с помощью Google Web Speech API
try:
text = rec.recognize_google(audio, language="ru-RU")
print("Вы сказали: " + text)
except sr.UnknownValueError:
print("Не удалось распознать речь")
except sr.RequestError as e:
print("Ошибка сервиса распознавания речи; {0}".format(e))
Данный код использует микрофон для записи речи и затем распознает ее с помощью Google Web Speech API. Вы можете изменить язык распознавания, указав другой код языка в методе `recognize_google()`.
У вас должна быть установлена библиотека SpeechRecognition. Если она не установлена, вы можете использовать команду `pip install SpeechRecognition` для ее установки.
Учтите, что для работы этого кода вам потребуется активное интернет-соединение и настроенный микрофон на вашем компьютере.
Детальный ответ
Как сделать speech to text на Python
Преобразование речи в текст, также известное как speech to text, является важной функцией во многих приложениях. В этой статье мы рассмотрим, как реализовать speech to text на Python с использованием библиотеки SpeechRecognition.
Шаг 1: Установка библиотеки SpeechRecognition
Для начала, убедитесь, что у вас установлен Python на вашем компьютере. Затем откройте командную строку и выполните следующую команду, чтобы установить библиотеку SpeechRecognition:
pip install SpeechRecognition
Шаг 2: Настройка распознавания речи
Основная функциональность speech to text обеспечивается библиотекой SpeechRecognition. Давайте настроим распознавание речи:
import speech_recognition as sr
recognizer = sr.Recognizer()
Шаг 3: Запись аудио
Прежде чем мы сможем распознать речь, нам нужно записать аудио. Воспользуемся библиотекой PyAudio для записи аудио с микрофона:
import pyaudio
import wave
def record_audio(duration):
chunk = 1024
sample_format = pyaudio.paInt16
channels = 2
fs = 44100
p = pyaudio.PyAudio()
stream = p.open(format=sample_format,
channels=channels,
rate=fs,
frames_per_buffer=chunk,
input=True)
frames = []
print("Recording...")
for i in range(0, int(fs / chunk * duration)):
data = stream.read(chunk)
frames.append(data)
stream.stop_stream()
stream.close()
p.terminate()
print("Finished recording.")
wavefile = wave.open("audio.wav", 'wb')
wavefile.setnchannels(channels)
wavefile.setsampwidth(p.get_sample_size(sample_format))
wavefile.setframerate(fs)
wavefile.writeframes(b''.join(frames))
wavefile.close()
record_audio(5) # Запись 5 секунд аудио
Вышеуказанный код позволяет записать 5 секунд аудио. Вы можете изменить значение параметра `duration` для записи более длительного аудио.
Шаг 4: Распознавание речи
Теперь мы готовы распознать аудио и преобразовать его в текст. Используем ранее настроенный объект `recognizer` для выполнения этой операции:
def speech_to_text():
audio_file = "audio.wav"
with sr.AudioFile(audio_file) as source:
audio_data = recognizer.record(source)
text = recognizer.recognize_google(audio_data, language="ru-RU")
return text
recognized_text = speech_to_text()
print(recognized_text)
Приведенный выше код распознает аудио и возвращает текст, содержащийся в нем, с использованием сервиса распознавания Google.
Шаг 5: Запуск распознавания
Теперь давайте запустим все шаги распознавания речи вместе:
record_audio(5) # Запись аудио
recognized_text = speech_to_text() # Распознавание аудио в текст
print(recognized_text)
Вышеуказанный код записывает аудио, распознает его и выводит распознанный текст в консоль.
Заключение
В этой статье мы рассмотрели, как сделать speech to text на Python с использованием библиотеки SpeechRecognition. Мы настроили распознавание речи, записали аудио, распознали его и преобразовали в текст. Этот код может быть полезен для разработки приложений, где требуется перевод речи в текст.