Desarrollo de Apps Flutter con Reconocimiento de Voz y TensorFlow
Clase 9 de 29 • Curso de Integración Módulos Nativos iOS/Android para Flutter
Resumen
El desarrollo de aplicaciones móviles con reconocimiento de voz es cada vez más accesible y poderoso gracias a librerías como Speech-to-Text para Flutter, combinada con TensorFlow. Esta funcionalidad permite dictar texto a través del micrófono y convertir automáticamente la voz en texto escrito. Para utilizarla, se requiere una configuración adecuada junto con algunos ajustes específicos en Android e iOS.
¿Cómo descargar la librería Speech-to-Text en Flutter?
Para comenzar con Speech-to-Text, lo primero que se realiza es agregar la dependencia en el archivo pushback.yam
dentro de las dependencias existentes. La librería se escribe así:
speech_to_text: ^[versión indicada en la clase]
Luego, se ejecuta el comando manual Flutter pub get
asegurando que la librería quede correctamente instalada y disponible para usarse en el proyecto Flutter.
¿Qué permisos necesitas configurar en Android?
Al implementar Speech-to-Text, Android requiere permisos específicos:
- Grabar audio: necesario para acceder al micrófono del dispositivo.
- Acceso a Internet: esencial para que la librería využice recursos externos.
Estos permisos se agregan en el archivo AndroidManifest.xml
:
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.INTERNET" />
Ambos permisos deben colocarse fuera de la etiqueta <application>
para una correcta configuración.
¿Qué ajustes necesitas hacer para habilitar Speech-to-Text en iOS?
Del lado de iOS, es crucial modificar el archivo info.plist
, ubicado en la carpeta iOS del proyecto. Se deben agregar dos etiquetas:
- Una etiqueta para habilitar el uso del micrófono:
<key>NSMicrophoneUsageDescription</key>
<string>Explicación del uso del micrófono</string>
- Una segunda etiqueta para indicar el uso específico del reconocimiento del habla:
<key>NSSpeechRecognitionUsageDescription</key>
<string>We need speech recognition to transcript speech.</string>
Luego, se ejecuta en la terminal dentro de la carpeta iOS el comando:
pod install
Esto asegura que estas configuraciones queden actualizadas y reconocidas por el sistema operativo.
¿Cómo implementar el servicio Speech-to-Text con Flutter?
En Flutter, para manejar la funcionalidad Speech-to-Text, debes crear un servicio como archivo .dart
en la carpeta de la librería. A continuación, importas las funcionalidades específicas del package, como speech-recognition-result.dart
y el archivo principal de la librería Speech-to-Text.
El código básico para empezar luciría de la siguiente manera:
import 'package:speech_to_text/speech_to_text.dart' as stt;
import 'package:speech_to_text/speech_recognition_result.dart' as stt;
class SpeechService {
final stt.SpeechToText speech = stt.SpeechToText();
bool _isListening = false;
String _recognizedText = "Indicación inicial...";
// Aquí se añadirán métodos para manejar inicio y detención del reconocimiento.
}
Luego, implementas métodos específicos para empezar y detener la escucha. Asimismo, se añaden getters y setters para manejar el estado y el texto reconocido.