GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Elaborazione scientifica dell'audio, parte I - Come leggere e scrivere file audio con Octave 4.0.0 su Ubuntu

Octave, il software equivalente a Matlab in Linux, ha una serie di funzioni e comandi che consentono l'acquisizione, la registrazione, la riproduzione e l'elaborazione digitale di segnali audio per applicazioni di intrattenimento, ricerca, medicina o qualsiasi altra area scientifica. In questo tutorial, utilizzeremo Octave V4.0.0 in Ubuntu e inizieremo a leggere da file audio scrivendo e riproducendo segnali per emulare i suoni utilizzati in un'ampia gamma di attività.

Nota che l'obiettivo principale di questo tutorial non è installare o imparare a utilizzare un software di elaborazione audio già stabilito, ma piuttosto capire come funziona dal punto di vista del design e dell'ingegneria audio.

Prerequisiti

Il primo passo è installare Octave. Esegui i seguenti comandi in un terminale per aggiungere Octave PPA in Ubuntu e installare il software.

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

Passaggio 1:apertura dell'ottava.

In questo passaggio apriamo il software facendo clic sulla sua icona, possiamo cambiare la directory di lavoro facendo clic sul menu a discesa Browser file.

Fase 2:informazioni sull'audio


Il comando "audioinfo" ci mostra informazioni rilevanti sul file audio che elaboreremo.

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


Fase 3:lettura di un file audio


In questo tutorial leggerò e utilizzerò file ogg per i quali è possibile leggere caratteristiche come campionamento, tipo di audio (stereo o mono), numero di canali, ecc. Devo menzionare che ai fini di questo tutorial, tutto i comandi utilizzati verranno eseguiti nella finestra del terminale di Octave. Innanzitutto, dobbiamo salvare il file ogg in una variabile. Nota:è importante che il file si trovi nel percorso di lavoro di Octave

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


Dove M è una matrice di una o due colonne, a seconda del numero di canali e fs è la frequenza di campionamento.







Ci sono alcune opzioni che possiamo usare per leggere i file audio, come :

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


Dove samples specifica i frame iniziali e finali e il tipo di dati specifica il tipo di dati da restituire. Possiamo assegnare valori a qualsiasi variabile:

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


E sul tipo di dati:

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


Se il valore è 'nativo', il tipo di dati dipende da come i dati sono archiviati nel file audio.

Fase 4:scrittura di un file audio

Creazione del file ogg:

A questo scopo, genereremo un file ogg con i valori di un coseno. La frequenza di campionamento che userò è di 44100 campioni al secondo e il file durerà 10 secondi. La frequenza del segnale coseno è 440 Hz.

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

Questo crea un file chiamato 'cosine.ogg' nel nostro spazio di lavoro che contiene il segnale del coseno.



Se riproduciamo il file 'cosine.ogg', questo riprodurrà un Tono a 440 Hz che equivale a un tono musicale 'LA'. Se vogliamo vedere i valori salvati nel file dobbiamo 'leggere' il file con la funzione 'audioread'. In un ulteriore tutorial vedremo come scrivere un file audio con due canali.

Fase 5:riproduzione di un file audio


Octave, per impostazione predefinita, dispone di un lettore audio che possiamo utilizzare a scopo di test. Utilizzare le seguenti funzioni come esempio:

 >> [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);


Nelle prossime parti del tutorial, vedremo funzionalità avanzate di elaborazione audio e possibili casi d'uso per uso scientifico e commerciale.


Ubuntu
  1. Come aprire file ISO su Ubuntu Linux

  2. Come monitorare i file di registro del server con Logwatch su Debian e Ubuntu

  3. Elaborazione scientifica dell'audio, parte III - Come applicare gli effetti di elaborazione matematica avanzata sui file audio con Octave 4.0 su Ubuntu

  4. Come installare il file deb in Ubuntu (con esempi)

  5. Elimina e smaltisci correttamente i file in Ubuntu con Shred

Come creare e modificare file PDF in Ubuntu

Come eseguire file .bin e .run in Ubuntu

Come eseguire il backup dei file con Déjà Dup e Duplicity su Ubuntu 18.04 LTS

Come rinominare i file in Ubuntu 20.04

Come leggere i file MOBI su Ubuntu e altre distribuzioni Linux

Come rendere compatibile il file di testo creato in Ubuntu con il blocco note di Windows?