Virtual Singer
Edizione dei fonemi
|
 |
Importante: questo
capitolo richiede nozioni
avanzate di trattamento
digitale del
segnale.
Per trarne utilità
è pertanto necessario
possedere alcune conoscenze
di acustica così come
del trattamento del
segnale.
|
|
Abbiamo visto che i fonemi sono
considerati come le entità acustiche
elementari, che compongono la voce parlata o
cantata (si vedano i capitoli: Aspetto tecnico della
voce")
Virtual Singer impiega algoritmi
complessi per sintetizzare fonemi
riconoscibili.
Questa sintesi, detta per formanti,
impiega calcoli interni originali, suggeriti in
modo particolare dai lavori di D. Klatt
(si veda: bibliografia)
nonché da altre pubblicazioni.
L'algoritmo è stato messo a punto grazie
ai risultati delle ricerche in materia di
sintesi della voce cantata. In "Edit voice", il
bottone "Advanced" apre la finestra di dialogo
che permette di ridefinire i fonemi. Le
modifiche che si possono apportare sono
limitate alla voce del cantore in corso
di edizione; il modo di pronunciare i fonemi da
parte degli altri cantori non sarà
modificato.
Un po' di tecnica
|
 |
 |
Domanda : Come fa
Virtual Singer a produrre un
fonema? |
|
Viene generato anzitutto un segnale digitale
di eccitazione (chiamato storicamente
"sorgente glottica") in funzione del volume e
della frequenza fondamentale del fonema. Questo
segnale è costituito da un semi-periodo
parabolico e da un semi-periodo di silenzio
(arresto glottico). Gli armonici n. 1
(frequenza fondamentale), 2 (doppio della
frequenza fondamentale) e 3 (triplo della
frequenza fondamentale) del segnale sono poi
amplificati perché possano approssimarsi
alla resa sonora di una sorgente vocale
cantata. In seguito questa sorgente è
più o meno amplificata secondo il valore
della vocalizzazione.
In seguito il trattamento digitale di questo
segnale si divide in due:
Trattamento a cascata, nel quale alla
sorgente glottica è aggiunto il rumore
detto di aspirazione. A questo punto la
sorgente è trattata con una rete di
filtri messi in serie (cascata), ognuno dei
quali corrisponde ad una formante.
Trattamento in parallelo, nel quale
alla sorgente glottica è aggiunto un
rumore di fricazione. La derivata di
ordine 1 di questa sorgente è poi trattata
con una rete di filtri messi in
parallelo, ognuno dei quali costituisce una
formante. L'ampiezza di ciascuna
formante è presa in considerazione per
aumentare più o meno l'influenza di una
piuttosto che di un'altra formante.
In seguito i risultati di questi due
trattamenti sono addizionati e poi
eventualmente modulati con una pulsazione a
bassa frequenza (20 Hz), destinata a tiprodurre
gli effetti della /r/ apicale, propria
di lingue come l'italiano o lo spagnolo.
Dopo amplificazione e regolazione dei gravi
e degli acuti, il segnale digitale è
finalmente pronto.
In concreto, questo algoritmo ha diverse
implicazioni importanti nella restituzione di
un fonema:
- L'ampiezza di ciascuna formante
è presa in considerazione soltanto nella
parte parallela del trattamento; di
conseguenza, anche se l'ampiezza della
formante è nulla, essa continuerà
ad avere effetto sul segnale risultante per
via della sua azione sulla parte a
cascata.
- Il rumore di aspirazione passa
attraverso la rete di filtri a
cascata; di conseguenza esso è
fortemente influenzato dalle formanti del
fonema e produce un rumore più filtrato
(più sordo), che può simulare i
rumori di soffio prodotti nella parte
posteriore del condotto vocale.
- La derivata di ordine 1 del rumore
fricativo passa attraverso la rete di
filtri in parallelo; ne risulta quindi un
rumore più acuto, adatto a simulare i
rumori sibilanti, prodotti dalla parte
anteriore della bocca.
I frammenti
|
 |
L'elemento di base della fonetica è il
fonema. Noi abbiamo potuto vedere che
certi fonemi complessi, quali i dittonghi,
potevano essere costituiti da più stati
successivi.
Questo ci porta a definire la nozione di
frammento, elemento che rappresenta uno
stato "fisso" all'interno del fonema. In
conseguenza di questo fatto, un fonema
può essere definito da uno o
più frammenti.
Nell'elenco di sinistra si potrà
trovare l'elenco di tutti i frammenti
che possono essere pronunciati, qualunque sia
la lingua impiegata.
I frammenti che appaiono in grassetto
sono quelli usati nella lingua corrente.
 |
Nota
importante:
In questa finestra è
possibile modificare il modo
di pronunciare uno o
più frammenti.
Questa modifica è
specifica per la voce
del cantore in corso di
edizione.
La modifica di un frammento in
questa finestra altererà
soltanto la pronuncia di
questo cantore e non quella
degli altri. |
|
Quando un frammento è stato modificato,
esso appare in colore nell'elenco. Quando ci si
ferma su un frammento modificato è
possibile ritrovare i valori per difetto
cliccando sul bottone Original sotto
l'elenco stesso.
Nella parte destra del riquadro molti
oggetti grafici permettono di modificare i dati
del frammento.
Nella parte superiore di questa finestra un
menu a discesa presenta il tipo di
frammento. Il tipo vocale significa che
il frammento può essere allungato quando
la sillaba che lo contiene è prolungata
nel tempo.
Se nella sillaba non ci sono vocali, Virtual
Singer cercherà allora di allungare i
frammenti del tipo vocale di
transizione.
Per difetto, cercherà di allungare le
consonanti vocalizzate e poi le
consonanti non vocalizzate.
La durata del frammento può
essere editata con un cursore.
Questa durata è la durata naturale
del frammento. Se il frammento è
allungato, la sua durata sarà
aumentata.
 |
Nota: Quando un
parametro è editato in
modo grafico, il suo valore
numerico appare in un riquadro
in basso a destra della
finestra. |
|
La parte statica del frammento
|
 |
Si tratta dell'insieme dei parametri che
definiscono il frammento nella sua parte
statica, cioè indipendentemente
dalle transizioni con i frammenti
adiacenti.
Questi parametri sono editati nella grande
area grafica nella parte destra della
finestra
Le formanti sono rappresentate per
mezzo di triangoli. Per ciascuna
formante, la frequenza mediana (in
Hz), l'ampiezza (in dB) e la banda
passante (base del triangolo, in Hz)
possono essere editate.
Una serie di bottoncini sotto questo grafico
permette di attivare o disattivare ciascuna
delle formanti nella parte paralella del
generatore di voce.
 |
Nota: Come abbiamo
visto precedentemente, anche
se una formante è
disattivata e non appare sul
grafico, la sua
frequenza e la sua
banda passante sono
impiegate nella parte a
cascata del generatore di
voce. |
|
A sinistra, una serie di cursori verticali
permette di regolare i livelli di
vocalizzazione (av), di pronunzia
della /r/ apicale (R1), di
aspirazione (asp) e di
fricazione (af).
 |
Astuzia: Quando si
fa l'edizione grafica
della frequenza
mediana o della banda
passante di una formante,
appaiono due barre verticali,
che indicano il limite
inferiore e quello
superiore incontrati
per questo parametro nella
totalità dei
frammenti.
Questo permette di evitare
di dare a questo parametro un
valore troppo "esotico". |
|
I grafici di evoluzione del
frammento
|
 |
Durante una sequenza parlata o cantata, il
passaggio da un frammento all'altro non è
istantaneo. In realtà, l'articolazione del
frammento seguente incomincia prima che quella
del frammento precedente sia totalmente
terminata. Questa transizione dolce tra i
frammenti si chiama coarticolazione.
Il grafico di evoluzione permette di
definire la curva di evoluzione nel
tempo per ciascuno dei parametri che
definiscono un frammento: frequenza delle
formanti, ampiezza, banda passante e i diversi
livelli. Il parametro la cui curva è in
corso di edizione appare cerchiato di rosso nel
grafico superiore.
Per ogni parametro si può dunque
definire una curva di evoluzione che gli è
propria impiegando la zona grafica della pare
inferiore della finestra.
Su questo grafico, il valore precedente
del parametro è rappresentato per
convenzione dall'ordinata più
bassa.
Il valore statico del frammento in corso di
edizione (definito nel grafico superiore)
è rappresentato dall'ordinata più
alta.
 |
Nota:questa è
una rappresentazione simbolica,
che non ha rapporto con la
grandezza effettiva del
parametro. |
|
L'evoluzione del parametro dopo il
valore precedente fino al valore statico del
frammento è definita da due
segmenti:
Un primo segmento, a sinistra, la cui
durata è "presa a prestito" dal
frammento precedente.
Esso farà evolvere il parametro dopo il
valore statico del frammento precedente fino
a un valore intermedio, definito per mezzo
dei due cursori verticali a sinistra del
grafico.
Il cursore Ratio (Ra) permette di
definire l'importanza che si dà
al valore precedente del parametro in
rapporto al valore da raggiungere nel
calcolo del valore intermedio.
Esempio: un rapporto pari allo 0% fissa
il valore intermedio direttamente al valore
da raggiungere.
Un rapporto pari al 100% fissa il valore
intermedio al valore precedente del
parametro.
Un rapporto pari al 50% fissa il valore
intermedio alla media fra il valore
precedente e il valore da raggiungere.
Lo spostamento iniziale (Od)
permette di aggiungere una valore fisso al
valore intermedio.
Esempio: per un rapporto (Ra) del 50% ed
una riduzione (Od) del 100%, il valore
intermedio sarà pari a 100 + la media
del valore precedente e del valore da
raggiungere.
Sullo schema, il secondo segmento
dà la durata di transizione fra il
valore intermedio e il valore statico da
raggiungere. Questa durata è presa dal
frammento in uso.
Simmetricamente, due segmenti a destra,
così come due cursori, permettono di
definire la transizione del parametro dopo il
suo valore statico corrente fino al valore del
frammento seguente.
Abbiamo detto che per ciascun parametro di
un frammento si può definire la sua curva
di evoluzione dopo il valore del
frammento precedente e verso il
valore del frammento seguente.
Ognuna di queste due curve di evoluzione
sarà impiegata a condizione che il
frammento corrente abbia una
priorità superiore al frammento
adiacente. La priorità è data dalla
posizione del frammento nella lista dei
frammenti. Quanto più alto è
il frammento nella lista, tanto maggiore
è la priorità.
Esempio:
Se noi abbiamo un'elenco contenente tre
frammenti: "a, b, c" classificati in
quest'ordine e se la sillaba da pronunciare
è "bacb", si otterrà, per ciascun
paramentro dei frammenti, l'evoluzione
seguente:
- valore statico del frammento
"b"
- evoluzione verso il valore del
frammento "a", data dai due primi segmenti
della curva di evoluzione di "a" (perché
"a" è prioritario rispetto a "b"),
- valore statico del frammento
"a",
- evoluzione verso il valore del
frammento "c" data dai due ultimi segmenti
della curva di evoluzione di "a" (perché
"a" è prioritario rispetto a "c"),
- valore statico del frammento
"c"
- evoluzione verso il valore del
frammento "b" data dai due primi segmenti
della curva di evoluzione di "b" (perché
"b" è prioritaio rispetto a "c"),
- valore statico del frammento
"b".
I bottoni d'azione
|
 |
Questi bottoni, posti in basso, a destra
della finestra, permettono di compiere un certo
numero di azioni:
Bottone "Try"
Permette di saggiare i frammenti grazie a una
frase di prova come già visto
precedentemente.
Di converso, quando si clicca sul bottone
Try appare la lista dei frammenti
impiegati per pronunciare il testo.
I Segni > e < che separano i frammenti
indicano la priorità dei frammenti gli
uni rispetto agli altri.
Si badi: quando si cambia di frammento
nell'elenco, viene inserita nella zona di
testo una parola di esempio, che impiega il
frammento stesso.
Menu a discesa di cambio di lingua
Quando si sceglie un'altra lingua, i
frammenti impiegati in questa lingua appaiono
in grassetto nell'elenco dei frammenti.
Bottoni "Copy/Paste"
Permettono di copiare l'insieme dei parametri
di un frammento e la loro evoluzione; poi, di
incollarli su un altro frammento.
|