GNU/Linux >> Linux Esercitazione >  >> Ubuntu

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

La terza parte della nostra serie di tutorial sull'elaborazione dell'audio digitale copre la modulazione del segnale, spieghiamo come applicare la modulazione di ampiezza, l'effetto tremolo e la variazione di frequenza.

Modulazione

Modulazione di ampiezza

Come suggerisce il nome, questo effetto varia l'ampiezza di una sinusoide in base al messaggio da trasmettere. Un'onda sinusoidale è chiamata portante perché trasporta le informazioni. Questo tipo di modulazione è utilizzato in alcune emittenti commerciali e bande di trasmissione cittadini (AM).

Perché usare la modulazione di ampiezza?

Radiazioni di modulazione.

Se il canale di comunicazione è uno spazio libero, le antenne sono necessarie per irradiare e ricevere il segnale. Richiede un'antenna per radiazioni elettromagnetiche efficiente le cui dimensioni siano dello stesso ordine di grandezza della lunghezza d'onda del segnale irradiato. Molti segnali, inclusi i componenti audio, hanno spesso 100 Hz o meno. Per questi segnali sarebbe necessario costruire antenne lunghe circa 300 km se il segnale dovesse essere irradiato direttamente. Se la modulazione del segnale viene utilizzata per stampare il messaggio su una portante ad alta frequenza, diciamo 100 MHz, l'antenna deve avere solo una lunghezza di oltre un metro (lunghezza trasversale).

Modulazione della concentrazione o multicanalità.

Se più di un segnale utilizza un singolo canale, la modulazione può essere utilizzata per trasferire segnali diversi a diverse posizioni spettrali consentendo al ricevitore di selezionare il segnale desiderato. Le applicazioni che utilizzano la concentrazione ("multiplexing") includono dati di telemetria, radio FM stereo e telefonia a lunga distanza.

Modulazione per superare i limiti delle apparecchiature.

Le prestazioni dei dispositivi di elaborazione del segnale come filtri e amplificatori, e la facilità con cui questi dispositivi possono essere costruiti, dipendono dalla situazione del segnale nel dominio della frequenza e dal rapporto tra la frequenza più alta e il segnale basso. La modulazione può essere utilizzata per trasferire il segnale in una posizione nel dominio della frequenza in cui i requisiti di progettazione sono soddisfatti più facilmente. La modulazione può essere utilizzata anche per convertire un "segnale a banda larga" (un segnale per il quale il rapporto tra la frequenza più alta e quella più bassa è ampio) in un segno di "banda stretta".

Effetti audio

Molti effetti audio utilizzano la modulazione dell'ampiezza a causa della sorprendente e della facilità con cui è in grado di gestire tali segnali. Possiamo citarne alcuni come tremolo, chorus, flanger, ecc. Questa utilità è dove ci concentriamo in questa serie di tutorial.

Effetto tremolo

L'effetto tremolo è una delle applicazioni più semplici della modulazione di ampiezza, per ottenere questo effetto dobbiamo variare (moltiplicare) il segnale audio per un segnale periodico, sinusoidale o meno.

>> tremolo='tremolo.ogg';
>> fs=44100;
>> t=0:1/fs:10;
>> wo=2*pi*440*t;
>> wa=2*pi*1.2*t;
>> audiowrite(tremolo, cos(wa).*cos(wo),fs);




Questo genererà un segnale a forma di sinusoide il cui effetto è come un tremolo '.


Tremolo su file audio reali


Ora mostreremo l'effetto tremolo nel mondo reale. Innanzitutto, utilizziamo un file precedentemente registrato da una voce maschile che dice "A". La trama di questo segnale è la seguente:

>> [y,fs]=audioread('A.ogg');
>> plot(y);




Ora dobbiamo creare un segnale sinusoidale avvolgente con i seguenti parametri:

Ampiezza =1
Frequenza=1,5 Hz
Fase =0

>> t=0:1/fs:4.99999999;
>> t=t(:);
>> w=2*pi*1.5*t;
>> q=cos(w);
>> plot(q);

Nota:quando creiamo un array di valori dell'ora, per impostazione predefinita, questo viene creato sotto forma di colonne, ovvero valori 1x220500. Per moltiplicare questo insieme di valori è necessario trasporlo in righe (220500x1). Questo è il comando t=t()




Creeremo un secondo file ogg che contiene il risultato segnale modulato:

>> tremolo='tremolo.ogg';
>> audiowrite(tremolo, q.*y,fs);







Variazione di frequenza

Possiamo variare la frequenza per ottenere effetti musicali piuttosto interessanti come distorsione, effetti sonori per film e giochi, tra gli altri.

Effetto della modulazione di frequenza sinusoidale

Questo è il codice in cui viene mostrata la frequenza di modulazione sinusoidale, secondo l'equazione:

Y=Ac*Cos(wo*Cos(wo/k))

Dove:

Ac =Ampiezza

wo =frequenza fondamentale

k =divisore scalare

>> fm='fm.ogg';
>> fs=44100;
>> t=0:1/fs:10;
>> w=2*pi*442*t;
>> audiowrite(fm, cos(cos(w/1500).*w), fs);
>> [y,fs]=audioread('fm.ogg');
>> figure (); plot (y);


La trama del segnale è:



Puoi utilizzare quasi ogni tipo di funzione periodica come modulatore di frequenza. Per questo esempio, qui abbiamo usato solo una funzione seno. Sentiti libero di provare a cambiare le frequenze delle funzioni, a mescolarle con altre funzioni o anche a cambiare il tipo di funzione.
          


Ubuntu
  1. Come annullare unrar in Ubuntu

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

  3. Come bloccare gli indirizzi IP e proteggere file e cartelle con apache e .htaccess in Ubuntu?

  4. Come eseguire file .exe in Ubuntu??

  5. Come installare Octave 5 su Ubuntu 18.04?

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 installare Octave su Ubuntu 20.04

Come installare Octave su Ubuntu 22.04 | 20.04 LTS

Come installare Octave su Ubuntu 20.04 LTS

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