Pues lo que dice el título... es posible detectar a qué frecuencia se oye un audio que dure un step?

Ando haciendo un experimento, tratando de convertir textos en sonidos, asignando a cada simbolo ascii una frecuencia concreta. Es decir...

"ola k ase"
separo cada char de la frase y las junto en una array cada char tiene un número en la tabla de ascii y que cada numero se le asigne una frecuencia donde se juntan en un solo archivo de audio... Esto será dificil probablemente, pero más dificil sino imposible (por eso pregunto) es viceversa... enseñarle un clip de audio al programa donde cada step identifique la frecuencia de cada audio y me las guarde en una variable y de ahí yo sacar cada numerito para la conversión a la viceversa... se me capta????

Gracias... a muy malas, haré solo de texto a audio, pero de otra manera, a partir de binarios...
[spoiler="ola k ase clickarme o k ase"]la imagen no se quita xD
[/spoiler]


hmmm, no es lo que pido xd, detectar Hz de una porción de sonido xd
gracias :B
[spoiler="ola k ase clickarme o k ase"]la imagen no se quita xD
[/spoiler]

¿Buscas transmitir datos a través de sonido?

Se podrían utilizar varias técnicas.

La primera es simple frecuencia modulada, como lo que propones, a cada letra se le asigna una frecuencia. Generar las frecuencias es fácil, simplemente se usa un archivo de audio con una frecuencia base y la frecuencias específicas se obtienen con audio_sound_pitch. Pero analizar el sonido generado con este método podría ser un poco difícil. El receptor debería escuchar un sonido muy limpio, sin distorsión con forma de onda senoidal. Ese sonido se podría analizar con Transformada Rápida de Fourier para obtener el valor de la frecuencia dominante. Si el sonido se distorsiona (como siempre sucede en los altavoces de teléfonos) o hay mucho ruido ambiente, se obtendrán muchas frecuencias combinadas y sería difícil encontrar la frecuencia dominante.
Otra forma de utilizar la frecuencia modulada sería enviar varias frecuencias por letra codificando el número binario que representa a la letra. Por ejemplo, 5 kHz es 0 lógico y 10 kHz es 1 lógico.

Otra técnica sería reproducir una secuencia de pulsos binarios para generar un onda cuadrada. Se podría copiar la codificación de algún protocolos de comunicación serial. El problema de una onda cuadrada es que se compone por muchas frecuencias armónicas y no se puede reproducir fielmente en los altavoces ni en los micrófonos.

Esta app transmite datos a través de sonido
https://play.google.com/store/apps/details?id=io.chirp.gemswap
pero chirrido parece demasiado largo para lo que transmite.

Gracias clamud, parece que entiendes ma o meno xd, que sepas que mi intención no es que del micro se capten sonidos y las interprete, sino que a partir de un numero (en gm) agarre un clip de audio (previamente puesto) con x Hz y crear un clip de audio juntando los clips (en una crpeta habrían clips muy cortos de X frecuencia). Y por otra parte, lo que pregunto en este post, es interpretar el clip largo (obtenido de los pequeños clips de la carpeta y juntándolos en uno "largo"). pero eso, el mismo clip que crea, interpretarlo oyendo cada parte

PD: me da que se me ha ocurrido una tontería que se me escapa de las manos xd
[spoiler="ola k ase clickarme o k ase"]la imagen no se quita xD
[/spoiler]