Como imitar / copiar / falsificar a voz de alguém?

19

Existe algum aplicativo para provar a voz de alguém e usá-lo para modular qualquer outra voz ou sintetizar um texto para se parecer com o original?

Por exemplo, esta demonstração de conversão de texto em fala da AT&T permite que você escolha uma voz e um idioma das predefinições que, acredito, são baseadas em alguma voz humana que foi amostrada.

Como você chama esse processo? É modulação de voz? Síntese de voz?

clapas
fonte
Eu acho que se você teve amostras de treinamento suficientes, por palavras particulares, então pode ser possível
Phorce
Na comunidade de pesquisa, isso é chamado de "conversão de voz".
Pichenettes
@ user1582478 Eu tenho muitos deles, como você procederia?
clapas
É possível criar uma voz a partir de digamos que um amigo e depois levá-la ao vivo em um telefonema, como uma mudança de voz, mas com a voz que você criou?
Isso não fornece uma resposta para a pergunta. Para criticar ou solicitar esclarecimentos a um autor, deixe um comentário abaixo da postagem - você sempre pode comentar em suas próprias postagens e, quando tiver reputação suficiente , poderá comentar em qualquer post .
Matt L.

Respostas:

24

Uma primeira observação: os sistemas mais modernos de conversão de texto em voz, como o da AT&T a que você se vinculou, usam síntese concatenativa de fala . Essa técnica utiliza um grande banco de dados de gravações da voz de uma pessoa que pronuncia uma longa coleção de frases - selecionadas para que o maior número de combinações de fonemas esteja presente. A sintetização de uma sentença pode ser feita apenas juntando segmentos desse corpus - a parte desafiadora é tornar a junção perfeita e expressiva.

Existem dois grandes obstáculos se você quiser usar essa técnica para fazer o presidente Obama dizer palavras embaraçosas:

  • Você precisa ter acesso a uma grande coleção de frases da voz de destino, de preferência gravada com condições uniformes de gravação e boa qualidade. A AT&T tem um orçamento para gravar dezenas de horas do mesmo alto-falante no mesmo estúdio, mas se você quiser fingir a voz de alguém com apenas 5 minutos de gravação, será difícil.
  • Há uma quantidade considerável de alinhamento e pré-processamento manual antes que a matéria-prima registrada esteja no "formato" certo para ser explorada por um sistema de síntese de fala concatenativo.

Sua intuição de que essa é uma solução possível é válida - desde que você tenha o orçamento para resolver esses dois problemas.

Felizmente, existem outras técnicas que podem funcionar com menos supervisão e menos dados. O campo da síntese da fala interessado em "fingir" ou "imitar" uma voz de uma gravação é conhecido como conversão de voz . Você tem uma gravação A1 da frase 1 do locutor alvo A e uma gravação B2 do locutor de origem B dizendo a frase 2, você deseja produzir uma gravação A2 da locução A do locutor A, 2, possivelmente com acesso a uma gravação B1 do locutor B reproduzindo com sua voz, a mesma expressão que o falante alvo.

O esboço de um sistema de conversão de voz é o seguinte:

  1. Os recursos de áudio são extraídos da gravação A1 e agrupados em classes acústicas. Nesse estágio, é um pouco como ter as malas "a" do alto-falante A, todas "o" do alto-falante A, etc. reconhecendo palavras formadas corretamente - e nem sabemos qual sacola contém "o" e qual sacola contém "a" - apenas sabemos que temos várias instâncias do mesmo som em cada sacola.
  2. O mesmo processo é aplicado em B2.
  3. As classes acústicas de A1 e B2 estão alinhadas. Para continuar com a analogia das malas, isso equivale a emparelhar as malas dos passos 1 e 2, de modo que todos os sons que temos nessa maleta do alto-falante A correspondam aos sons que temos nessa maleta do alto-falante B. Essa correspondência é muito mais fácil se B1 for usado na etapa 2.
  4. Uma função de mapeamento é estimada para cada par de malas. Como sabemos que esta bolsa contém sons do alto-falante A e que os mesmos sons, mas ditos pelo alto-falante B - podemos encontrar uma operação (por exemplo, uma multiplicação de matrizes em vetores de características) que os faz corresponder. Em outras palavras, agora sabemos como fazer o "o" do alto-falante 2 soar como o "o" do alto-falante 1.
  5. Nesta fase, temos todos os cartões em mãos para realizar a conversão de voz. De cada fatia da gravação de B2, usamos o resultado da etapa 2. para descobrir a que classe acústica corresponde. Em seguida, usamos a função de mapeamento estimada na etapa 4 para transformar a fatia.

Insisto no fato de que isso opera em um nível muito mais baixo do que o reconhecimento de fala no B2 e, em seguida, no TTS usando a voz de A1 como corpus.

Várias técnicas estatísticas são usadas para as etapas 1 e 2 - GMM ou VQ sendo as mais comuns. Vários algoritmos de alinhamento são usados ​​na parte 2 - essa é a parte mais complicada e é obviamente mais fácil alinhar A1 x B1 do que A1 x B2. No caso mais simples, métodos como o Dynamic Time Warping podem ser usados ​​para fazer o alinhamento. Quanto à etapa 4, as transformações mais comuns são transformações lineares (multiplicação de matrizes) em vetores de características. Transformações mais complexas criam imitações mais realistas, mas o problema de regressão para encontrar o mapeamento ideal é mais complexo de resolver. Finalmente, como na etapa 5, a qualidade da ressíntese é limitada pelos recursos utilizados. Geralmente, os LPCs são mais fáceis de lidar com um método simples de transformação (considere o quadro de sinal -> estimar o residual e o espectro LPC -> se necessário, o pitch-shift residual -> aplicar espectro LPC modificado ao residual modificado). Usar uma representação da fala que possa ser invertida de volta ao domínio do tempo e que forneça uma boa separação entre prosódia e fonema é a chave aqui! Por fim, desde que você tenha acesso às gravações alinhadas dos alto-falantes A e B dizendo a mesma frase, existem modelos estatísticos que abordam simultaneamente as etapas 1, 2, 3 e 4 em um único procedimento de estimativa de modelo.

Posso voltar com uma bibliografia mais tarde, mas um bom lugar para começar a entender o problema e a estrutura geral usada para resolvê-lo é o "Sistema de conversão de voz de Stylianou, Moulines e Cappé", com base em classificação probabilística e harmônica. mais modelo de ruído ".

Até onde eu sei, não existe um software amplamente executando conversão de voz - apenas propriedades de modificação de software da fonte de voz - como parâmetros de altura do trato vocal e do trato vocal (por exemplo, transformador IRCAM TRAX) - com os quais você precisa mexer na esperança de tornar seu som de gravação mais próximo da voz alvo.

pichenettes
fonte
Resposta impressionante! Provavelmente eu não poderia entender isso sem a analogia das malas ... Só há uma coisa que eu não entendo depois dessa explicação tão clara: para meu entendimento, você sempre pode ter B1! Muito obrigado.
clapas
Não se A e B falarem um idioma diferente (existem aplicações estranhas de conversão de voz nas quais o TTS em outro idioma é reproduzido com sua própria voz!). Ou se A e B são pessoas famosas, para as quais você não consegue encontrar uma sentença comum suficientemente longa em todas as gravações disponíveis ao público, e se você não fala o idioma deles, não pode usar a gravação de sua voz como "ponte" entre os dois.
Pichenettes
Entendo. Mais uma vez obrigado @pichenettes. Vou tentar dar uma olhada no livro mencionado de Stylianou et al. Cheers
clapas
Atualize sua resposta com links para os acrônimos usados. Por exemplo, LPC, VQ, GMM.
precisa saber é o seguinte
Em resposta ao comentário de aaronsnoswell: LCP: codificação preditiva linear, VQ: quantização de vetores, GMM: modelo de mistura gaussiana. Não é óbvio que a mera expansão desses acrônimos ajuda muito, pois cada um é uma ideia complicada, mas (aproximadamente) cada ideia se relaciona à modelagem ou explicação de dados pst ou futuros de um conjunto de amostras existentes.
Gregd
2

Você pode usar algo como MorphVox . Aqui está uma demonstração. O processo é chamado de transformação ou conversão de voz. Se você estiver interessado nos aspectos técnicos, um artigo recente que você pode estudar é a Conversão de voz usando regressão de mínimos quadrados parciais do núcleo dinâmico .

Emre
fonte
A voz de Dark Vader balança mate, foi engraçado. Bem, eu já vi efeitos semelhantes antes. Obrigado
clapas
1

Estou procurando a mesma coisa, mas não pode ser feito. Há uma empresa na Escócia chamada CereProc que faz modelagem de voz, mas eles precisam de alguém em seu laboratório que grave horas de áudio e o custo para modelar uma única voz é de cerca de US $ 30 mil.

Jim
fonte
0

O que você está procurando é chamado de vocoder.

Você já experimentou o vocoder do Audcity? O Audacity pode ser baixado em: http://audacity.sourceforge.net/download . Uma demonstração de como usá-lo pode ser encontrada em https://www.youtube.com/watch?v=J_rPEmJfwNs .

SpeedCoder5
fonte
1
A vocodificação consiste em aplicar o envelope espectral de uma gravação de áudio (que geralmente é uma voz) para filtrar outro som (que geralmente é um som sintetizador bruto e não modulado). Não pode ser usado para falsificar a voz de alguém.
Pichenettes
Sim, eu conheço o Audacity, mas não tentei o vocoder. Eu acho que você só pode aplicar ruído branco ao envelope da voz gravada. Obrigado
clapas