Nota
Hola, bienvenido a la Comunidad de Entusiastas de Raspberry Pi, Arduino y ESP32 de SunFounder en Facebook. Profundice en Raspberry Pi, Arduino y ESP32 junto a otros entusiastas.
¿Por qué unirte?
Soporte de Expertos: Resuelve problemas post-venta y desafíos técnicos con la ayuda de nuestra comunidad y equipo.
Aprende y Comparte: Intercambia consejos y tutoriales para mejorar tus habilidades.
Vistas Previas Exclusivas: Obtén acceso anticipado a nuevos anuncios de productos y vistas previas.
Descuentos Especiales: Disfruta de descuentos exclusivos en nuestros productos más nuevos.
Promociones y Sorteos Festivos: Participa en sorteos y promociones de temporada.
👉 ¿Listo para explorar y crear con nosotros? Haz clic en [here] y únete hoy.
3. STT con Vosk (Offline)
Vosk es un motor de voz a texto (STT) ligero que soporta muchos idiomas y se ejecuta completamente sin conexión en Raspberry Pi. Solo necesita acceso a internet una vez para descargar un modelo de idioma. Después de eso, todo funciona sin conexión de red.
En esta lección, instalaremos y probaremos Vosk con un modelo de idioma elegido.
Probar Vosk
Ejecutar el programa
cd ~/sunfounder-voice-assistant/examples sudo python3 stt_vosk_stream.py
La primera vez que ejecute este código con un nuevo idioma, Vosk:
Descargará automáticamente el modelo de idioma (por defecto, la versión pequeña).
Imprimirá la lista de idiomas soportados.
Comenzará a escuchar la entrada de audio a través del micrófono.
Verá algo como esto en la terminal:
vosk-model-small-en-us-0.15.zip: 100%|███████████████████| 39.3M/39.3M [00:05<00:00, 7.85MB/s]
['ar', 'ar-tn', 'ca', 'cn', 'cs', 'de', 'en-gb', 'en-in', 'en-us', 'eo', 'es', 'fa', 'fr', 'gu', 'hi', 'it', 'ja', 'ko', 'kz', 'nl', 'pl', 'pt', 'ru', 'sv', 'te', 'tg', 'tr', 'ua', 'uz', 'vn']
Say something
Esto significa:
El archivo del modelo (
vosk-model-small-en-us-0.15) ha sido descargado.Se ha impreso la lista de idiomas soportados.
El sistema ahora está escuchando — diga algo en el micrófono del Pironman 5 Pro MAX, y el texto reconocido aparecerá en la terminal.
Consejos:
Mantenga el micrófono a unos 15–30 cm de distancia para mayor precisión.
Elija un modelo que coincida con su idioma y acento.
Use un ambiente silencioso para mejorar el reconocimiento.
Código
from sunfounder_voice_assistant.stt import Vosk as STT
stt = STT(language="en-us")
while True:
print("Say something")
for result in stt.listen(stream=True):
if result["done"]:
print(f"final: {result['final']}")
else:
print(f"partial: {result['partial']}", end="\r", flush=True)
Explicación del código:
stt.listen(stream=True)— Inicia el reconocimiento de voz en streaming y produce resultados intermedios mientras habla.result["partial"]— Muestra el texto reconocido en tiempo real (actualizado continuamente).result["final"]— Muestra la oración final reconocida cuando deja de hablar.El bucle se ejecuta continuamente, permitiendo transcripción en tiempo real sin manos.
Consejo: Este modo de streaming es perfecto para asistentes de voz, control por comandos o transcripción en vivo.
Solución de Problemas
No such file or directory (al ejecutar `arecord`)
Puede haber usado el número de tarjeta/dispositivo incorrecto. Ejecute:
arecord -ly reemplace
1,0con los números mostrados para su micrófono USB.El archivo grabado no tiene sonido
Abra el mezclador y verifique el volumen del micrófono:
alsamixer
Presione F6 para seleccionar su micrófono USB.
Asegúrese de que Mic/Capture no esté silenciado ([OO] en lugar de [MM]).
Aumente el nivel con la tecla ↑.
Vosk no reconoce la voz
Asegúrese de que el código de idioma coincida con su modelo (por ejemplo,
en-uspara inglés,zh-cnpara chino).Mantenga el micrófono a 15–30 cm de distancia y evite el ruido de fondo.
Hable clara y lentamente.
Alta latencia / reconocimiento lento
La descarga automática por defecto es un modelo pequeño (más rápido, pero menos preciso).
Si aún es lento, cierre otros programas para liberar CPU.