¿Cómo imitar / copiar / falsificar la voz de alguien?

19

¿Existe alguna aplicación existente para muestrear la voz de alguien y usarla para modular cualquier otra voz o sintetizar un texto para que se parezca al original?

Por ejemplo, esta demostración de texto a voz de AT&T le permite elegir una voz y un idioma de los ajustes preestablecidos que supongo que se basan en alguna voz humana que se ha muestreado.

¿Cómo se llama este proceso? ¿Es modulación de voz? Síntesis de voz?

clapas
fuente
Supongo que si tuvieras suficientes muestras de entrenamiento, para palabras particulares, entonces podría ser posible
Phorce
En la comunidad de investigación, esto se llama "conversión de voz".
pichenettes
@ user1582478 Tengo muchos, ¿cómo procederías?
clapas
¿Es posible crear una voz de decir un amigo y luego tomarla en vivo en una llamada telefónica como una forma de voz pero con la voz que has creado?
Esto no proporciona una respuesta a la pregunta. Para criticar o solicitar una aclaración de un autor, deje un comentario debajo de su publicación; siempre puede comentar sus propias publicaciones, y una vez que tenga suficiente reputación podrá comentar cualquier publicación .
Matt L.

Respuestas:

24

Una primera nota: la mayoría de los sistemas modernos de texto a voz, como el de AT&T con el que se ha vinculado, utilizan síntesis de voz concatenativa . Esta técnica utiliza una gran base de datos de grabaciones de la voz de una persona que pronuncia una larga colección de oraciones, seleccionadas para que exista la mayor cantidad de combinaciones de fonemas. Se puede sintetizar una oración simplemente uniendo segmentos de este corpus: el desafío es hacer que la unión sea perfecta y expresiva.

Hay dos grandes obstáculos si desea utilizar esta técnica para hacer que el presidente Obama diga palabras embarazosas:

  • Debe tener acceso a una gran colección de oraciones de la voz de destino, preferiblemente grabadas con condiciones de grabación uniformes y de buena calidad. AT&T tiene un presupuesto para grabar docenas de horas del mismo orador en el mismo estudio, pero si quieres fingir la voz de alguien con solo 5 minutos de grabación, será difícil.
  • Existe una considerable cantidad de alineamiento manual y preprocesamiento antes de que la materia prima grabada esté en el "formato" correcto para ser explotada por un sistema de síntesis de voz concatenante.

Su intuición de que esta es una posible solución es válida, siempre que tenga el presupuesto para abordar estos dos problemas.

Afortunadamente, existen otras técnicas que pueden funcionar con menos supervisión y menos datos. El campo de síntesis de voz interesado en "falsificar" o "imitar" una voz de una grabación se conoce como conversión de voz . Tiene una grabación A1 del hablante objetivo A que dice la oración 1, y una grabación B2 del hablante fuente B que dice la oración 2, tiene como objetivo producir una grabación A2 del hablante A que dice la oración 2, posiblemente con acceso a una grabación B1 de la reproducción del hablante B con su voz la misma expresión que el hablante objetivo.

El esquema de un sistema de conversión de voz es el siguiente:

  1. Las características de audio se extraen de la grabación A1, y se agrupan en clases acústicas. En esta etapa, es un poco como si las bolsas fueran todas "a" del hablante A, todas "o" del hablante A, etc. Tenga en cuenta que esta es una operación mucho más simple y tosca que el verdadero reconocimiento de voz: no nos interesa reconociendo palabras correctamente formadas, y ni siquiera sabemos qué bolsa contiene "o" y qué bolsa contiene "a", solo sabemos que tenemos múltiples instancias del mismo sonido en cada bolsa.
  2. El mismo proceso se aplica en B2.
  3. Las clases acústicas de A1 y B2 están alineadas. Para continuar con la analogía de las bolsas, esto es equivalente a emparejar las bolsas de los pasos 1 y 2, de modo que todos los sonidos que tenemos en esta bolsa del altavoz A deben corresponder a los sonidos que tenemos en esa bolsa del altavoz B. Esta coincidencia es mucho más fácil de hacer si se usa B1 en el paso 2.
  4. Se estima una función de mapeo para cada par de bolsas. Como sabemos que esta bolsa contiene sonidos del hablante A, y esa bolsa tiene los mismos sonidos pero dicho por el hablante B, podemos encontrar una operación (por ejemplo, una multiplicación de matriz en vectores de características) que los haga corresponder. En otras palabras, ahora sabemos cómo hacer que la "o" del altavoz 2 suene como la "o" del altavoz 1.
  5. En esta etapa tenemos todas las tarjetas en la mano para realizar la conversión de voz. De cada segmento de la grabación de B2, utilizamos el resultado del paso 2. para determinar a qué clase acústica corresponde. Luego usamos la función de mapeo estimada en el paso 4 para transformar el segmento.

Insisto en el hecho de que esto funciona a un nivel mucho más bajo que realizar reconocimiento de voz en B2, y luego hacer TTS usando la voz de A1 como corpus.

Se utilizan varias técnicas estadísticas para los pasos 1 y 2: GMM o VQ son las más comunes. Se utilizan varios algoritmos de alineación para la parte 2: esta es la parte más complicada, y obviamente es más fácil alinear A1 vs B1 que A1 vs B2. En el caso más simple, métodos como Dynamic Time Warping pueden usarse para hacer la alineación. En cuanto al paso 4, la transformación más común son las transformaciones lineales (multiplicación de matrices) en los vectores de características. Las transformaciones más complejas crean imitaciones más realistas, pero el problema de regresión para encontrar el mapeo óptimo es más complejo de resolver. Finalmente, en cuanto al paso 5, la calidad de la resíntesis está limitada por las características utilizadas. Los LPC son generalmente más fáciles de manejar con un método de transformación simple (tomar marco de señal -> estimar residual y espectro de LPC -> si es necesario residual de cambio de tono -> aplicar espectro de LPC modificado al residuo modificado). ¡La clave aquí es utilizar una representación del habla que pueda invertirse nuevamente en el dominio del tiempo y que proporcione una buena separación entre prosodia y fonemas! Finalmente, siempre que tenga acceso a grabaciones alineadas de los hablantes A y B que dicen la misma oración, hay modelos estadísticos que abordan simultáneamente los pasos 1, 2, 3 y 4 en un solo procedimiento de estimación de modelo.

Podría volver con una bibliografía más tarde, pero un muy buen lugar para comenzar a tener una idea del problema y el marco general utilizado para resolverlo es el sistema "A de Stylianou, Moulines y Cappé" para la conversión de voz basado en clasificación probabilística y un armónico. modelo plus de ruido ".

Que yo sepa, no existe una gran cantidad de software que realice la conversión de voz, solo propiedades de modificación de software de la voz de origen, como parámetros de tono y longitud del tracto vocal (por ejemplo, el transformador IRCAM TRAX), con los que tiene que meterse con la esperanza de hacer su grabación de sonido más cerca de la voz objetivo.

pichenettes
fuente
Respuesta impresionante! Probablemente no podría haberlo entendido sin la analogía de las bolsas ... Solo hay una cosa que no entiendo después de esta explicación tan clara: a mi entender, ¡siempre puedes tener B1! Muchas gracias.
clapas
No si A y B hablan un idioma diferente (¡hay aplicaciones asombrosas de conversión de voz en las que TTS en otro idioma se reproduce con su propia voz!). O si A y B son personas famosas, para las cuales no puede encontrar una oración común lo suficientemente larga en todas las grabaciones disponibles públicamente, y si no habla su idioma, entonces no puede usar una grabación de su voz como "puente" entre los dos.
pichenettes
Veo. Gracias de nuevo @pichenettes. Intentaré echar un vistazo al libro mencionado de Stylianou et al. Saludos
clapas
Actualice su respuesta con enlaces a las siglas que utilizó. Por ejemplo, LPC, VQ, GMM.
aaronsnoswell
En respuesta al comentario de aaronsnoswell: LCP: codificación predictiva lineal, VQ: cuantificación vectorial, GMM: modelo de mezcla gaussiana. No es obvio que la simple expansión de estos acrónimos ayuda mucho, ya que cada uno es una idea complicada, pero (aproximadamente) cada idea se relaciona con el modelado o la explicación de pst o datos futuros de un conjunto de muestras existentes.
GregD
2

Puedes usar algo como MorphVox . Aquí hay una demostración. El proceso se llama transformación de voz o conversión. Si está interesado en los aspectos técnicos, un artículo reciente que puede estudiar es Conversión de voz usando la regresión de mínimos cuadrados parciales del núcleo dinámico .

Emre
fuente
La voz de Dark Vader es genial, fue divertido. Bueno, he visto efectos similares antes. Gracias
clapas
1

Estoy buscando lo mismo, pero no se puede hacer. Hay una compañía en Escocia llamada CereProc que hace modelado de voz, pero necesitan a alguien en su laboratorio que grabe horas de audio y el costo para modelar una sola voz es de alrededor de USD $ 30K.

Jim
fuente
0

Lo que estás buscando se llama vocoder.

¿Has probado el vocoder de Audcity? Audacity se puede descargar desde: http://audacity.sourceforge.net/download . Puede encontrar una demostración sobre cómo usarlo en https://www.youtube.com/watch?v=J_rPEmJfwNs .

SpeedCoder5
fuente
1
Vocoding consiste en aplicar la envoltura espectral de una grabación de audio (que generalmente es una voz) para filtrar otro sonido (que generalmente es un sonido de sintetizador sin modulación). No se puede usar para fingir la voz de alguien.
pichenettes
Sí, conozco a Audacity, pero no probé el vocoder. Creo que solo puede aplicar ruido blanco al sobre de la voz grabada. Gracias
clapas