Come imitare / copiare / fingere la voce di qualcuno?


19

Esiste un'applicazione esistente per campionare la voce di qualcuno e usarla per modulare un'altra voce o sintetizzare un testo per assomigliare a quello originale?

Ad esempio, questa dimostrazione di sintesi vocale di AT&T ti consente di scegliere una voce e una lingua dai preset che suppongo siano basati su una voce umana che è stata campionata.

Come si chiama questo processo? È modulazione vocale? Sintesi vocale?


Immagino che se avessi abbastanza campioni di allenamento, per parole particolari, allora sarebbe possibile
Phorce,

Nella comunità di ricerca, questo si chiama "conversione vocale".
Pichenettes,

@ user1582478 Ne ho molti, come procederesti?
Clapas,

È possibile creare una voce da dire ad un amico, quindi prenderla in diretta su una telefonata come un morph vocale ma con la voce che hai creato?

Questo non fornisce una risposta alla domanda. Per criticare o richiedere chiarimenti a un autore, lascia un commento sotto il suo post: puoi sempre commentare i tuoi post e una volta che avrai una reputazione sufficiente sarai in grado di commentare qualsiasi post .
Matt L.

Risposte:


24

Una prima nota: la maggior parte dei moderni sistemi di sintesi vocale, come quello di AT&T a cui ti sei collegato, usa la sintesi vocale concatenativa . Questa tecnica utilizza un ampio database di registrazioni della voce di una persona che pronuncia una lunga raccolta di frasi, selezionate in modo tale che sia presente il maggior numero di combinazioni di fonemi. La sintesi di una frase può essere fatta semplicemente mettendo insieme segmenti di questo corpus - il bit impegnativo sta rendendo la messa insieme senza soluzione di continuità ed espressiva.

Ci sono due grandi ostacoli se vuoi usare questa tecnica per far dire al presidente Obama parole imbarazzanti:

  • Devi avere accesso a una vasta raccolta di frasi della voce target, preferibilmente registrate con condizioni di registrazione uniformi e buona qualità. AT&T ha un budget per registrare dozzine di ore dello stesso oratore nello stesso studio, ma se vuoi falsare la voce di qualcuno in soli 5 minuti di registrazione, sarà difficile.
  • Vi è una notevole quantità di allineamento manuale e preelaborazione prima che la materia prima registrata sia nel giusto "formato" per essere sfruttata da un sistema concatenativo di sintesi vocale.

La tua intuizione che questa è una possibile soluzione è valida - a condizione che tu abbia il budget per affrontare questi due problemi.

Fortunatamente, ci sono altre tecniche che possono funzionare con meno supervisione e meno dati. Il campo della sintesi vocale interessato a "falsificare" o "imitare" una voce di una registrazione è noto come conversione vocale . Hai una registrazione A1 dell'altoparlante target A che dice la frase 1 e una registrazione B2 dell'altoparlante sorgente B che dice la frase 2, miri a produrre una registrazione A2 dell'altoparlante A che dice la frase 2, possibilmente con accesso a una registrazione B1 dell'altoparlante B che riproduce con la sua voce la stessa espressione dell'oratore target.

Lo schema di un sistema di conversione vocale è il seguente:

  1. Le funzioni audio vengono estratte dalla registrazione A1 e raggruppate in classi acustiche. In questa fase, è un po 'come se le borse fossero tutte "a" dell'altoparlante A, tutte le "o" dell'altoparlante A, ecc. Si noti che si tratta di un'operazione molto più semplice e approssimativa del vero riconoscimento vocale - non ci interessa riconoscendo le parole correttamente formate - e non sappiamo nemmeno quale borsa contiene "o" e quale borsa contiene "a" - sappiamo solo che abbiamo più istanze dello stesso suono in ciascuna borsa.
  2. Lo stesso processo viene applicato su B2.
  3. Le classi acustiche da A1 e B2 sono allineate. Per continuare con l'analogia delle borse, ciò equivale a associare le borse dai passaggi 1 e 2, in modo che tutti i suoni che abbiamo in questa borsa dall'altoparlante A debbano corrispondere ai suoni che abbiamo in quella borsa dall'altoparlante B. Questa corrispondenza è molto più facile da fare se si utilizza B1 al passaggio 2.
  4. Una funzione di mappatura è stimata per ogni coppia di borse. Dato che sappiamo che questa borsa contiene suoni dell'altoparlante A e che contiene gli stessi suoni ma pronunciati dall'altoparlante B, possiamo trovare un'operazione (ad esempio una moltiplicazione di matrice sui vettori di caratteristiche) che li fa corrispondere. In altre parole, ora sappiamo come far suonare la "o" dell'altoparlante 2 come la "o" dell'altoparlante 1.
  5. In questa fase abbiamo tutte le carte in mano per eseguire la conversione vocale. Da ciascuna sezione della registrazione di B2, utilizziamo il risultato del passaggio 2. per capire a quale classe acustica corrisponde. Quindi utilizziamo la funzione di mappatura stimata al passaggio 4 per trasformare la sezione.

Insisto sul fatto che questo funziona a un livello molto più basso rispetto all'esecuzione del riconoscimento vocale su B2, e quindi a fare TTS usando la voce di A1 come corpus.

Varie tecniche statistiche sono utilizzate per i passaggi 1 e 2: GMM o VQ sono i più comuni. Per la parte 2 vengono utilizzati vari algoritmi di allineamento: questa è la parte più complicata ed è ovviamente più semplice allineare A1 vs B1 rispetto a A1 vs B2. Nel caso più semplice, metodi come il Dynamic Time Warping possono essere usati per effettuare l'allineamento. Per quanto riguarda il passaggio 4, la trasformazione più comune sono trasformazioni lineari (moltiplicazione di matrici) su vettori di caratteristiche. Trasformazioni più complesse rendono le imitazioni più realistiche ma il problema di regressione per trovare la mappatura ottimale è più complesso da risolvere. Infine, come per il passaggio 5, la qualità della risintesi è limitata dalle funzionalità utilizzate. Gli LPC sono generalmente più facili da gestire con un semplice metodo di trasformazione (prendere il frame del segnale -> stimare il residuo e lo spettro LPC -> se necessario residuo del pitch-shift -> applicare lo spettro LPC modificato al residuo modificato). Usare una rappresentazione del discorso che può essere invertita nel dominio del tempo e che fornisce una buona separazione tra prosodia e fonemi è la chiave qui! Infine, a condizione che tu abbia accesso a registrazioni allineate dell'altoparlante A e B che rechino la stessa frase, esistono modelli statistici che affrontano simultaneamente i passaggi 1, 2, 3 e 4 in una procedura di stima a modello singolo.

Potrei tornare con una bibliografia in seguito, ma un ottimo punto di partenza per avere un'idea del problema e il quadro generale utilizzato per risolverlo è Stylianou, Moulines e Cappé "Un sistema per la conversione vocale basato sulla classificazione probabilistica e un'armonica più modello di rumore ".

Per quanto ne sappia, non esiste un software ampiamente in grado di eseguire la conversione della voce - solo le proprietà di modifica del software della sorgente di origine - come i parametri della tonalità del tono e della lunghezza del tratto vocale (ad esempio il trasformatore IRCAM TRAX) - con i quali devi pasticciare nella speranza di creare il tuo registrando il suono più vicino alla voce target.


Risposta incredibile! Probabilmente non avrei potuto capirlo senza l'analogia delle borse ... C'è solo una cosa che non capisco dopo questa spiegazione così chiara: a quanto ho capito, puoi sempre avere B1! Grazie mille.
Clapas,

Non se A e B parlano una lingua diversa (ci sono applicazioni inquietanti di conversione vocale in cui TTS in un'altra lingua viene riprodotto con la tua voce!). Oppure se A e B sono entrambi personaggi famosi, per i quali non riesci a trovare una frase comune sufficientemente lunga in tutte le registrazioni disponibili al pubblico, e se non parli la loro lingua, non puoi usare una registrazione della tua voce come "ponte" tra i due.
Pichenettes,

Vedo. Grazie ancora @pichenettes. Proverò a dare un'occhiata al libro di Menction di Stylianou et al. Saluti
Clapas,

Aggiorna la tua risposta con i link agli acronimi che hai usato. Ad esempio LPC, VQ, GMM.
aaronsnoswell,

In risposta al commento di aaronsnoswell: LCP: codifica predittiva lineare, VQ: quantizzazione vettoriale, GMM: modello di miscela gaussiana. Non è ovvio che la semplice espansione di questi acronimi aiuta molto dal momento che ognuno è un'idea complicata, ma (approssimativamente) ogni idea si riferisce alla modellazione o alla spiegazione di dati pst o futuri da una serie di campioni esistenti.
GregD,

2

Puoi usare qualcosa come MorphVox . Ecco una dimostrazione. Il processo si chiama voice morphing o conversione. Se sei interessato agli aspetti tecnici, un articolo recente che puoi studiare è Conversione vocale usando la regressione dei minimi quadrati parziali del kernel dinamico .


La voce di Dark Vader è scossa amico, è stato divertente. Bene, ho visto effetti simili prima. Grazie
clapas,

1

Sto cercando la stessa cosa, ma non si può fare. C'è una società scozzese chiamata CereProc che esegue la modellazione vocale, ma ha bisogno di qualcuno nel suo laboratorio che registri ore di audio e il costo per modellare una singola voce è di circa $ 30.000 USD.


0

Quello che stai cercando si chiama vocoder.

Hai provato il vocoder di Audcity? Audacity può essere scaricato da: http://audacity.sourceforge.net/download . Una demo su come usarlo è disponibile su https://www.youtube.com/watch?v=J_rPEmJfwNs .


1
La vocalizzazione consiste nell'applicare l'inviluppo spettrale di una registrazione audio (che di solito è una voce) per filtrare un altro suono (che di solito è un suono di sintetizzatore grezzo, non modulato). Non può essere usato per simulare la voce di qualcuno.
Pichenettes,

Sì, conosco Audacity, ma non ho provato il vocoder. Penso che si possa applicare solo rumore bianco all'inviluppo della voce registrata. Grazie
clapas,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.