Raspberry Pi стал популярной платформой для создания различных проектов с системами распознания речи (Speech-To-Text), включая голосовые помощники и системы управления с помощью голосовых команд. В этой статье мы сделаем обзор нескольких библиотек Python, которые можно использовать для разработки голосовых интерфейсов на Raspberry Pi.
1. SpeechRecognition
SpeechRecognition — это одна из наиболее популярных библиотек для распознавания речи на Python. Она поддерживает множество API, включая Google Web Speech API, Microsoft Bing Voice Recognition, и так далее.
Установка:
1 |
pip install SpeechRecognition |
Пример:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
import speech_recognition as sr # Создаем экземпляр распознавателя recognizer = sr.Recognizer() # Используем микрофон как источник звука with sr.Microphone() as source: print("Скажите что-нибудь:") # Слушаем звук и сохраняем его в переменной audio audio = recognizer.listen(source) try: # Используем Google Web Speech API для распознавания text = recognizer.recognize_google(audio, language='ru-RU') print("Вы сказали: " + text) except sr.UnknownValueError: print("Не удалось распознать речь") except sr.RequestError as e: print(f"Ошибка запроса к сервису распознавания: {e}") |
Дополнительно: https://pypi.org/project/SpeechRecognition/
2. PocketSphinx
PocketSphinx — это библиотека для распознавания речи, работающая локально (без интернет соединения). Это делает её идеальной для проектов на Raspberry Pi, когда необходимо минимизировать задержку и зависимость от сети.
- Установка:
sudo apt-get install pocketsphinx
pip install pocketsphinx
- Применение: PocketSphinx можно использовать для создания систем, работающих с заранее заданными командами:
from pocketsphinx import LiveSpeech
speech = LiveSpeech(lm=False, keyphrase='помощь', kws_threshold=1e-40)
for phrase in speech:
print(phrase)
3. Vosk
Vosk — это библиотека для распознавания речи, которая также поддерживает множество языков и работает локально. Она подходит для низкопроизводительных устройств, таких как Raspberry Pi.
- Установка:
pip install vosk
- Применение: для использования Vosk необходимо загрузить языковую модель. Пример использования:
import vosk
import sys
import os
import pyaudio
model = vosk.Model(«path/to/model»)
recognizer = vosk.KaldiRecognizer(model, 16000)
mic = pyaudio.PyAudio()
stream = mic.open(format=pyaudio.paInt16, channels=1, rate=16000, input=True, frames_per_buffer=8000
stream.start_stream()
while True:
data = stream.read(4000)
if recognizer.AcceptWaveform(data):
result = recognizer.Result()
print(result)
4. Google Text-to-Speech (gTTS)
Хотя gTTS — это библиотека для синтеза речи, её комбинация с библиотеками распознавания создаёт полноценные голосовые интерфейсы. С её помощью можно преобразовывать текстовые команды в голосовые ответы.
- Установка:
pip install gTTS
- Применение: простое использование gTTS для озвучивания текста:
from gtts import gTTS
import os
tts = gTTS(text='Привет! Как я могу помочь?', lang='ru')
tts.save("hello.mp3")
os.system("mpg321 hello.mp3")
Заключение
Использование Raspberry Pi для создания систем, управляющихся голосовыми командами, становится всё более популярным. Существует множество библиотек Python, каждая из которых предлагает свои уникальные возможности. Выбор между ними зависит от конкретных требований вашего проекта, таких как необходимость работы в офлайн-режиме, поддержка различных языков и простота интеграции. С правильным выбором инструментов, вы можете создать мощный и удобный голосовой интерфейс.