Pagina da (2004-2013):

Nuove Tecnologie e linguaggi Musicali - Conservatorio "A.Casella" L'Aquila

Scuola di Musica Elettronica

Laboratorio di analisi pitch / formanti usando WaveSurfer

Per le definizioni delle grandezze (e dei fenomeni) qui citati, e per il download del programma WaveSurfer, si veda la pagina sulla voce e le sue caratteristiche timbriche.

Per le prove qui suggerite occorre prima di tutto procurarsi un file di vocali. Ad esempio, registrando se stessi mentre si pronunciano delle vocali spaziate. Si suggerisce di registrare una versione solo pronunciata, ed una solo cantata, magari a diverse intonazioni. Iniziare con un file breve, sopratutto se si ha a disposizione una macchina non potente. Una volta appreso l'utilizzo di WaveSurfer, niente vieta di fare prove con strumenti musicali. I più indicati sono i fiati e gli archi, per la presenza di formanti (dovuti alla cassa o alla canna o alla campana).

WaveSurfer è multipiattaforma, e pertanto nel seguito si cercherà   di usare una terminologia multipiattaforma, o almeno valida sia per Windows, sia per MacOS. Questo andrà   ovviamente lievemente a scapito della precisione.

Anzitutto installate WaveSurfer. Si tratta di un'installazione sui generis, perché in realtà   basta scompattare l'eseguibile dovunque si desideri per essere pronti all'uso. Create una cartella (folder)  in un posto sensato, e piazzateci dentro l'eseguibile wavesurfer. Create un link (collegamento, alias) all'eseguibile sul desktop, in modo da potere lanciare WaveSurfer comodamente.

Questo è WaveSurfer appena aperto:

  

Tenete presente che WSRF (così abbrevieremo WaveSurfer nel futuro) è un'applicazione configurabile, ovvero adattabile al tipo di lavoro che si desidera fare.

Creiamo un nuovo file con il pulsante  , oppure con il menu File->New. Oppure apriamone uno gà   presente con . In tal caso é bene il file sia mono; 22060 o anche 16000 Hz di frequenza di campionamento è più che sufficiente. In ogni caso,  comparirà   una finestra nella quale si potrà   scegliere tra diverse configurazioni prestabilite (o precedentemente salvate) di WSRF:

Nel nostro caso, scegliere "Speech analysis". WSFR sistemerà   sul vostro schermo tre pane (pannelli), dopo che gli avrete dato il tempo di eseguire le elaborazioni necessarie se avete caricato un file già   esistente.

Pannello Wafeform (forma d'onda): E' la classica forma d'onda come si vede in tutti gli applicativi di trattamento audio. Questo pannello mostra però, a differenza dell'ultimo, e in sincrono con i seguenti due, il tratto di forma d'onda sul quale si è effettuato lo zoom.

Pannello Spettrogramma e formanti: In sincrono con il "pannello waveform", mostra lo spettrogramma (in toni di grigio: più scuro significa più intenso) con sovrapposto il grafico delle prime quattro formanti. Rispettivamente Rosso per F1, Verde per F2, Blu per F3 e Giallo per F4 (colori configurabili nelle preferenze ...).

Pannello Pitch: Qui il grafico del pitch (intonazione), doveè¨ possibile determinarlo. Attenzione, si tratta del pitch, non della fondamentale. Anche se la fondamentale è mancante, il pitch viene determinato lo stesso in modo corretto dalla spaziatura delle parziali (armoniche).

Pannello Waveform generale: Qui è sempre visibile la forma d'onda completa, di tutto il file. La porzione su cui si è eseguito lo zoom ha uno sfondo in rilievo. Questo sfondo rilevato si comporta come un pulsante, che potete trascinare per visualizzare una diversa porzione del file.

Come registrare un file, se non se ne è aperto uno già esistente: 

Controllare in File->Preferences ... che tutti i parametri siano a posto. In particolare, che siano corrette le selezioni degli ingressi / uscite audio. Poi premete il tasto rosso e parlate (o suonate). Alla file, tasto quadrato nero (come si farebbe in un comune registratore reale o virtuale).

Come selezionare una porzione della forma d'onda visibile nei tre pannelli superiori:

Fare click sul punto scelto a sinistra. Fare Maiuscolo-click sul  punto a destra. Oppure trascinate il mouse con il pulsante (sinistro) premuto. La zona selezionata assumerà   uno sfondo giallino

Come fare uno zoom della selezione:

Menu View->Zoom to selection. 

Come aggiustare la visibilità  dello spettrogramma.

Ci sono due fattori che influenzano la buona visibilità   dello spettrogramma: la lunghezza della frame sulla quale viene effettuato, e il contrasto dell'immagine. Quanto alla lunghezza della frame, è evidente che se essa è un multiplo esatto delle frequenze presenti nel segnale, queste capiteranno proprio in punti discreti esistenti nella trasformata di Fourier discreta, e quindi "brilleranno in tutto il loro splendore". Il peggio che possa capitare è che le frequenze presenti capitino esattamente a metà   tra un punto e l'altro del set discreto di frequenze. In questo caso sui due punti adiacenti capiterà   una "coda" della sync (sampling) centrata sulla esatta frequenza. Se la frequenza è molto "fissa" durante la frame (la sync è stretta), può addirittura quasi scomparire. Pi๠lunga è la frame, pi๠alta la risoluzione in frequenza, e quindi più difficile che alcune frequenze "sfuggano", nel senso appena descritto.

Per modificare lunghezza della frame e contrasto, fate click con il destro (Apple-click su MacIntosh, si suppone) nell'area spettrogramma. Comparirà   un interessante menu di due colonne:

A sinistra:

Spectrum Section: apre una finestra con lo spettro di potenza del segnale, con tutte le opzioni del caso.

LTAS: apre una finestra con il Long Term Average Spectrum, con tutte le opzioni del caso.

Spectrogram Controls ... Fa apparire questa finestrella:

Il cursore inferiore modifica la lunghezza della frame di analisi: Potete osservarne gli effetti in tempo reale nella finestra spettrogramma e scoprire che vi sono, come si diceva sopra, lunghezze privilegiate, e che le cose migliroano ingenerale aumentando la window. Trascinando il puntino quadrato, potete spostare la visualizzazione in un altro punto luminosità   / contrasto. Anche qui, l'effetto è in tempo reale.

A destra:

Create Pane, Delete Pane: potete aggiungere e togliere pannelli (ce ne sono di diverso tipo) alla finestra corrente di WSRF.

Apply configuration / Save configuration: Si puಠmodificare la configurazione (rispetto a quella scelta al momento di aprire il file), oppure salvare quella corrente (ottenuta magari aggiungendo e cancellando pannelli) dandogli un nome, per poterla successivamente applicare con il comando "Apply Configuration".

Properties: Tutti i parametri di funzionamento del Panello sul quale avete fatto click.. Nel pannello Formanti, ad esempio, si possono scegliere diverse cose, compreso l'ordine e il tipo di algoritmo LPC per la loro determinazione, oltre al numero di formanti calcolate. Nel pannello Pitch si puಠscegliere il tipo di algoritmo di inseguimento del pitch, e vari altri parametri.

Open Data File: Il file dati da visualizzare nel pannello corrente.

Save Data File: Salva i dati in un file. Le formanti in un file dal suffisso frm, il pitch in un file di suffisso f0. Sono file di testo ASCII, con valori leggibili, una riga per ogni frame.

Formati dei file:

Sia nei file delle formanti, che in quello del pitch, il separatore di colonna puಠessere scelto nelle Properties del Pane: Properties->Data Plot->Column delimiter

File del pitch (.f0):

Ogni riga corrisponde ad una frame (per default 10 msec. Il valore è comunque modificabile nelle Properties del Pane, finestra  Pitch Contour->Frame interval).

Se il metodo di inseguimento è ESPS (quello di default), ogni riga, corrispondente ad una frame come sopra descritto e contiene quattro colonne (campi): Pitch in Hz, probabilità   che sia una sonorizzazione (voicing: non un puro transitorio, come una vocale, una consonante sonora, e comunque non silenzio), errore medio quadratica locale, e il valore di picco normalizzato della correlazione incrociata che è stato trovato nella determinazione del pitch. 

File delle formanti (.frm):

Ogni riga corrisponde ad una frame  (per default 10 msec. Il valore è comunque modificabile nelle Properties del Pane, finestra  Formants->Frame interval).

Note critiche:

WSRF, nella determinazione delle formanti, si limita all'individuazione delle frequenze delle stesse. Questo è probabilmente tutto quello che serve, dal punto di vista linguistico. Dal punto di vista timbrico, sappiamo perಠche ci sono altri parametri importanti, legati alle formanti: oltre alla frequenza, il livello di picco (per stabilire le potenze relative di una formante rispetto all'altra), il Q (per stabilire la selettività   della formante, e per affrontare la questione della nasalità  ), e infine bisognerebbe individuare anche le antirisonanze, non solo per la nasalità , ma anche per altro. A quest'ultimo proposito, è noto che le casse degli strumenti a corda (archi in particolare) sono dotati di una coppia risonanza - antirisonanza alle basse frequenze (relativamente alla tessitura propria dello strumento) che sono generalmente imputate al volume della cassa stessa. E' un comportamento simile a quello di un quarzo in elettronica, o se si vuole di un circuito risonante LRC, che le usuali analisi LPC non sono in grado di rappresentare.

Osservate infine questa analisi delle vocali italiane /a/ /e/ /i/ /o/ /u/ pronunciate dal sottoscritto  (la prima sequenza non intonate: "vNI" nel pane delle annotazioni. La seconda intonate: "vI"). Osservate la vocale /o/ in entrambe le versioni. E' evidente una formante "debole" (tra la seconda e la terza), che perಠnon viene riconosciuta. e la seconda formante in questo caso finisce in prossimità   della prima (in modo simile a quanto accade per la /u/.

Attenzione! dato che il riconoscitore automatico puಠessere ingannato, WSRF permette di correggere "a mano" le formanti. basta disegnare con il mouse nel posto giusto.

Osservate anche l'involontaria (o se volete "istintiva") coloratura (pitch ascendente all'inizio) nelle vocali intonate.

HOME

Sito personale di Lorenzo Seno

English version

Musica in audio-video

Storia musica elettronica