Pagina precedente    Harmony Assistant    Pagina seguente 
 

Introduzione
Prodotti
What's new ?
Tutoriale
La notazione musicale
La riproduzione del suono
Devices/scripting
Virtual Singer
Panoramica
Creazione veloce
Canto "shape-note"
Gregoriano
Jazz Scat
Midi e ABC
Regole per scrivere
Technical background
Parametrizzazione
Il codice SAMPA
Domande frequenti
Riassunto dei comandi
Real Singer
Introduzione
Prima voce Real Singer
Aggiustamento dei margini
Fattori di cui tener conto
Messa a punto fonetica
Aspetti tecnici
Bibliography & Greetings
FAQ
Licenza d'utilizzo
Assistenza Tecnica
Appendice
Manuale stampabile


New feature : Not yet translated:

 

Real Singer

Aspetti tecnici

Nota: Questa pagina non è che una ristretta panoramica sui metodi impiegati da Real Singer per generare la voce.
Per usare Real Singer non è necessario leggerla.
Questo capitolo è destinato a rispondere alle domande tecniche che alcuni utenti potrebbero porsi per quanto riguarda gli algoritmi interni e non è dunque necessario per usare il prodotto.
 

Introduzione


Per produrre una sintesi vocale cantata realistica, la prima idea che viene in mente al programmatore è quella di impiegare una collezione di fonemi registrati allo scopo di generare la voce.

Si manifestano rapidamente tre problemi:

  1. L'algoritmo deve essere capace di generare il fonema a qualsiasi frequenza. Registrare tutti i fonemi possibili a tutte le frequenze possibili non è immaginabile perché un metodo di questo genere porterebbe a un procedimento di registrazione lungo e complesso e, allo stesso tempo, alla formazione di documenti di definizione della voce troppo voluminosi.
  2. L'algoritmo deve poter prolungare il fonema a piacere.
  3. L'algoritmo deve essere capace di generare una transizione dolce tra un fonema e l'altro al fine di simulare il fenomeno della coarticolazione (il fonema seguente incomincia ad essere sentito quando ancora il precedente non è completamente terminato).
Nella letteratura informatica è possibile trovare la soluzione per ognuno di questi problemi.

Per i problemi 1 e 2 sono già stati sviluppati alcuni algoritmi efficaci. Essi trattano direttamente il segnale digitale del campione registrato e permettono di cambiare sia la frequenza che la durata. Questi algoritmi sono impiegati nella maggior parte degli editori di suono per cambiare in modo indipendente la frequenza o la durata di un documento di suono. Essi sono parimenti impiegati con successo nella sintesi vocale parlata perché in questo caso le variazioni di frequenza sono molto lievi.
Tuttavia nella voce cantata questi algoritmi non possono essere utilizzati perché non sono più efficaci nel caso di cambi di frequenza molto importanti. Il risultato non è "falso" in se stesso, ma la voce risulta deformata esattamente come quando un nastro magnetico scorre troppo velocemente (voce da canarino).

Per il problema 3 una soluzione abituale è quella di non registrare soltanto i fonemi di una lingua, ma tutte le combinazioni possibili di due o tre fonemi (difonemi, trifonemi). Questo metodo immagazzina le coarticolazioni e rende più realistica la voce sintetizzata. Tuttavia anche in questo caso il processo di registrazione è molto lungo, complicato e necessita sovente di molte ore di registrazione da parte del locutore (cantore). Il documento di definizione della voce è spesso imponente (molti Mb).

Real Singer usa algoritmi originali per risolvere i tre problemi in una volta sola manipolando gli spettri di frequenza.
Alcuni sintetizzatori vocali hanno già tentato di utilizzare gli spettri di frequenza per generare la voce.
Tuttavia questo metodo si è dimostrato difficile da mettere in opera perché rigenerare un segnale partendo da uno spettro ed impiegando la trasformata inversa rapida di Fourier (IFFT) richiede di riaggiustare correttamente i valori di "fase"; in caso contrario i pezzi consecutivi del segnale non si uniscono correttamente ed è percepibile un rumore di fondo.

Spettro vocale


Quando si parla o si canta, la forma d'onda della sorgente glottica (suono prodotto dalle corde vocali quando sono eccitate dal flusso d'aria proveniente dai polmoni) è una combinazione di armonici (frequenze multiple di quella della fondamentale (f0).

In un grafico potenza/frequenza, il segnale prodotto dalla sorgente glottica somiglia ad un pettine, ciascun dente del quale è posto ad una distanza dall'origine, multipla di quella della fondamentale f0:

Quando la frequenza della voce aumenta, f0 scivola a destra (alte frequenze) e la differenza di frequenza fra due armonici consecutivi aumenta nella stessa misura.

Nel percorso del condotto vocale, le risonanze delle cavità esaltano certe frequenze e ne deprimono altre. Il risultato è che certi armonici risultano potenti mentre altri vengono smorzati. Lo spettro di risposta del condotto vocale dipende dal fonema pronunciato o cantato e resta più o meno invariato quando la frequenza aumenta o diminuisce.
La convoluzione di questi due spettri (sorgente e condotto vocale) dà lo pettro risultante, nel quale l'ascoltatore può individuare a volta a volta il fonema (ciò che è detto) e la frequenza (la nota cantata).
 

Le basi di Real Singer


Il compito di Real Singer è quello di applicare ad ogni fonema di una lingua data una deconvoluzione del segnale registrato per separare lo spettro della sorgente glottica da quello del condotto vocale. Dopo di che viene immagazzinato soltanto quello del condotto. In seguito sarà applicata a questo spettro una sorgente glottica artificiale per simulare il fonema originale registrato, cantato ad una frequenza qualsiasi.

Procedimento di registrazione

  • Si chiede all'utente di pronunciare una parola per ognuno dei fonemi della lingua scelta.
  • Ogni parola è registrata in dati sonori tradizionali.
  • A questo punto il fonema viene isolato nella parola, dopo di che si rifila il segnale per conservarne soltanto questa parte.
  • Viene calcolato uno spettro medio del suono.
  • Lo spettro è deconvoluto per eliminare l'influenza della sorgente glottica e conservare soltanto la curva di frequenza delle risonanze del condotto vocale.
  • Questo pseudo spettro è immagazzinato (meno di 100 valori per fonema).
  • Per i fonemi che variano nel tempo come le plosive vengono immagazzinati più pseudo-spettri al fine di conservare le informazioni sui cambiamenti nello spettro.
Questi algoritmi permettono di immagazzinare soltanto un piccolo numero di dati per spettro, il che consente di ottenire documenti di definizione della voce molto corti (meno di 40 Kb per voce dopo la compressione).

Generazione della voce

  • È estratto lo pseudo-spettro di ogni fonema da cantare. Nei punti di transizione fra due fonemi i due pseudo-spettri sono deformati e miscelati per simulare il processo di coarticolazione.
  • È generato un segnale sintetico di sorgente glottica alla frequenza generata. Lo spettro glottico della sorgente può essere comodamente modificato per cambiare il timbro globale della voce (per equalizzarla o applicare effetti vari del tipo vocoder).
  • La sorgente è ri-convoluta con lo pseudo-spettro del fonema.
  • Lo spettro è allora trattato con una trasformata inversa senza fase per generare un blocco di dati sonori standard.


(c) Myriad 2008