GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Procesamiento científico de audio, Parte I - Cómo leer y escribir archivos de audio con Octave 4.0.0 en Ubuntu

Octave, el software equivalente a Matlab en Linux, tiene una serie de funciones y comandos que permiten la adquisición, grabación, reproducción y procesamiento digital de señales de audio para aplicaciones de entretenimiento, investigación, medicina o cualquier otra área científica. En este tutorial, usaremos Octave V4.0.0 en Ubuntu y comenzaremos a leer archivos de audio escribiendo y reproduciendo señales para emular sonidos utilizados en una amplia gama de actividades.

Nota que el enfoque principal de este tutorial no es instalar o aprender a usar un software de procesamiento de audio ya establecido, sino comprender cómo funciona desde el punto de vista del diseño y la ingeniería de audio.

Requisitos

El primer paso es instalar octave. Ejecute los siguientes comandos en una terminal para agregar Octave PPA en Ubuntu e instalar el software.

sudo apt-add-repository ppa:octave/stable
sudo apt-get update
sudo apt-get install octave

Paso 1:Octava de apertura.

En este paso abrimos el software haciendo clic en su icono, podemos cambiar el directorio de trabajo haciendo clic en el menú desplegable Explorador de archivos.

Paso 2:Información de audio


El comando "audioinfo" nos muestra información relevante sobre el archivo de audio que vamos a procesar.

>> info = audioinfo ('testing.ogg')


Paso 3:Lectura de un archivo de audio


En este tutorial leeré y usaré archivos ogg para los cuales es factible leer características como muestreo, tipo de audio (estéreo o mono), número de canales, etc. Debo mencionar que para los propósitos de este tutorial, todos los comandos utilizados se ejecutarán en la ventana de terminal de Octave. Primero, tenemos que guardar el archivo ogg en una variable. Nota:es importante que el archivo esté en la ruta de trabajo de Octave

>> file='yourfile.ogg'
>> [M, fs] = audioread(file)


Donde M es una matriz de una o dos columnas, dependiendo del número de canales y fs es la frecuencia de muestreo.







Hay algunas opciones que podemos usar para leer archivos de audio, como :

>> [y, fs] = audioread (filename, samples)
>> [y, fs] = audioread (filename, datatype)
>> [y, fs] = audioread (filename, samples, datatype)


Donde samples especifica los marcos inicial y final y datatype especifica el tipo de datos a devolver. Podemos asignar valores a cualquier variable:

>> samples = [1, fs)
>> [y, fs] = audioread (filename, samples)


Y sobre el tipo de datos:

>> [y,Fs] = audioread(filename,'native')


Si el valor es 'nativo', el tipo de datos depende de cómo se almacenen los datos en el archivo de audio.

Paso 4:Escribir un archivo de audio

Creando el archivo ogg:

Para ello, vamos a generar un archivo ogg con valores a partir de un coseno. La frecuencia de muestreo que usaré es de 44100 muestras por segundo y el archivo tendrá una duración de 10 segundos. La frecuencia de la señal del coseno es de 440 Hz.

>> filename='cosine.ogg';
>> fs=44100;
>> t=0:1/fs:10;
>> w=2*pi*440*t;
>> signal=cos(w);
>> audiowrite(filename, signal, fs);

Esto crea un archivo llamado 'coseno.ogg' en nuestro espacio de trabajo que contiene la señal del coseno.



Si reproducimos el archivo 'cosine.ogg', este reproducirá un Tono de 440 Hz que equivale a un tono musical 'A'. Si queremos ver los valores guardados en el archivo tenemos que 'leer' el archivo con la función 'audioread'. En otro tutorial, veremos cómo escribir un archivo de audio con dos canales.

Paso 5:Reproducir un archivo de audio


Octave, por defecto, tiene un reproductor de audio que podemos usar con fines de prueba. Use las siguientes funciones como ejemplo:

 >> [y,fs]=audioread('yourfile.ogg');
>> player=audioplayer(y, fs, 8)

  scalar structure containing the fields:

    BitsPerSample =  8
    CurrentSample = 0
    DeviceID = -1
    NumberOfChannels =  1
    Running = off
    SampleRate =  44100
    TotalSamples =  236473
    Tag =
    Type = audioplayer
    UserData = [](0x0)
>> play(player);


En las siguientes partes del tutorial, veremos características avanzadas de procesamiento de audio y posibles casos de uso para uso científico y comercial.


Ubuntu
  1. Cómo abrir archivos ISO en Ubuntu Linux

  2. Cómo monitorear los archivos de registro del servidor con Logwatch en Debian y Ubuntu

  3. Procesamiento científico de audio, Parte III - Cómo aplicar efectos de procesamiento matemático avanzado en archivos de audio con Octave 4.0 en Ubuntu

  4. Cómo instalar el archivo deb en Ubuntu (con ejemplos)

  5. Eliminar y desechar archivos correctamente en Ubuntu con Shred

Cómo crear y editar archivos PDF en Ubuntu

Cómo ejecutar archivos .bin y .run en Ubuntu

Cómo hacer una copia de seguridad de archivos con Déjà Dup y Duplicity en Ubuntu 18.04 LTS

Cómo cambiar el nombre de los archivos en Ubuntu 20.04

Cómo leer archivos MOBI en Ubuntu y otras distribuciones de Linux

¿Cómo hacer que el archivo de texto creado en Ubuntu sea compatible con el Bloc de notas de Windows?