Funzioni > Lettura e scrittura di file > Esempio: utilizzo di file WAV e creazione di spettrogrammi
  
Esempio: utilizzo di file WAV e creazione di spettrogrammi
Utilizzare le funzioni READWAV e GETWAVINFO per leggere e ottenere informazioni sul formato da file WAV.
Recupero di informazioni WAV
1. Utilizzare GETWAVINFO per ottenere informazioni da un file audio. Questo file audio è un campione della vocalizzazione dei delfini stenella. È possibile utilizzare qualsiasi lettore musicale per riprodurlo.
Fare clic per copiare questa espressione
Il vettore contiene il numero di canali, la frequenza di campionamento, la risoluzione (numero di bit per campione) e il numero medio di byte al secondo che un lettore audio deve elaborare per riprodurre l'audio in tempo reale.
2. Valutare le variabili del vettore.
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Lettura di un file audio
1. Utilizzare la funzione READWAV per leggere il file audio e salvarlo in un vettore.
Fare clic per copiare questa espressione
Se READWAV restituisce una matrice, le colonne successive rappresentano i canali di dati separati.
2. Utilizzare la funzione length per calcolare il numero totale di campioni.
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
3. Tracciare il grafico del segnale.
Fare clic per copiare questa espressione
4. Utilizzare le funzioni match, max e min per trovare i campioni con le grandezze massima e minima, quindi individuarne il tempo di campionamento corrispondente.
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
5. Tracciare il grafico dei primi 25000 campioni e utilizzare indicatori per mostrare il campione con la grandezza massima.
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Creare uno spettrogramma
Analizzare i dati audio dividendoli in piccole sezioni di tempo e visualizzando il contenuto di frequenza di ogni sezione. In questo esempio viene utilizzata una sezione di 128 campioni.
1. Definire un vettore di dimensioni sezione in potenze di 2.
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
ss rappresenta il numero di righe nella matrice di sezioni.
2. Definire un vettore dei fattori di sovrapposizione tra 0-90%, con incrementi di 10.
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
La sovrapposizione non può essere 100%.
3. Impostare il fattore di sovrapposizione e utilizzare le funzioni floor e ceil per definire le dimensioni della matrice.
Fare clic per copiare questa espressione
Se la sovrapposizione è impostata su zero, il vettore Data è suddiviso in un numero di blocchi ss-long. Man mano che aumenta la sovrapposizione, aumenta anche il numero di blocchi ss lunghi, come illustrato nell'equazione riportata di seguito.
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Ogni combinazione di dimensione sezione e fattore di sovrapposizione determina dimensioni diverse delle matrici di sezioni:
Fare clic per copiare questa espressione
Se si utilizza ss=128 e overlap=40%, la matrice 128x2602 risultante può richiedere molto tempo per la creazione e la tracciatura.
4. Creare il vettore TI per facilitare l'impostazione di ti su uno dei dieci valori uguali o inferiori al valore di ti.
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
5. Impostare ti su uno degli elementi centrali di TI e osservare il grafico a curve di livello nella parte inferiore del foglio di lavoro.
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Le nuove dimensioni della matrice sezione sono ora:
Fare clic per copiare questa espressione
6. Assegnare a ogni sezione una finestra Hamming.
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
7. Utilizzare la funzione log per rappresentare le frequenze in decibel.
Fare clic per copiare questa espressione
8. Utilizzare la funzione dft (o l'obsoleta fft) per trovare la trasformata di Fourier della sezione.
Fare clic per copiare questa espressione
Utilizzare l'obsoleta funzione fft, disattivare la regione precedente e attivare la regione seguente.
Fare clic per copiare questa espressione
9. Utilizzare un grafico a curve di livello per tracciare spectra.
Fare clic per copiare questa espressione
10. Esperimento con diversi valori di dimensioni sezione (ss), overlap e ti. Tuttavia, per osservare l'effetto sui tempi di calcolo e tracciatura, si consiglia di modificare un parametro alla volta lasciando i valori di default [128 0.4 82] per gli altri due insiemi.
Le impostazioni correnti di ss, overlap e ti sono illustrate di seguito:
Fare clic per copiare questa espressione