|     Inicio    |   |         |  |   FOROS      |  |      |      
   Elastix - VoIP B4A (Basic4Android) App inventor 2 PHP - MySQL
  Estación meteorológica B4J (Basic4Java) ADB Shell - Android Arduino
  Raspberry Pi Visual Basic Script (VBS) FireBase (BD autoactualizable) NodeMCU como Arduino
  AutoIt (Programación) Visual Basic Cosas de Windows Webs interesantes
Translate:
Búsqueda en este sitio:


.

App inventor 2 en español
Cómo programar los teléfonos móviles con Android
mediante App inventor 2 - Juan Antonio Villalpando

-- Tutorial de iniciación de App Inventor 2 en español --

Volver al índice del tutorial

____________________________

299I.- Extensión. FFT. Forma de onda. Pico. RMS. Visualizador.

com.KIO4_Visualizer.aix

p299I_Visualizer.aia (Esta app necesita el permiso MODIFY_AUDIO_SETTINGS, necesita estar instalada para su funcionamiento).

- Mediante la clase Visualizer de Android vamos a obtener el valor de pico, el valor medio rms, la descomposición de una señal mediante FFT y la forma de onda que emite un Player. También veremos códigos para obtener y cambiar el volumen de sonido.

- FFT es un proceso matemático para descomponer cualquier señal en una serie de señales sinusoidales.

- Fíjate en el dibujo, la señal Wave form se descompone en un número infinito de señales sinusoidales, cada una con cierta amplitud, frecuencia y desfase. En vez de representar esas señales con ondas sinusoidales en el dominio del tiempo, se representa con trazos verticales en el dominio de la frecuencia, es decir en el eje horizontal se representa la frecuencia de cada onda, la altura de cada trazo indica su amplitud.

- La descomposión de cualquier señal suele generar un infinito número de señales sinusoidales.

- Si sumamos todas esas ondas sinusoidales, obtendríamos la señal inicial.

- Si sumamos las primeras ondas sinusoidales, obtendríamos la señal inicial distorsionada.

- Si la señal inicial estuviera formada por un cierto número de señales sinusoidales puras, en su representación tendremos ese cierto número de trazos.

- Además del gráfico de Amplitudes en el dominio de la frecuencia, también se podemos obtener otro gráfico con los desfase de cada una de las señales, eso no lo veremos en este tutorial.

- Para realizar esta extensión utilizaremos la clase Visualizer de Android.

https://developer.android.com/reference/android/media/audiofx/Visualizer

- En tiempo real mediante un setDataCaptureListener podemos obtener una lista de amplitudes mediante onWaveFormDataCapture y/o una lista de valores FFT mediante onFftDataCapture.

- El número de valores obtenidos se puede establecer mediante setCaptureSize, este número lo estableceremos en 128, 256, 512 o 1024.

- Además también podemos obtener los valores de pico y medios (rms) de la señal, en mB, es decir en mili Belios. Y también el paso de frecuencia, es decir la diferencia entre una frecuencia y la anterior.

- Para realizar el proceso matemático se ha de muestrear la señal, es decir tomar partes de la señal, ya que al ser analógica, si tomáramos toda la señal sería necesario analizar muchísimos puntos de la señal, asi que las muestreamos. Segén el critero de Nyquist, se necesita al menos muestrear la señal a una frecuencia mayor que el doble de la señal. La señal de audio se compone teóricamente de frecuencias entre 20 Hz y 22 kHz, por lo cual se suele muestrear (SamplingRate) a 44,1 kHz.

- Otro concepto es la cantidad de muestras capturadas(CaptureSize), este número suele ser 128, 254, 512 o 1024 en nuestro código.

- El paso de frecuencia (FrequencyStep), es la separación entre una frecuencia y otra, la obtenemos mediante SamplingRate / CaptureSize, si hacemos 44100 / 128 obtendremos una separación de 344 Hz.

___________________________
0.- Bloques de la extensión.

___________________________
1.- Ejemplo de app.

- Esta extensión necesita el permiso MODIFY_AUDIO_SETTINGS, por lo cual necesita estar instalada para su funcionamiento.

- MIT Companion no tiene el permiso MODIFY_AUDIO_SETTINGS, por eso no funciona en Companion.

- Podemos añadirle el permiso MODIFY_AUDIO_SETTINGS a MIT Companion, para eso necesita el proceso indicado en 127G2_androidmanifest.htm.

-También puedes bajar e instalar esta versión de MIT Companion que contiene el permiso MODIFY_AUDIO_SETTINGS mit-ai2-companion-2-63_2.apk.

___________________________
- Diseño.

 

___________________________
- Bloques.


___________________________

 

- Mi correo:
juana1991@yahoo.com
- KIO4.COM - Política de cookies. Textos e imágenes propiedad del autor:
© Juan A. Villalpando
No se permite la copia de información ni imágenes.
Usamos cookies propias y de terceros que entre otras cosas recogen datos sobre sus hábitos de navegación y realizan análisis de uso de nuestro sitio.
Si continúa navegando consideramos que acepta su uso. Acepto    Más información