Main Content

La traducción de esta página aún no se ha actualizado a la versión más reciente. Haga clic aquí para ver la última versión en inglés.

Obtener datos de audio del micrófono de un dispositivo móvil

Nota

Actualmente, esta funcionalidad admite el acceso a los micrófonos solo en dispositivos móviles Android.

Este ejemplo muestra cómo conectarse desde MATLAB® al micrófono de su dispositivo móvil y obtener señales de audio. Puede utilizar el código de MATLAB de este ejemplo para acceder a los datos de audio obtenidos desde cualquiera de estas opciones cuando haya iniciado sesión en su cuenta de MathWorks:

  • MATLAB Mobile™ ejecutándose en el mismo dispositivo

  • MATLAB Mobile ejecutándose en un dispositivo diferente

  • MATLAB Online™

  • MATLAB en un ordenador de sobremesa o portátil, con el complemento MATLAB Support Package for Android™ Sensors instalado

Configurar un dispositivo móvil

Instale y configure MATLAB Mobile en su dispositivo móvil. A continuación, inicie sesión en MathWorks® Cloud en el menú Configuración de MATLAB Mobile. Para obtener más información sobre estos pasos, consulte Instalar MATLAB Mobile en su dispositivo y Iniciar sesión en la nube.

Inicie MATLAB Mobile en su dispositivo.

Activar el acceso al micrófono en el dispositivo

  1. Pulse el menú y seleccione Sensores.

  2. En la sección Configuración de sensores, pulse Más; y en la sección Acceso remoto a MATLAB, active Acceso a sensores. Pulse OK para confirmar el acceso. Esto permite el acceso programático a los sensores del dispositivo.

  3. Ahora está disponible un interruptor Acceso al micrófono. Actívelo y pulse OK para confirmar el acceso. Esto concede permiso específicamente para acceder de manera remota al micrófono.

  4. Vuelva a Configuración de sensores, pulse Transmitir a y seleccione MATLAB.

  5. A continuación, active Acceso al micrófono. Esto enciende el micrófono para recibir la entrada de audio.

En este punto, debería ver una barra de nivel que cambia en tiempo real para indicar que el micrófono está recibiendo sonido. El micrófono del dispositivo ahora está preparado para obtener datos para transmitirlos a su sesión de MATLAB.

Crear una conexión con su dispositivo

En su sesión de MATLAB conectada, cree un objeto mobiledev, m, en la ventana de comandos. Si está usando MATLAB Mobile en este dispositivo u otro, utilice la pantalla Comandos.

m = mobiledev
m = 
mobiledev with properties:

                      Device: 'Galaxy Tab A (2017)'
                   Connected: 1
                     Logging: 0
            AvailableCameras: {'back' 'front'}
        AvailableMicrophones: {'SM-T380-bottom'}
          SelectedMicrophone: 'SM-T380-bottom'

            InitialTimestamp: ''

   AccelerationSensorEnabled: 0
AngularVelocitySensorEnabled: 0
       MagneticSensorEnabled: 0
    OrientationSensorEnabled: 0
       PositionSensorEnabled: 0
           MicrophoneEnabled: 1
Show all properties

La propiedad SelectedMicrophone indica qué micrófono está activo. En este caso, solo hay un elemento en la propiedad AvailableMicrophones. Además, observe que las propiedades Connected y MicrophoneEnabled tienen cada una un valor de 1, que indica que la configuración está completa. Puede establecer MicrophoneEnabled en 1 o 0 para encender y apagar el micrófono de forma programática.

Esta visualización predeterminada del objeto m no muestra todas sus propiedades. Puede hacer clic en el enlace Show all properties para ver más. Entre estas se encuentra la propiedad Microphone del objeto, que puede analizar para obtener más información sobre el micrófono y su configuración.

m.Microphone
  Microphone with properties:

                    Name: 'SM-T380-bottom'
    AvailableSampleRates: [8000 11025 12000 16000 22050 24000 32000 44100 48000]
             NumChannels: 2
              SampleRate: 44100
               IsEnabled: 1

Grabar datos de audio

Puede comenzar a capturar datos de audio.

  1. Proporcione una fuente de entrada de audio hablando en el micrófono.

  2. En la pantalla Sensores del dispositivo, pulse Empezar.

  3. Deje que la grabación continúe durante unos segundos mientras habla y, a continuación, pulse Parar.

Una forma alternativa programática para parar y empezar la grabación es ajustar la propiedad Logging en el objeto mobiledev:

m.Logging = 1
⋮
m.Logging = 0

Los datos obtenidos están ahora disponibles para leerlos en MATLAB.

Leer y representar datos de audio

Cuando vuelva a mirar en el objeto mobiledev m conectado en MATLAB, la propiedad MicrophoneEnabled indica el número de muestras de datos de audio obtenido.

m
m = 

mobiledev with properties:

                      Device: 'Galaxy Tab A (2017)'
                   Connected: 1
                     Logging: 0
            AvailableCameras: {'back' 'front'}
        AvailableMicrophones: {'SM-T380-bottom'}
          SelectedMicrophone: 'SM-T380-bottom'

            InitialTimestamp: ''

   AccelerationSensorEnabled: 0
AngularVelocitySensorEnabled: 0
       MagneticSensorEnabled: 0
    OrientationSensorEnabled: 0
       PositionSensorEnabled: 0
           MicrophoneEnabled: 1    (109224 Logged samples)

Lea los datos en una tabla de tiempos en el área de trabajo de MATLAB y analice las primeras filas de la tabla.

audTT = readAudio(m,OutputFormat="timetable");
head(audTT)
         Time           Left         Right  
    ______________    _________    _________

    0 sec                     0            0
    2.2676e-05 sec    -0.030763    -0.030091
    4.5351e-05 sec    -0.091281      -0.0889
    6.8027e-05 sec     -0.14975     -0.14603
    9.0703e-05 sec     -0.20145     -0.19605
    0.00011338 sec     -0.24812     -0.24201
    0.00013605 sec     -0.28562     -0.27818
    0.00015873 sec     -0.31437     -0.30659

Utilice una gráfica apilada para ver los datos de los dos canales del micrófono.

stackedplot(audTT)

plots of captured audio data

Consulte también

Funciones