Análisis y procesado de señales de sonido en Matlab Manual de Usuario Versión: 1.0 Fecha: 05/11/2022 [Versión del Producto] Queda prohibido cualquier tipo de explotación y, en particular, la reproducción, distribución, comunicación pública y/o transformación, total o parcial, por cualquier medio, de este documento sin el previo consentimiento expreso y por escrito de los autores del proyecto. Análisis y procesado de señales de sonido Matlab Manual de Usuario Pablo N. Cristóbal Navas Jimena Lozano Sánchez ÍNDICE 1. 2. INTRODUCCIÓN .............................................................................................................................. 3 1.1. Objetivos ............................................................................................................................................ 3 1.2. Funcionalidades ................................................................................................................................. 3 INSTALACIÓN DEL SISTEMA ............................................................................................................. 4 2.1. Requisitos para Windows .................................................................................................................. 4 2.2. Requisitos para MAC ......................................................................................................................... 4 2.3. Requisitos para Linux ......................................................................................................................... 5 2.4. Instalación de MATLAB ...................................................................................................................... 6 Descarga del Instalador ............................................................................................................................. 6 Instalación y activación.............................................................................................................................. 6 2.5. Instalación de las extensiones necesarias ......................................................................................... 6 3. DIAGRAMA GENERAL DEL SISTEMA ................................................................................................. 8 4. MANUAL DE REFERENCIA ................................................................................................................ 9 4.1. Módulo 1 (Acción) .............................................................................................................................. 9 4.2. Módulo 2 (Controles de Audio) .......................................................................................................... 9 4.3. Módulo 3 (Controles Grabar) ........................................................................................................... 10 4.4. Módulo 4 (Display)........................................................................................................................... 11 4.5. Módulo 5 (Señal sencilla) ................................................................................................................. 12 5. GLOSARIO .................................................................................................................................... 14 6. BIBLIOGRAFÍA Y REFERENCIAS ....................................................................................................... 15 Página 2 de 15 Análisis y procesado de señales de sonido Matlab Manual de Usuario Pablo N. Cristóbal Navas Jimena Lozano Sánchez 1. INTRODUCCIÓN 1.1. Objetivos A través de este documento de comunicación técnica se busca brindar asistencia a los usuarios que utilizaran este sistema. Este proyecto se ha desarrollado en el ámbito de clase a través de la aplicación de MATLAB r2022b, con el objetivo de aprender a desarrollar un interfaz gráfico claro para el procesado básico pero preciso de señales de audio/voz, grabación/reproducción de señales de audio, y visualización de los dominios tiempo-frecuencia de las señales. 1.2. Funcionalidades A través de este proyecto el usuario será capaz de analizar y procesar diferentes tipos de señales, desde señales de audio simples como senos, cosenos, etc., hasta señales más complejas como canciones y voz grabada. Lista de las funcionalidades del programa: -Acceso al micrófono y altavoces -Tratamiento de señales deterministas simples: senos, cosenos, ondas cuadradas, ondas triangulares y dientes de sierra -Dominio del tiempo -Domino de la frecuencia: espectrograma. -Formatos de audio habituales (.wav) -Compresión-expansión tiempo y frecuencia: inversión del eje temporal. -Gráficas: ejes con magnitudes físicas claras, auto escaladas y debidamente etiquetados. -Tratamiento señales audio, voz, músicas complejas: otros formatos de audio. -Contaminación con ruido blanco gaussiano. -Filtrado de señales simples con un filtro paso-bajo Página 3 de 15 Análisis y procesado de señales de sonido Matlab Manual de Usuario Pablo N. Cristóbal Navas Jimena Lozano Sánchez 2. INSTALACIÓN DEL SISTEMA Para poder utilizar el programa de este proyecto será necesario instalar la aplicación MATLAB r2022b o versiones posteriores además se deberán instalar diferentes extensiones dentro de la aplicación que se detallarán en los siguientes apartados. Plataformas soportadas: MAC, Windows y Linux. 2.1. Requisitos para Windows Sistema Operativo: Windows 11 Windows 10 (versión 202H o superior) Windows server 2019 Windows server 2022 Procesador Mínimo: Cualquier procesador Intel o AMD x86-64 Recomendado: Cualquier procesador Intel o AMD x86-64 con cuatro núcleos lógicos y compatibilidad con el conjunto de instrucciones AVX2 Nota: Una versión futura de MATLAB requerirá un procesador compatible con el conjunto de instrucciones AVX2. Mínima: 4 GB Recomendada: 8 GB para Polyspace, se recomiendan 4 GB por núcleo. RAM Almacenamiento 4,0 GB solo para MATLAB 5-8 GB para una instalación típica 31,5 GB para una instalación de todos los productos Se recomienda encarecidamente una SSD Gráfica No se requiere una tarjeta gráfica específica, pero se recomienda una tarjeta gráfica acelerada por hardware compatible con OpenGL 3.3 con memoria GPU de 1 GB. 2.2. Requisitos para MAC Sistema Operativo: macOS Ventura (13) macOS Monterey (12) macOS Big Sur (11.6) Nota: macOS Catalina (10.15) ya no es compatible. Procesador Intel Página 4 de 15 Mínimo: Cualquier procesador Intel o AMD x86-64 Recomendado: Cualquier procesador Intel o AMD x86-64 con cuatro núcleos lógicos y compatibilidad con el conjunto de instrucciones AVX2. Análisis y procesado de señales de sonido Matlab Manual de Usuario Pablo N. Cristóbal Navas Jimena Lozano Sánchez Procesador Apple Silicon RAM Mínima: 4 GB Recomendada: 8 GB Nota: Para Polyspace, se recomiendan 4 GB por núcleo. Almacenamiento 3,7 GB solo para MATLAB 5-8 GB para una instalación típica 25 GB para una instalación de todos los productos Se recomienda encarecidamente una SSD Gráfica Cualquier Mac capaz de ejecutar macOS Big Sur tiene una GPU capaz de ejecutar MATLAB. 2.3. Mínimo: Cualquier chip de la serie M Nota: En los Mac con Apple Silicon, MATLAB se ejecuta usando Rosetta 2 Requisitos para Linux Distribuciones: Procesador RAM Almacenamiento Gráfica Ubuntu 22.04 LTS Ubuntu 20.04 LTS Ubuntu 18.04 LTS Debian 11 Debian 10 Red Hat Enterprise Linux 9 Red Hat Enterprise Linux 8 (minima 8.4) Red Hat Enterprise Linux 7 (minima 7.9) SUSE Linux Enterprise Desktop 15 SUSE Linux Enterprise Server 12 (minima SP2) SUSE Linux Enterprise Server 15 Mínimo: Cualquier procesador Intel o AMD x86-64 Recomendado: Cualquier procesador Intel o AMD x86-64 con cuatro núcleos lógicos y compatibilidad con el conjunto de instrucciones AVX2 Nota: Una versión futura de MATLAB requerirá un procesador compatible con el conjunto de instrucciones AVX2 Mínima: 4 GB Recomendada: 8 GB Nota: Para Polyspace, se recomiendan 4 GB por núcleo. 4,0 GB solo para MATLAB 5-8 GB para una instalación típica 30 GB para una instalación de todos los productos Se recomienda encarecidamente una SSD No se requiere una tarjeta gráfica específica, pero se recomienda una tarjeta gráfica acelerada por hardware compatible con OpenGL 3.3 con memoria GPU de 1 GB. Se recomienda encarecidamente el uso de controladores proporcionados por el proveedor. Página 5 de 15 Análisis y procesado de señales de sonido Matlab Manual de Usuario 2.4. Pablo N. Cristóbal Navas Jimena Lozano Sánchez Instalación de MATLAB Nota: Para la instalación e Matlab será necesario que el usuario posea una licencia del producto. Pasos que seguir para la instalación de MATLAB: Descarga del Instalador 1. Inicie sesión en https://es.mathworks.com/login con la cuenta de MathWorks asociada a su dirección de correo electrónico. Si no tiene una cuenta, cree una mediante su dirección de correo electrónico. 2. Haga clic en el icono de descarga de la licencia Individual. 3. Seleccione la versión a descargar (r2022b o posterior). 4. Elija una plataforma compatible y descargue el instalador. Instalación y activación 1. Ejecute el instalador. 2. En el instalador, seleccione Log in with a MathWorks Account (Iniciar sesión con una cuenta de MathWorks) y siga las instrucciones online. 3. Cuando se le solicite, seleccione la licencia Individual. 4. Tras la descarga, mantenga seleccionada la casilla Activate MATLAB (Activar MATLAB) y haga clic en Next (Siguiente) 5. Cuando se le pida que proporcione el nombre de usuario, compruebe que el nombre de usuario mostrado sea correcto. Continue con el proceso hasta que se haya completado la activación. 2.5. Instalación de las extensiones necesarias Para que el proyecto realizado funcione de manera correcta se deberán descargar dos extensiones adicionales Pasos para descargar las extensiones: 1. Abrimos el programa de Matlab 2. Vamos a la pestaña de APPS y seleccionamos GET MORE APPS. Figura 1 Figura 2 Página 6 de 15 Análisis y procesado de señales de sonido Matlab Manual de Usuario Pablo N. Cristóbal Navas Jimena Lozano Sánchez 3. Se abrirá una nueva pestaña y en la barra de búsqueda que aparece en la esquina superior derecha buscamos la extensión Signal Processing Toolbox y la extensión Audio Toolbox y las instalamos. Figura 3 Figura 4 4. Una vez instaladas las dos extensiones se debe reiniciar Matlab. Página 7 de 15 Análisis y procesado de señales de sonido Matlab Manual de Usuario Pablo N. Cristóbal Navas Jimena Lozano Sánchez 3. DIAGRAMA GENERAL DEL SISTEMA Figura 5 En la Figura 5 se muestra un diagrama general del programa donde se puede observar las diferentes acciones que el programa puede realizar y que se explicará de forma detallada en el apartado MANUAL DE REFERENCIA. Página 8 de 15 Análisis y procesado de señales de sonido Matlab Manual de Usuario Pablo N. Cristóbal Navas Jimena Lozano Sánchez 4. MANUAL DE REFERENCIA 4.1. Módulo 1 (Acción) Este módulo posee dos botones, OPEN y SAVE y un cuadro de información. El botón OPEN de la parte superior, marcado con un círculo rojo, sirve para abrir un explorador de archivos y poder cargar la señal de audio a analizar que podremos reproducir, parar, eliminar o invertir gracias al Módulo 2 que se explicará a continuación, esta señal puede ser de un canal o de dos canales, los formatos de audio que acepta el programa son .wav, .mp3, .mp4, .avi, .wmv, .m4v, .ogg, .flac, .au, .aiff, .aif, .aifc y .m4a. El botón SAVE, situado en la parte inferior de este módulo, marcado con un círculo verde, sirve para guardar la señal de voz que se graba en el Módulo 3, se guardará en formato .wav. Figura 6 El cuadro de información indica al usuario lo que está haciendo el programa en cada momento cuando cargamos, reproducimos y grabamos un audio como se muestra en la Figura 6. 4.2. Módulo 2 (Controles de Audio) En este módulo hay cuatro botones, el botón PLAY, el botón STOP, el botón DELETE y el botón Reverse Audio. Una vez cargada la señal de audio que queremos analizar como se explica en el Módulo 1 podremos pasar a utilizar este módulo. Figura 7 El botón PLAY , permitirá la reproducción del audio que el usuario podrá escuchar a través de los altavoces de su dispositivo. Si la señal de audio se ha invertido y se pulsa el botón PLAY, volverá de nuevo a su estado original. El botón STOP , permite al usuario parar la señal de audio cuando ha pasado un tiempo determinado y si vuelve a pulsar el botón PLAY, seguirá con la reproducción de audio donde se había detenido. El botón DELETE de audio. , permite al usuario eliminar el audio cargado y limpiar todos los displays de la señal El botón Reverse Audio , permite al usuario invertir la señal de audio que hacargado en el programa y al mismo tiempo la reproduce, si queremos que vuelva a su estado original debemos pulsar el botón PLAY. Nota: El audio invertido solo se reproducirá una vez cuando se pulse el botón Reverse Audio. Página 9 de 15 Análisis y procesado de señales de sonido Matlab Manual de Usuario 4.3. Pablo N. Cristóbal Navas Jimena Lozano Sánchez Módulo 3 (Controles Grabar) En este módulo hay cinco botones, el botón RECORD, el botón PLAY, el botón STOP, el botón DELETE y el botón Reverse Voice, y dos pestañas de selección Fs y N. El botón RECORD , permite grabar la voz del usuario a través del micrófono del dispositivo, se podrá seleccionar los valores de las dos pestañas de selección, Fs y N, por defecto Fs valdrá 44100 muestras/segundo y N valdrá 24 bits. Una vez grabado el audio, para pausar la grabación es necesario pulsar el botón STOP. El botón STOP desee. Figura 8 El botón DELETE voz. , permite al usuario detener la grabación de voz cuando El botón PLAY , reproducirá la señal de voz que el usuario haya grabado anteriormente. , permite al usuario eliminar la voz grabada y limpiar todos los displays de la señal de La pestaña de selección Fs , permite que el usuario elija el valor de la Frecuencia de Muestreo con la que se quiere grabar la voz, los valores posibles son 8000 muestras/s y 44100 muestras/s. La pestaña de selección N , permite que el usuario elija el número de bits con los que quiere grabar la voz, los valores posibles son 8 bits, 16 bits y 24 bits. El botón Reverse Voice , permite invertir la señal de voz que el usuario a grabado y reproducirla al mismo tiempo. Nota: El audio invertido solo se reproducirá una vez cuando se pulse el botón Reverse Voice. Página 10 de 15 Análisis y procesado de señales de sonido Matlab Manual de Usuario 4.4. Pablo N. Cristóbal Navas Jimena Lozano Sánchez Módulo 4 (Display) Figura 9 En este módulo se pueden ver las gráficas de las señales de audio y de las señales de voz que el usuario ha cargado o ha grabado, así como los espectrogramas y la FFT de ambas señales. El primer Display (Arriba, Izquierda), mostrará la señal de audio que el usuario ha cargado desde el explorador de archivos como se ha explicado en el Módulo 1, el Display mostrara la amplitud en Voltios (V) de la señal y el tiempo que dura esa señal de audio en segundos(s). Ошибка! Источник ссылки не найден.Ошибка! Источник ссылки не найден. 10. El segundo Display (Arriba, Derecha), podrá mostrar tres gráficas diferentes dependiendo de la opción que el usuario seleccione en la pestaña que se encuentra a Figura 14 la derecha de la gráfica (Figura 14), por defecto mostrará la FFT de la señal medida Figura 10 Figura 13 Figura 12 Página 11 de 15 Figura 11 Análisis y procesado de señales de sonido Matlab Pablo N. Cristóbal Navas Manual de Usuario Jimena Lozano Sánchez en dBV, pero también puede mostrar el espectrograma de la señal de audio en dB y en Hz. (Figura 11, Figura 12 y Figura 13). El tercer Display (Abajo, Izquierda), mostrará la señal de voz que el usuario ha grabado, el Display mostrara la amplitud en Voltios (V) de la señal de voz y el tiempo que dura esa señal de voz en segundos(s). El cuarto segundo Display (Abajo, Derecha), podrá mostrar tres gráficas diferentes dependiendo de la opción que el usuario seleccione en la pestaña que se encuentra a la derecha de la gráfica (Figura 15), por defecto mostrará la FFT de la señal en dBV, pero también puede mostrar el espectrograma de la señal de Figura 15 audio en dB y en Hz. Figura 18 Figura 19 (Figura 11, Figura 12 y Figura 13) Figura 16 Figura 17 Nota: El primer y el tercer Display, también podrán mostrar la señal de audio o de voz invertida cuando se pulse el botón correspondiente a la inversión del audio. 4.5. Módulo 5 (Señal sencilla) En este módulo se podrán generar diferentes señales simples determinísticas como senos, cosenos, etc. Estas señales generadas se verán en el display que hay incluido en el módulo también podrán ser modificadas por el usuario añadiendo ruido, modificando su frecuencia, amplitud, etc. A continuación, se explicará el funcionamiento de cada botón y como afecta a cada señal generada. Figura 20 Página 12 de 15 Análisis y procesado de señales de sonido Matlab Manual de Usuario Pablo N. Cristóbal Navas Jimena Lozano Sánchez En la Figura 20 se puede observar lo que posee este módulo: 6 cuadros de valores: Amplitud, Frecuencia, Muestreo, Periodos, Factor Comprensión/Expansión y Banda de paso del filtro normalizado. 2 pestañas: Tipo de señal a generar y Tipo de ruido. 3 botones: Generar señal, Aplicar ruido y Filtrar Ruido. Modificando el valor del cuadro Amplitud, se podrá modificar la amplitud de la señal en Voltios, por defecto la amplitud será de 1V. El cuadro Frecuencia modificará la frecuencia de la señal en Hertzios, por defecto será de 1000 Hz. El cuadro Muestreo modificará el muestreo de la señal que se genera que por defecto valdrá 100000 muestras/segundo. El cuadro Periodos indica el número de periodos que tendrá la señal que por defecto será de 5. El cuadro Factor Comprensión/Expansión que se puede ver en la Figura 21 Figura 22, comprimirá o expandirá la señal x(t) a través del valor (k) que el usuario introduzca en el cuadro de forma que la señal queda de la siguiente forma x(k*t), entonces, si k<1 se comprime la señal y si k>1 la señal se expande, siendo k siempre un numero positivo, por defecto el valor será 1 por tanto la señal no estará ni comprimida ni expandida. El cuadro Banda de paso del filtro normalizado permite al usuario escoger la banda de paso del filtro que se va a usar cuando el usuario desee filtrar la señal, se puede ver en la Figura 23. Figura 22 En la pestaña Tipo de señal a generar se puede seleccionar la señal que se va a generar (Figura 22), por defecto se generará un seno, pero se puede escoger entre seno, coseno, Señal Cuadrada, Señal Triangular y Dientes de Sierra. En la pestaña Tipo de Ruido (Figura 23), el usuario puede escoger el tipo de Ruido que se va a aplicar a la señal, por defecto es Ruido blanco pero el usuario puede escoger entre ruido Blanco o ruido Rosa. Con el botón Generar Señal se generará la señal cuyos parámetros haya seleccionada el usuario anteriormente en ese módulo, se mostrará en el display y se reproducirá. El botón Aplicar ruido, aplicará el ruido que el usuario haya seleccionado sobre la señal que ya se haya generado y se mostrará en el display. Figura 23 El Botón Filtrar Ruido, filtrará la señal con ruido que se ha generado con el filtro que el usuario haya seleccionado y se mostrará en el display. Página 13 de 15 Análisis y procesado de señales de sonido Matlab Manual de Usuario Pablo N. Cristóbal Navas Jimena Lozano Sánchez Figura 24: Señal seno por defecto. Figura 25: Señal seno con ruido rosa. Figura 26: Señal seno con ruido rosa y filtrada con un filtro cuya banda de paso es de 0,3. 5. GLOSARIO GLOSARIO Término Espectrograma FFT Fs Muestreo Definición El espectrograma es una representación visual que permite identificar las diferentes variaciones de la frecuencia y la intensidad del sonido a lo largo de un periodo de tiempo. La "Transformación rápida de Fourier", FFT para abreviar, es un importante método de medición en la tecnología de medición de audio y acústica. Descompone una señal en sus componentes espectrales individuales y así proporciona información sobre su composición. Frecuencia de muestreo, numero de muestras por segundo. El proceso de muestreo temporal se utiliza principalmente para señales de audio y señales de vídeo que son de naturaleza continua, es decir, definidos en todos los instantes de tiempo. Muestrear una señal continua en el tiempo da una señal que sólo tendrá valores en instantes de tiempo en concreto (valores discretos de la señal). Página 14 de 15 Análisis y procesado de señales de sonido Matlab Manual de Usuario Término N Señal de audio Filtro Ruido Señal Determinística Simple Compresión/Expansión Periodo Frecuencia Amplitud Tiempo Pablo N. Cristóbal Navas Jimena Lozano Sánchez Definición Resolución. Es el número de bits utilizados para almacenar cada muestra de la señal analógica. Una resolución de 8-bits proporciona 256 (28) niveles de amplitud, mientras que una resolución de 16-bits alcanza 65536 (216). Un audio digital tendrá más calidad cuanto mayor sea su resolución. Un audio es una señal analógica eléctricamente exacta a una señal sonora; normalmente está acotada al rango de frecuencias audibles por los seres humanos, que está aproximadamente entre los 20 y los 20.000 Hz Un filtro transforma la señal, en este caso digitalmente, para conseguir una mejora en alguno de sus aspectos sonoros, la normaliza e incluso la deforma creativamente a gusto del editor de audio En comunicación, se denomina ruido a toda señal no deseada que se mezcla con la señal útil que se quiere transmitir. Es el resultado de diversos tipos de perturbaciones que tiende a enmascarar la información cuando se presenta en la banda de frecuencias del espectro de la señal, es decir, dentro de su ancho de banda. Una señal determinística es una señal en la cual cada valor esta fijo y puede ser determinado por una expresión matemática, regla, o tabla. Transformación temporal que se realiza sobre una señal para modificarla. El periodo es el tiempo en el que se repite la forma de onda a partir de un punto de referencia de la señal. Se denomina frecuencia de la señal a la cantidad de ciclos que pueden desarrollarse en un segundo. Es la distancia entre el punto más alejado de una onda y el punto de equilibrio o medio. El tiempo (es una magnitud física con la que se mide la duración o separación de acontecimientos, en este caso se usa para medir la duración de las señales. 6. BIBLIOGRAFÍA Y REFERENCIAS MathWorks, Inc, A. (19 de Noviembre de 2022). Audio Toolbox Getting Started Guide [Archivo PDF]. MathWorks https://es.mathworks.com/help/pdf_doc/audio/audio_gs.pdf MathWorks, Inc, A. (19 de Noviembre de 2022). Audio Toolbox User’s Guide [Archivo PDF]. MathWorks https://es.mathworks.com/help/pdf_doc/audio/audio_ug.pdf MathWorks, Inc, A. (19 de Noviembre de 2022). Audio Toolbox Reference [Archivo PDF]. MathWorks https://es.mathworks.com/help/pdf_doc/audio/audio_ref.pdf MathWorks, Inc, A. (19 de Noviembre de 2022). Signal Processing Toolbox Getting Started Guide [Archivo PDF]. MathWorks https://es.mathworks.com/help/pdf_doc/signal/signal_gs.pdf MathWorks, Inc, A. (19 de Noviembre de 2022). Signal Processing Toolbox User’s Guide [Archivo PDF]. MathWorks https://es.mathworks.com/help/pdf_doc/signal/signal.pdf MathWorks, Inc, A. (19 de Noviembre de 2022). Signal Processing Toolbox Reference [Archivo PDF]. MathWorks https://es.mathworks.com/help/pdf_doc/signal/signal_ref.pdf Página 15 de 15