Speech Recognizer - Phonetic Conversion

Speech Recognition and Phonetic Conversion.

Phonetic conversion with the words you want.
For example, when saying: How are you?
In addition to giving us the text: How are you?
It will convert it like this: jau ar yu

20240929_233509


Functions

  1. StartListening()
    Starts speech recognition.
    • Checks if the app has permission to use the microphone. If not, it requests permission.
    • Begins listening and processes the spoken result once the user speaks.

  1. IsSpeechRecognizerAvailable()
    Checks if the device supports the speech recognition service.
    • Returns true if available, false otherwise.

  1. HasSpeechRecognitionCapability()
    Checks if the device has apps or services that can handle speech recognition.
    • Returns true if capable, false otherwise.

Events

  1. OnSpeechRecognized(originalSpeech, phoneticSpeech)
    Triggered when speech recognition is successful.
    • originalSpeech: The recognized spoken text.
    • phoneticSpeech: The phonetic version of the recognized text.

  1. OnListeningStarted()
    Triggered when the speech recognizer starts listening.

  1. OnListeningFinished()
    Triggered when listening ends, either successfully or with an error.

  1. OnErrorOccurred(errorMessage)
    Triggered when an error occurs during speech recognition.
    • errorMessage: Description of the error.

Update:
Removed the default phonetic conversion and added a function to add your own "words:phonetics"

Text string, example: "Hello:Jelou, Test:Demo, how:jau, are:ar, you:yu"



It works perfectly on my Android 14 device, but I couldn't get it to work on Android 11, probably due to some configuration on my Xiaomi Redmi Note 8 device.

If you test it on more versions, I would appreciate your comments on it.


Thanks.


Extension:
joejsanz.joedevspeechrecognizer.aix (11.2 KB)

2 Likes

20240929_233509

Hola @Joejsanz.

Vi tu extension. Parto desde que me gusta MUCHO la aplicación de la extension, pero... vi al final del post (en este momento), que hiciste un agregado para que uno pueda agregar manualmente algunos términos que no fueron detectados, y acá viene mi duda/temor.
No seria mas práctico dejar la posibilidad de usar listas o una db como tinydb para agregar las palabras faltantes?
INSISTO, esto no es una critica, es solo una opinion... por temor a que sean MUCHAS las palabras que no se detecten.
Una cosa es usarlo con el castellano, y otra con otro idioma. No se por que, pero me imagino que puede ser muy variable con idiomas que no nos son tan comunes....
O en caso de que uno use multiples idiomas y que los quiera detectar de forma paralela. Usando la misma app desarrollada para 2 idiomas o 3... o mas. Bastaría con unos switchs para que el reconocimiento del texto sea en ingles - castellano o alemán - castellano, etc.
Insisto no es una critica, es prácticamente -temor- a que la lista a agregar sea tan grande que cause inconvenientes.
Dicho esto, te agradezco por la extension nuevamente y te aliento a que sigas con este mismo ritmo de trabajo :slight_smile:

1 Like

Muchas gracias, si no hay problema, es retroalimentación.

En realidad si se detectaron todas las pruebas que hice con diferentes palabras, nomás que hay muchas que no recordaba y no las puse, por eso mejor decidí que tuvieran la opción de agregar cada quien las que quisieran y en el idioma que deseen, aunque tienes razón, son muchas palabras y en una cadena de texto puede ser que falle, necesitaria ver eso, de hecho la función también acepta listas, pero no puse eso en la documentación por qué me daba error al usar las cadenas de texto en las listas directamente, mas no lo he probado de otra manera, hoy mas tarde hare mas pruebas.

1 Like

Perfecto Joe.

Fue solo un comentario para saber si tenias en cuenta el uso de listas.
Me da la impresión que para muchas palabras de (DIALECTOS) del castellano, muchos términos podrían no ser reconocibles, lo mismo en el slang. (recuerda que a veces usamos el espaniglish, y te aseguro que a esas palabras los motores de voice to speech NO LO VAN A RECONOCER).
Nuevamente muchas gracias por tu extension y que sigan los éxitos desarrollando.!

1 Like