ES3045087T3 - Audio generator and methods for generating an audio signal - Google Patents

Audio generator and methods for generating an audio signal

Info

Publication number
ES3045087T3
ES3045087T3 ES21791345T ES21791345T ES3045087T3 ES 3045087 T3 ES3045087 T3 ES 3045087T3 ES 21791345 T ES21791345 T ES 21791345T ES 21791345 T ES21791345 T ES 21791345T ES 3045087 T3 ES3045087 T3 ES 3045087T3
Authority
ES
Spain
Prior art keywords
data
target data
text
audio
audio generator
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES21791345T
Other languages
English (en)
Inventor
Ahmed Mustafa Mahmoud Ahmed
Nicola Pia
Guillaume Fuchs
Markus Multrus
Srikanth Korse
Kishan Gupta
Jan Büthe
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fraunhofer Gesellschaft zur Foerderung der Angewandten Forschung eV
Original Assignee
Fraunhofer Gesellschaft zur Foerderung der Angewandten Forschung eV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fraunhofer Gesellschaft zur Foerderung der Angewandten Forschung eV filed Critical Fraunhofer Gesellschaft zur Foerderung der Angewandten Forschung eV
Application granted granted Critical
Publication of ES3045087T3 publication Critical patent/ES3045087T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/02Methods for producing synthetic speech; Speech synthesisers
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0475Generative networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/09Supervised learning
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/094Adversarial learning
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/02Methods for producing synthetic speech; Speech synthesisers
    • G10L13/04Details of speech synthesis systems, e.g. synthesiser structure or memory management
    • G10L13/047Architecture of speech synthesisers
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/08Text analysis or generation of parameters for speech synthesis out of text, e.g. grapheme to phoneme translation, prosody generation or stress or intonation determination
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/27Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique
    • G10L25/30Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique using neural networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Multimedia (AREA)
  • Acoustics & Sound (AREA)
  • Human Computer Interaction (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Electrically Operated Instructional Devices (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Stereophonic System (AREA)

Abstract

Se describen técnicas para generar una señal de audio y entrenar un generador de audio. Un generador de audio (10) puede generar una señal de audio (16) a partir de una señal de entrada (14) y datos objetivo (12) que representan la señal de audio (16). Los datos objetivo (12) se derivan del texto. El generador de audio comprende: un primer bloque de procesamiento (40, 50, 50a-50h), que recibe los primeros datos (15, 59a) derivados de la señal de entrada (14) y emite los primeros datos de salida (69); un segundo bloque de procesamiento (45), que recibe, como segundos datos, los primeros datos de salida (69) o datos derivados de los primeros datos de salida (69). El primer bloque de procesamiento (50) comprende: un conjunto de acondicionamiento de capas aprendibles (71, 72, 73) configurado para procesar los datos objetivo (12) para obtener parámetros de características de acondicionamiento (74, 75); y un elemento de estilo (77), configurado para aplicar los parámetros de característica de acondicionamiento (74, 75) a los primeros datos (15, 59a) o a los primeros datos normalizados (59, 76'). (Traducción automática con Google Translate, sin valor legal)

Description

[0001] DESCRIPCIÓN
[0002] Generador de audio y procedimientos para generar una señal de audio
[0003] Observaciones introductorias
[0004] En lo sucesivo, se describirán diferentes realizaciones y aspectos inventivos. También, las realizaciones adicionales se definirán por las reivindicaciones adjuntas. Cabe observar que cualquier realización definida por las reivindicaciones puede ser suplementada por cualquiera de los detalles (características y funcionalidades) explicados en esta descripción.
[0005] También, las realizaciones explicadas en esta descripción pueden utilizarse individualmente y también pueden ser suplementadas por las características de esta invención o por cualquier característica incluida en las reivindicaciones.
[0006] También, cabe observar que los aspectos individuales descritos en esta invención pueden utilizarse individualmente o en combinación. De este modo, pueden añadirse detalles a cada uno de los aspectos individuales sin añadir detalles a otros de dichos aspectos.
[0007] También cabe observar que la presente descripción describe, explícita o implícitamente, características que se pueden utilizar en un generador de audio y/o un procedimiento y/o un producto de programa informático. De este modo, cualquiera de las características descritas en esta invención puede utilizarse en el contexto de un dispositivo, un procedimiento y/o un producto de programa informático.
[0008] Además, las características y funcionalidades descritas en esta invención, relacionadas con un procedimiento también pueden utilizarse en un dispositivo (configurado para llevar a cabo esa funcionalidad). Además, cualquiera de las características y funcionalidades descritas en esta invención con respecto a un dispositivo también pueden utilizarse en un procedimiento correspondiente. En otras palabras, los procedimientos descritos en esta invención pueden ser suplementados por cualquiera de las características y funcionalidades descritas con respecto a los dispositivos.
[0009] También, cualquiera de las características y funcionalidades descritas en esta invención pueden implementarse en hardware o en software o utilizando una combinación de hardware o software, como se describirá en la sección de “alternativas de implementación”.
[0010] Antecedentes
[0011] En años recientes, los vocoders neurales han superado a las estrategias de síntesis de voz clásicas en términos de naturalidad y calidad perceptual de las señales de voz sintetizadas. Los mejores resultados pueden lograrse con vocoders neurales computacionalmente pesados como WaveNet y WaveGlow, mientras que las arquitecturas de peso ligero basadas en Redes Antagónicas Generativas, por ejemplo, MelGAN y WaveGAN Paralelo, aún son inferiores en términos de la calidad perceptual.
[0012] Los modelos generativos que utilizan Aprendizaje Profundo para generar formas de onda de audio, tales como WaveNet, LPCNet y WaveGlow, han proporcionado avances significativos en la síntesis de voz con sonido natural. Esos modelos generativos llamados vocoders neurales en las aplicaciones de Texto a Voz (Text-To-Speech, TTS), superan a los procedimientos de síntesis paramétricos y concatenativos. Pueden acondicionarse utilizando representaciones comprimidas de la voz objeto (por ejemplo, espectrograma de Mel) para reproducir un altavoz dado y una pronunciación dada.
[0013] Los trabajos anteriores han mostrado que puede lograrse una codificación de voz clara una velocidad de bits muy baja utilizando modelos generativos en el lado del decodificador. Esto puede hacerse acondicionando los vocoders neurales con los parámetros de un codificador de voz clásico de baja velocidad de bits.
[0014] Los vocoders neurales también se utilizan para tareas de mejora de la voz, como eliminación de ruido o desreverberación de la voz.
[0015] El problema principal de esos modelos generativos profundos usualmente es el alto número de parámetros requeridos y la complejidad resultante durante el entrenamiento y síntesis (interferencia). Por ejemplo, el WaveNet, considerado como estado de la técnica para la calidad de la voz sintetizada, genera secuencialmente las muestras de audio una por una. Este proceso es muy lento y computacionalmente complicado y no puede efectuarse en tiempo real.
[0016] [0012]Recientemente, se han propuesto vocoders antagónicos de peso ligero basados en Redes Antagónicas Generativas (Generative Adversarial Networks, GAN), como MelGAN y WaveGAN Paralelo, para la generación rápida de formas de onda. Sin embargo, la calidad perceptual presentada de la voz generada utilizando esos modelos es significativamente inferior a la base de vocoders neurales como WaveNet y WaveGlow. Se ha propuesto una GAN de Texto a Voz (GAN for Text-to-Speech, GAN-TTS) para cerrar esta brecha de calidad, pero aún a un alto coste computacional.
[0017] Existe una gran variedad de vocoders neurales, todos los cuales tienen desventajas. Los vocoders autorregresivos, por ejemplo, WaveNet y LPCNet, pueden tener muy alta calidad y ser adecuados para la optimización para la interferencia en una CPU, pero no son adecuados para utilizarse en GPU, puesto que su procesamiento no puede paralelizarse fácilmente y no pueden ofrecer procesamiento en tiempo real sin comprometer la calidad.
[0018] Los vocoders de flujos normalizantes, por ejemplo, WaveGlow, también pueden tener muy alta calidad y ser adecuados para la interferencia en una GPU, pero comprenden un modelo muy complejo, el cual requiere mucho tiempo de preparar y optimizar, tampoco es adecuado para dispositivos integrados.
[0019] Los vocoders GAN, por ejemplo, MelGAN y WaveGAN Paralelo pueden ser adecuados para la interferencia en GPU y de peso ligero, pero su calidad es más baja que la de los modelos autorregresivos.
[0020] En resumen, aún no existe una solución de baja complejidad que proporcione alta fidelidad de voz. Las GAN son la estrategia más estudiada para lograr esa meta. La presente invención es una solución eficiente para este problema.
[0021] Un objeto de la presente invención es proporcionar una solución de vocoder neural de peso ligero que genera voz en calidad muy alta y se puede preparar con recursos computacionales limitados, por ejemplo, para TTS (texto a voz).
[0022] El documento CN 110060690 B describe un procedimiento de conversión de múltiples a muchos altavoces.
[0023] Breve descripción de las figuras
[0024] Las realizaciones según la presente invención se describirán posteriormente tomando como referencia las figuras adjuntas en las cuales:
[0025] la Fig.1 muestra una arquitectura de generador de audio según realizaciones de la presente invención, la Fig. 2 muestra una estructura discriminadora que puede utilizarse para preparar el generador de audio según la presente invención,
[0026] la Fig.3 muestra una estructura de una porción del generador de audio según realizaciones de la presente invención, la Fig.4 muestra una estructura de una porción del generador de audio según realizaciones de la presente invención y
[0027] la Fig.5 muestra los resultados de una prueba de oyente experto MUSHRA de modelos diferentes.
[0028] la Fig.6 muestra una arquitectura de generador de audio según realizaciones de la presente invención
[0029] la Fig.7 muestra operaciones que son realizadas en señales según la invención.
[0030] la Fig.8 muestra las operaciones en una aplicación de texto a voz utilizando el generador de audio.
[0031] las Fig.9a-9c muestran ejemplos de generadores.
[0032] la Fig.10 muestra varias posibilidades para las entradas y salidas de un bloque que puede ser interno o externo al generador de la invención.
[0033] En las figuras, signos de referencia similares denotan elementos y características similares.
[0034] Breve resumen de la invención
[0035] [0021]Según un aspecto, se proporciona un generador de audio, configurado para generar una señal de audio a partir de una señal de entrada y datos objetivo, representando los datos objetivo la señal de audio, comprendiendo: un primer bloque de procesamiento, configurado para recibir primero los datos derivados de la señal de entrada y para generar primeros datos de salida, donde los primeros datos de salida comprenden una pluralidad de canales y
[0036] un segundo bloque de procesamiento, configurado para recibir, como segundos datos, los primeros datos de salida o datos derivados de los primeros datos de salida,
[0037] donde el primer bloque de procesamiento comprende para cada canal de los primeros datos de salida:
[0038] un conjunto de acondicionamiento de capas asimilables configurado para procesar los datos objetivo para obtener los parámetros de las características de condicionamiento, derivándose los datos objetivo de un texto; y
[0039] un elemento de estilo, configurado para aplicar los parámetros de las características de acondicionamiento a los primeros datos o primeros datos normalizados; y
[0040] donde el segundo bloque de procesamiento se configura para combinar la pluralidad de canales de los segundos datos para obtener la señal de audio.
[0041] El generador de audio puede ser tal que los datos objetivo sean un espectrograma. El generador de audio puede ser tal que los datos objetivo sean un espectrograma de Mel.
[0042] El generador de audio puede ser tal que los datos objetivo comprendan al menos una característica acústica entre un log de espectrograma o un MFCC y un espectrograma de Mel u otro tipo de espectrograma obtenido de un texto.
[0043] El generador de audio puede configurarse para obtener los datos objetivo convirtiendo una entrada en forma de texto o elementos de texto en al menos una característica acústica.
[0044] El generador de audio puede configurarse para obtener los datos objetivo convirtiendo al menos una característica lingüística en al menos una característica acústica.
[0045] El generador de audio puede comprender al menos una característica lingüística entre un fonema, prosodia de palabras, entonación, saltos de frase y pausas completas obtenidas de un texto.
[0046] El generador de audio puede configurarse para obtener los datos objetivo convirtiendo una entrada en forma de texto o elementos de texto en al menos una característica lingüística.
[0047] El generador de audio puede ser tal que los datos objetivo comprendan al menos uno entre un carácter y una palabra obtenida de un texto.
[0048] El generador de audio puede ser tal que los datos objetivo se deriven de un texto utilizando un modelo estadístico, efectuando el análisis de texto y/o utilizando un modelo acústico.
[0049] El generador de audio puede ser tal que los datos objetivo se deriven de un texto utilizando un modelo asimilable efectuando el análisis de texto y/o utilizando un modelo acústico.
[0050] El generador de audio puede ser tal que los datos objetivo se deriven de un texto utilizando un algoritmo basado en reglas que efectúe el análisis de texto y/o un modelo acústico.
[0051] El generador de audio puede configurarse para obtener los datos objetivo elaborando una entrada.
[0052] El generador de audio puede configurarse para derivar los datos objetivo a través de al menos una capa determinística.
[0053] El generador de audio puede configurarse para derivar los datos objetivo a través de al menos una capa asimilable.
[0054] El generador de audio puede ser tal que el conjunto de acondicionamiento de capas asimilables conste de una o al menos dos capas de convolución.
[0055] El generador de audio puede ser tal que una primera capa de convolución se configure para convolucionar los datos objetivo o datos objetivo muestreados de manera ascendente para obtener primeros datos convolucionados utilizando una primera función de activación.
[0056] El generador de audio puede ser tal que el conjunto de acondicionamiento de capas asimilables y el elemento de estilo sean parte de una capa de peso o ponderación en un bloque residual de una red neural comprendiendo uno o más bloques residuales.
[0057] [0038]También se propone un procedimiento, por ejemplo, para generar una señal de audio mediante un generador de audio a partir de una señal de entrada y datos objetivo, representando los datos objetivo (obtenidos del texto) la señal de audio, comprendiendo:
[0058] recibir, mediante un primer bloque de procesamiento, los primeros datos derivados de la señal de entrada; para cada canal de los primeros datos de salida:
[0059] procesar, mediante un conjunto de acondicionamiento de capas asimilables del primer bloque de procesamiento, los datos objetivo, derivados del texto, para obtener parámetros de características de acondicionamiento; y
[0060] aplicar, mediante un elemento de estilo del primer bloque de procesamiento, los parámetros de características de acondicionamiento a los primeros datos o a los primeros datos normalizados;
[0061] emitir, mediante el primer bloque de procesamiento, los primeros datos de salida comprendiendo una pluralidad de canales;
[0062] recibir, mediante un segundo bloque de procesamiento, como segundos datos, los primeros datos de salida o los datos derivados de los primeros datos de salida; y
[0063] combinar, mediante el segundo bloque de procesamiento, la pluralidad de canales de los segundos datos para obtener la señal de audio.
[0064] Es en este contexto que proponemos el StyleMelGAN (por ejemplo, el generador de audio 10), un vocoder neural de peso ligero, que permite la síntesis de voz de alta fidelidad con baja complejidad computacional. El StyleMelGAN es un modelo de retroalimentación, completamente convolucional, que utiliza la Desnormalización Adaptable Temporal, TADE, (por ejemplo, 60a y 60b en la Fig.4 y 60 en la Fig.3) para estilizar (por ejemplo, a 77) un vector de ruido de baja dimensión (por ejemplo, un vector de 128x1) a través de las características acústicas de la forma de onda de voz objetivo. La arquitectura permite la generación altamente paralelizable, varias veces más rápidas que en tiempo real en ambas unidades de procesamiento de control, CPU y unidades de procesamiento gráfico, GPU. Para el entrenamiento rápido y eficiente, podemos utilizar una pérdida de reconstrucción espectral de múltiples escalas junto con una pérdida antagónica calculada por múltiples discriminadores (por ejemplo, 132a-132d) evaluando la señal de voz 16 en múltiples bandas de frecuencia y con ventanas aleatorias (por ejemplo, las ventanas 105a, 105b, 105c, 105d). Las pruebas de oyente experto MUSHRA y P.800 muestran que el StyleMelGAN (por ejemplo, el generador de audio 10) supera a los vocoders neurales existentes en los escenarios de síntesis copias y TTS.
[0065] La presente solicitud propone,inter alia, un vocoder neural para generar voz de alta calidad 16, que puede basarse en una red antagónica generativa (Generative Adversarial Network, GAN). La solución, aquí llamada StyleMelGAN (y, por ejemplo, implementada en el generador de audio 10), es un vocoder neural de peso ligero que permite la síntesis de voz de alta calidad 16 a baja complejidad computacional. El StyleMelGAN es un modelo completamente convolucional, de retroalimentación, que utiliza la desnormalización adaptable temporal (Temporal Adaptive DEnormalization, TADE) para estilizar (por ejemplo, en el bloque 77) una representación de ruido latente (por ejemplo 69) utilizando, por ejemplo, el espectrograma de Mel (12) de la forma de onda de voz objetivo. Este permite la generación altamente paralelizable, que es varias veces más rápida que en tiempo real en CPU y GPU. Para el entrenamiento, es posible utilizar múltiples pérdidas de reconstrucción espectral de múltiples escalas seguido por pérdidas antagónicas. Esto permite obtener un modelo capaz de sintetizar salidas de alta calidad después de menos de 2 días de entrenamiento en una sola GPU.
[0066] Las aplicaciones y beneficios potenciales de la invención son las siguientes:
[0067] La invención puede aplicarse para el Texto a Voz y la calidad resultante, es decir la calidad de voz generada para TTS y la síntesis de copias es cercana a la del WaveNet y voz natural. También proporciona un entrenamiento rápido, de modo que el modelo es fácil y rápido de reentrenar, personalizado. Utiliza menos memoria, puesto que es un modelo de red neural relativamente pequeño. Y finalmente, la invención propuesta proporciona un beneficio en términos de complejidad, es decir que tiene no muy buena relación entre calidad/complejidad.
[0068] La invención también puede aplicarse para la mejora de voz, donde puede proporcionar una solución robusta y de baja complejidad para generar una voz limpia a partir de una ruidosa.
[0069] La invención también puede aplicarse para la codificación de voz, donde puede disminuir significativamente la velocidad de bits transmitiendo únicamente los parámetros necesarios para acondicionar el vocoder neural. También, en esta solicitud la solución basada en el vocoder neural de peso ligero es adecuada para sistemas integrados y especialmente adecuada para el próximo Equipo de Usuario ((end-)User Equipment, UE) (final) equipado con una GPU o una Unidad de Procesamiento Neural (Neural Processing Unit, NPU).
[0070] Descripción detallada de las realizaciones
[0071] [0044]La Fig.8 muestra un ejemplo de un generador de audio 10. El generador de audio 10 puede convertir texto 112 en una señal de audio de salida 16. El texto 112 puede ser convertido a datos objeto 12 (véase más abajo), los cuales en algunos ejemplos pueden comprenderse como una representación de audio (por ejemplo, espectrograma o de manera más general espectrogramas, MFCC, como el log de espectrograma o un espectrograma o MFCC o un espectrograma de Mel u otras características acústicas). Los datos objetivo 12 pueden utilizarse para acondicionar una señal de entrada 14 (por ejemplo, ruido) para procesar la señal de entrada 14 para convertirla en voz audible. Un bloque de síntesis de audio (bloque de análisis de texto) 1110 puede convertir el texto 112 en la representación de audio (por ejemplo, espectrograma o de manera más general espectrogramas, MFCC, como el log de espectrograma o un espectrograma o MFCC o un espectrograma de Mel u otras características acústicas) por ejemplo bajo las condiciones establecidas por los datos objetivo 12. El bloque de síntesis de audio 1110 puede ser responsable del procesamiento de al menos una de la pronunciación, ajuste de fase, entonación, duración, etc. de la voz, por ejemplo. El bloque de síntesis de audio 1110 (bloque de análisis de texto) puede realizar al menos una tarea como la normalización de texto, segmentación de palabras, predicción de prosodia y conversión de grafema a fonema. Posteriormente, los datos objetivo generados 12 pueden introducirse en un bloque de síntesis de forma de onda 1120 (por ejemplo, el vocoder), el cual puede generar la forma de onda 16 (señal de audio de salida), por ejemplo, de la señal de entrada 14 con base en las condiciones obtenidas de los datos objetivo 12 obtenidos del texto 112.
[0072] Cabe señalar, sin embargo, que el bloque 1110 en algunos ejemplos no es parte del generador 10, sino que el bloque 1110 podría ser externo al generador 10. En algunos ejemplos, el bloque 1110 puede subdividirse en múltiples subbloques (y en algunos casos particulares al menos uno de los subbloques puede ser parte del generador 10 y al menos uno de los subbloques puede ser externo al generador 10).
[0073] En términos generales, la entrada, la cual puede ser texto (u otra entrada derivada de texto) que sea introducida al bloque 1110 (o el generador 10 en algunos ejemplos) puede estar en forma de al menos uno de: • texto 112 (por ejemplo, código ASCII)
[0074] • al menos una característica lingüística (por ejemplo, al menos una entre un fonema, prosodia de palabras, entonación, pausas de frase y pausas completas, por ejemplo, obtenidas de un texto)
[0075] • al menos una característica acústica (por ejemplo, al menos una entre un log de espectrograma, un MFCC y un espectrograma de Mel, por ejemplo, obtenido de un texto)
[0076] La entrada puede procesarse (por ejemplo, por el bloque 1110) para obtener los datos objetivo 12. Según diferentes ejemplos, el bloque 1110 puede realizar el procesamiento para obtener los datos objetivo 12 (derivados de texto) en forma de al menos uno de:
[0077] • al menos uno de un carácter de texto o una palabra
[0078] • al menos una característica lingüística (por ejemplo, al menos una entre un fonema, prosodia de palabras, entonación, pausas de frase y pausas completas, por ejemplo, obtenidas de un texto)
[0079] • al menos una característica acústica (por ejemplo, al menos una entre un log de espectrograma, un MFCC y un espectrograma de Mel, por ejemplo, obtenido de un texto).
[0080] Los datos objetivo 12 (ya sea en forma de carácter, características lingüísticas o características acústicas) serán utilizados por el generador 10 (por ejemplo, por el bloque de síntesis de forma de onda, vocoder, 1120) para acondicionar el procesamiento para la señal de entrada 14, generando por lo tanto la señal de audio de salida (onda acústica).
[0081] La Fig.10 muestra una tabla sinóptica de las diferentes posibilidades para la instanciación del bloque 1110:
[0082] A) En el caso A, la entrada introducida al bloque 1110 es texto sin formato 112 y la salida (datos objetivo 12) del bloque 1110 es al menos una de un carácter de texto o una palabra (la cual también es texto). En el caso A, el bloque 1110 realiza una selección de texto 112 de los elementos del texto 112. Posteriormente, los datos objetivo 12 (en forma de elementos del texto 112) acondicionarán el procesamiento para la señal de entrada 14 para obtener la señal de salida 16 (onda acústica).
[0083] B) En el caso B, la entrada introducida al bloque 1110 es texto sin formato 112 y la salida (datos objetivo 12) del bloque 1110 comprende al menos una característica lingüística, por ejemplo, una característica lingüística entre un fonema, prosodia de palabras, entonación, pausa de frase y pausas completas obtenidas del texto 112, etc. En el caso B, el bloque 1110 realiza un análisis lingüístico de los elementos del texto 112, obteniendo por lo tanto al menos una característica lingüística entre al menos una de entre fonema, prosodia de palabras, entonación, pausa de frase y pausas completas, etc. Posteriormente, los datos objetivo 12 (en forma de al menos uno entre un fonema, prosodia de palabras, entonación, pausa de frase y pausas completas, etc.) acondicionará el procesamiento para la señal de entrada 14 para obtener la señal de salida 16 (onda acústica).
[0084] C) En el caso C, la entrada introducida al bloque 1110 es texto sin formato 112 y la salida (datos objetivo 12) del bloque 1110 comprende al menos una característica acústica, por ejemplo, una característica acústica entre un log de espectrograma o un MFCC y un espectrograma de Mel obtenido de un texto. En el caso C, el bloque 1110 realiza un análisis acústico de los elementos del texto 112, obteniendo por lo tanto al menos una característica acústica entre un log de espectrograma o un MFCC y un espectrograma de Mel obtenido del texto 112. Posteriormente, los datos objetivo 12 (por ejemplo, en forma de al menos uno de entre una característica acústica de entre un log de espectrograma, MFCC, un espectrograma de Mel obtenido del texto etc.) acondicionará el procesamiento para la señal de entrada 14 para obtener la señal de salida 16 (onda acústica).
[0085] D) En el caso D, la entrada introducida al bloque 1110 es una característica lingüística (por ejemplo, al menos una entre un fonema, prosodia de palabras, entonación, pausa de frase y pausa completa) y la salida también es una característica lingüística procesada (por ejemplo, al menos una entre un fonema, prosodia de palabras, entonación, pausa de frase y pausa completa). Posteriormente, los datos objetivo 12 (en forma de al menos una entre un fonema, prosodia de palabras, entonación, pausa de frase y pausas completas, etc.) acondicionará el procesamiento para la señal de entrada 14 para obtener la señal de salida 16 (onda acústica).
[0086] E) En el caso E, la entrada introducida al bloque 1110 es una característica lingüística (por ejemplo, al menos una entre un fonema, prosodia de palabras, entonación, pausa de frase y pausa completa) y la salida (datos objetivo 12) del bloque 1110 comprende al menos una característica acústica, por ejemplo, una característica acústica entre un log de espectrograma o un MFCC y un espectrograma de Mel obtenido de un texto. En el caso E, el bloque 1110 realiza un análisis acústico de los elementos del texto 112, para obtener al menos una característica acústica entre un log de espectrograma o un MFCC y un espectrograma de Mel. Posteriormente, los datos objetivo 12 (por ejemplo, en forma de al menos uno de entre una característica acústica de entre un log de espectrograma, MFCC, un espectrograma de Mel obtenido del texto etc.) acondicionará el procesamiento para la señal de entrada 14 para obtener la señal de salida 16 (onda acústica).
[0087] F) En el caso F, la entrada introducida al bloque 1110 está en forma de una característica acústica (por ejemplo en forma de al menos uno de entre una característica acústica de entre un log de espectrograma, MFCC, un espectrograma de Mel obtenido del texto etc.) y la salida (datos objetivo 12) está en forma de una característica acústica procesada (por ejemplo en forma de al menos uno de entre una característica acústica de entre un log de espectrograma, MFCC, un espectrograma de Mel obtenido del texto etc.). Posteriormente, los datos objetivo 12 (por ejemplo, en forma de las características acústicas procesadas, como al menos una de entre una característica acústica de entre un log de espectrograma, MFCC, un espectrograma de Mel obtenido del texto etc.) acondicionará el procesamiento para la señal de entrada 14 para obtener la señal de salida 16 (onda acústica).
[0088] La Fig.9a muestra un ejemplo en el cual el bloque 1110 incluye un subbloque 1112 (bloque de análisis de texto) que proporciona datos objetivo intermedios 212 y, corriente abajo de este, un subbloque 1114 (síntesis de audio, por ejemplo, utilizando un modelo acústico) que genera los datos objetivo 12 en forma de características acústicas. Por lo tanto, en la Fig.9a si ambos de los subbloques 1112 y 1114 son parte del generador 10, estamos en el caso C. Si el subbloque 1112 no es parte del generador 10 pero el subbloque 1114 es parte del generador 10, estamos en el caso E.
[0089] La Fig. 9b muestra un ejemplo en el cual el bloque 1110 únicamente realiza el análisis de texto y proporciona datos objetivo 12 en forma de característica lingüísticas. Por lo tanto, en la Fig.9b, si el bloque 1110 es parte del generador 10, estamos en el caso B.
[0090] La Fig. 9c muestra un ejemplo en el cual no existe el bloque 1110 y los datos objetivo 112 están en forma de característica lingüísticas.
[0091] En general, el bloque 1110 (si está presente) opera para elaborar el texto (u otra entrada obtenida de texto) más y más, en un procesamiento hacia los datos objetivo que son más elaborados que la entrada introducida al bloque 1110. El bloque 1110 también puede utilizar restricciones (por ejemplo, la función de atención, voz de hombre/mujer, acento, caracterización emocional, etc.) las cuales pueden estar ausentes en el texto original. Esas restricciones pueden ser proporcionadas en general por el usuario.
[0092] Cabe señalar que, en los casos anteriores y más abajo, el bloque 1110 (o, si está presente cualquiera de sus subbloques, como cualquiera de los bloques 1112 y 1114) puede utilizar un modelo estadístico, por ejemplo, efectuando el análisis de texto y/o utilizando un modelo acústico. Además, o de manera alternativa, el bloque 1110 (o, si está presente cualquiera de sus subbloques, como cualquiera de los bloques 1112 y 1114) puede utilizar un modelo asimilable, por ejemplo, realizando el análisis de texto y/o utilizando un modelo acústico. El modelo asimilable puede basarse, por ejemplo, en redes neurales, cadenas de Marckv, etc. De manera adicional o alternativa adicional, el bloque 1110 (o, si está presente cualquiera de sus subbloques, como cualquiera de los bloques 1112 y 1114) puede hacer uso de un algoritmo basado en reglas que realice análisis de texto y/o se base en un modelo acústico.
[0093] El bloque 1110 (o, si está presente cualquiera de sus subbloques, como cualquiera de los bloques 1112 y 1114) puede derivar los datos objetivo de manera determinística, en algunos ejemplos. Por lo tanto, puede ser que algunos subbloques sean asimilables y otros sean determinísticos.
[0094] [0056]El bloque 1110 también denominado como “bloque de análisis de texto” (por ejemplo, cuando se convierte texto en al menos una característica lingüística) o “bloque de síntesis de audio” (por ejemplo, cuando se convierte texto o al menos una característica lingüística en al menos una característica acústica, como un espectrograma). De cualquier manera, se sostiene que los datos objetivo 12 pueden estar en forma de texto, característica lingüística o característica acústica según las realizaciones.
[0095] Especialmente, la Fig.10 muestra algunas combinaciones de conversiones que no son proporcionadas de manera general. Esto se debe a que las conversiones de una característica elaborada a una característica simple (por ejemplo, de una característica lingüística a texto o de una característica acústica a texto o una característica lingüística) no son imaginadas.
[0096] La Fig. 6 muestra un ejemplo de un generador de audio 10 el cual puede generare (por ejemplo, sintetizar) una señal de audio (señal de salida) 16, por ejemplo, de acuerdo al StyleMelGAN. En la Fig.6, el texto 112 puede procesarse por ejemplo por medio del bloque de análisis de texto 1110 para obtener datos objetivo 12. Posteriormente, en el bloque de síntesis de forma de onda 1120, los datos objetivo 12 pueden utilizarse para procesar una señal de entrada 14 (por ejemplo, ruido) para obtener una señal de audio audible 16 (forma de onda acústica). Los datos objetivo 12 pueden derivarse de un texto.
[0097] En particular, la señal de audio de salida 16 puede generarse con base en una señal de entrada 14 (también llamado señal latente y la cual puede ser, por ejemplo, ruido blanco) y datos objetivo 12 (también llamados “secuencia de entrada” y que son derivados de un texto en algunos ejemplos) y la cual se puede obtener por ejemplo del texto 112 en el bloque 1110. Los datos objetivo 12 pueden, por ejemplo, comprender (por ejemplo, ser) un espectrograma (por ejemplo, un espectrograma de Mel), el espectrograma de Mel proporciona, por ejemplo, el mapeo de una secuencia de muestras de tiempo en la escala de Mel. Además de o alternativamente, los datos objetivo 12 pueden comprender (por ejemplo, ser) un flujo de bits. Por ejemplo, los datos objetivo pueden ser o incluir texto (o de manera más general derivados de texto) Los datos objetivo 12 en general se van a procesar, para obtener un sonido de voz reconocible como natural por un oyente humano. La señal de entrada 14 puede ser ruido (el cual por lo tanto no lleva información útil), por ejemplo, ruido blanco, pero, en el generador 10, un vector de ruido tomado del ruido se estiliza (por ejemplo, en 77) para tener un vector de ruido dentro de las características acústicas acondicionadas por los datos objetivo 12. Al final, la señal de salida de audio 16 será comprendida como voz por un oyente humano. El vector de ruido 14 puede ser, como en la Fig. 1, un vector de 128x1 (una sola muestra, por ejemplo, muestras de dominio de tiempo o muestras de dominio de frecuencia y 128 canales). En otros ejemplos podría utilizarse otra longitud de vector de ruido 14.
[0098] El primer bloque de procesamiento 50 se muestra en la Fig.6. Como se mostrará (por ejemplo, en la Fig.1) el primer bloque de procesamiento 50 puede ser instalado por cada uno de una pluralidad de bloques (en la Fig.1, bloques 50a, 50b, 50c, 50d, 50e, 50f, 50g, 50h). Los bloques 50a-50h pueden comprenderse como si formaran un solo bloque 40. Se mostrará que en el primer bloque de procesamiento 40, 50, puede utilizarse un conjunto de acondicionamiento de capas asimilables (por ejemplo, 71, 72, 73) para procesar los datos objetivo 12 y/o la señal de entrada 14. En consecuencia, pueden obtenerse los parámetros de las características de acondicionamiento 74, 75 (también denominados como gamma, γ y beta, β, en la Fig.3), por ejemplo, por convolución, durante el entrenamiento. Las capas asimilables 71-73 pueden ser, por lo tanto, parte de una capa de peso o ponderación de una red de aprendizaje, de manera más general, otra estructura de aprendizaje. El primer bloque de procesamiento 40, 50 puede incluir al menos un elemento estilístico 77. Al menos un elemento estilístico 77 puede generar los primeros datos de salida 69. Al menos un elemento estilístico 77 puede aplicar los parámetros de las características de acondicionamiento 74, 75 a la señal de entrada 14 (latente) o los primeros datos 15 obtenidos de la señal de entrada 14.
[0099] Los primeros datos de salida 69 en cada bloque 50 se encuentran en una pluralidad de canales. El generador de audio 10 puede incluir un segundo bloque de procesamiento 45 (mostrado en la Fig.1 como si incluyera los bloques 42, 44, 46). El segundo bloque de procesamiento 45 puede configurarse para combinar la pluralidad de canales 47 de los primeros datos de salida 69 (introducidos como segundos datos de entrada o segundos datos), para obtener la señal de salida de audio 16 en un solo canal, pero en una secuencia de muestras.
[0100] Los “canales” no deben comprenderse en el contexto del sonido estéreo, sino en el contexto de redes neurales (por ejemplo, redes neurales convolucionales). Por ejemplo, la señal de entrada (por ejemplo, ruido latente) 14 puede encontrarse en 128 canales (en la representación en el dominio del tiempo), puesto que se proporciona una secuencia de canales. Por ejemplo, cuando la señal tiene 176 muestras y 64 canales, puede comprenderse como una matriz de 176 columnas y 64 filas, mientras que cuando la señal tiene 352 muestras y 64 canales, puede comprenderse como una matriz de 352 columnas y 64 filas (son posibles otras esquematizaciones). Por lo tanto, la señal de audio generada 16 (la cual en la Fig. 1 resulta en una matriz de 1x22528 filas, donde 22528 puede sustituirse por otro número) puede comprenderse como una señal mono. En el caso de que vayan a generarse señales estéreo, entonces la técnica descrita simplemente se repetirá para cada canal estéreo, para obtener múltiples señales de audio 16 las cuales se mezclan posteriormente.
[0101] [0063]Al menos una señal de entrada original 14 y/o la voz generada 16 puede ser un vector. Por el contrario, la salida de cada uno de los bloques 30 y 50a-50h, 42, 44 tiene en general una dimensionalidad diferente. Los primeros datos pueden tener una primera dimensión o al menos una dimensión inferior a la de la señal de audio. Los primeros datos pueden tener un número total de muestras a través de todas las dimensiones menor que la señal de audio. Los primeros datos pueden tener una dimensión menor que la señal de audio, pero un número de canales mayor que la señal de audio. En cada bloque 30 y 50a-50h, la señal, que evoluciona desde ruido 14 hasta convertirse en voz 16, puede muestrearse ascendentemente. Por ejemplo, en el bloque de muestreo ascendente 30 antes del primer bloque 50a entre los bloques 50a-50h, se efectúa 88 veces un muestreo ascendente. Un ejemplo de muestreo ascendente puede incluir, por ejemplo, la siguiente secuencia: 1) repetición del mismo valor, 2) inserción de ceros, 3) otra repetición o inserción de ceros filtración lineal, etc.
[0103] La señal de audio generada 16 puede ser generalmente una señal de un solo canal (por ejemplo, 1x22528). En el caso de que sean necesarios múltiples canales de audio (por ejemplo, para una reproducción de sonido estéreo) entonces el procedimiento reclamado deberá en principio iterarse múltiples veces.
[0105] De manera análoga, también los datos objetivo 12 pueden estar, en principio, en un solo canal (por ejemplo, si es texto o de manera más general si se deriva de texto como en el caso A o como en la Fig. 9c) o en múltiples canales (por ejemplo, en espectrogramas, por ejemplo, espectrogramas de Mel, por ejemplo, derivados de texto, por ejemplo, cuando es en los casos C, E, F). En cualquier caso, pueden muestrearse de manera ascendente (por ejemplo, en un factor de dos, una energía de 2, un múltiplo de 2 o un valor mayor de 2) para adaptarse a las dimensiones de la señal (59a, 15, 69) evolucionando a lo largo de las capas subsecuentes (50a-50h, 42), por ejemplo, para obtener los parámetros de las características de acondicionamiento 74, 75 en dimensiones adaptadas a las dimensiones de la señal.
[0107] Cuando el primer bloque de procesamiento 50 se instancia en por ejemplo al menos múltiples bloques 50a-50h, el número de canales puede, por ejemplo, seguir siendo el mismo para los múltiples bloques 50a-50h. Los primeros datos pueden tener una primera dimensión o al menos una dimensión menor que la de la señal de audio. Los primeros datos pueden tener un número total de muestras a través de todas las dimensiones menor que la señal de audio. Los primeros datos pueden tener una dimensión menor que la señal de audio, pero un número de canales mayor que la señal de audio.
[0109] La señal en los bloques posteriores puede tener diferentes dimensiones entre sí. Por ejemplo, la muestra puede mezclarse de manera ascendente más y más veces para alcanzar, por ejemplo, de 88 muestras a 22.528 muestras en el último bloque 50h. De manera análoga, también los datos objetivo 12 se muestrean de manera ascendente en cada bloque de procesamiento 50. En consecuencia, los parámetros de las características de acondicionamiento 74, 75 pueden adaptarse al número de muestras de la señal que se va a procesar. En consecuencia, la información semántica proporcionada por los datos objetivo 12 no se pierde en capas posteriores 50a-50h.
[0111] Deberá comprenderse que los ejemplos pueden realizarse según los paradigmas de las redes antagónicas generativas (Generative Adversarial Networks, GAN). Una GAN incluye un generador de GAN 11 (Fig.1) y un discriminador de GAN 100 (Fig.2), el cual también puede comprenderse como parte del bloque de síntesis de forma de onda 1120. El generador de GAN 11 trata de generar una señal de audio 16, la cual es tan cercana como es posible a la señal real. El discriminador de GAN 100 reconocerá si la señal de audio generada es real (como la señal de audio real 104 en la Fig.2) o falsa (como la señal de audio generada 16). Ambos del generador de GAN 11 y el discriminador de GAN 100 pueden obtenerse como redes neurales. El generador de GAN 11 minimizará las pérdidas (por ejemplo, a través del procedimiento de gradientes u otros procedimientos) y actualizará los parámetros de las características de acondicionamiento 74, 75 tomando en consideración los resultados del discriminador de GAN 100. El discriminador de GAN 100 reducirá su propia pérdida discriminatoria (por ejemplo, a través del procedimiento de gradientes u otros procedimientos) y actualizará sus propios parámetros internos. En consecuencia, el generador de GAN 11 se entrena para proporcionar señales de audio 16 cada vez mejores, mientras que el discriminador de GAN 100 se entrena para reconocer señales reales 16 de las señales de audio falsas generadas por el generador de GAN 11. En términos generales, puede comprenderse que el de GAN 11 puede incluir las funcionalidades del generador 10, sin al menos las funcionalidades del discriminador de GAN 100. Por lo tanto, en la mayoría de lo anterior, puede comprenderse que el generador de GAN 11 y el generador de audio 10 pueden tener más o menos las mismas características, además de aquellas del discriminador 100. El generador de audio 10 puede incluir el discriminador 100 como un componente interno. Por lo tanto, el generador de GAN 11 y el discriminador de GAN 100 pueden concurrir en la constitución del generador de audio 10. En ejemplos donde el discriminador de GAN 100 no está presente, el generador de audio 10 puede estar constituido únicamente por el generador de GAN 11.
[0113] Como se explica por la frase “conjunto de acondicionamiento de capas asimilables”, el generador de audio 10 puede obtenerse según los paradigmas de las GAN condicionadas, por ejemplo, con base en información condicional. Por ejemplo, la información condicional puede ser constituida por datos objetivo (o la versión muestreada de manera ascendente de los mismos) 12 de la cual se entrena el conjunto de acondicionamiento de capas 71-73 (capa de peso o ponderación) y se obtienen los parámetros de las características de acondicionamiento 74, 75. Por lo tanto, el elemento estilístico 77 se acondiciona por medio de las capas asimilables 71-73.
[0114] Los ejemplos pueden basarse en redes neurales convolucionales. Por ejemplo, una matriz pequeña (por ejemplo, filtro o núcleo), que podría ser una matriz de 3x3 (o una matriz de 4x4, etc.), se convoluciona a lo largo de una matriz más grande (por ejemplo, el canal x muestras latentes o la señal de entrada y/o el espectrograma y/o el espectrograma o espectrograma muestreado de manera ascendente o de manera más general los datos objetivo 12), por ejemplo, implicando una combinación (por ejemplo, multiplicación y suma de los productos; producto punto, etc.) entre los elementos del filtro (núcleo) y los elementos de la matriz más grande (mapa de activación o señal de activación). Durante el entrenamiento, los elementos del filtro (núcleo) se obtienen (aprendido) los cuales son aquellos que minimizan las pérdidas. Durante la interferencia, se utilizan los elementos del filtro (núcleo) que se han obtenido durante el entrenamiento. Los ejemplos de convoluciones se encuentran en los bloques 71-73, 61a, 61b, 62a, 62b (véase más abajo). Donde un bloque es condicional (por ejemplo, el bloque 60 de la Fig.3), entonces la convolución no necesariamente se aplica a la señal que evoluciona desde la señal de entrada 14 hacia la señal de audio 16 a través de las señales intermedias 59a (15), 69, etc., sino que se aplica a la señal objetivo 14. En otros casos (por ejemplo, los bloques 61a, 61b, 62a, 62b) la convolución puede no ser condicional y puede, por ejemplo, aplicarse directamente a la señal 59a (15), 69, etc., evolucionando desde la señal de entrada 14 hacia la señal de audio 16. Como puede observarse de las Figs.3 y 4, pueden realizarse ambas convoluciones condicional y no condicional.
[0115] Es posible tener, en algunos ejemplos, funciones de activación corriente abajo de la convolución (ReLu, TanH, softmax, etc.), las cuales pueden ser diferentes de acuerdo al efecto pretendido. ReLu puede mapear el máximo entre 0 y el valor obtenido en la convolución (en la práctica, mantiene el mismo valor si es positivo y produce 0 en el caso del valor negativo). ReLu con fuga puede producir x si x > 0 y 0,1* x si x ≤ 0, siendo x el valor obtenido por convolución (en lugar de un valor diferente de 0,1, puesto que puede utilizarse un valor predeterminado dentro de 0,1 ± 0,05, en algunos ejemplos). TanH (la cual puede implementarse, por ejemplo, en el bloque 63a y/o 63b) puede proporcionar la tangente hiperbólica del valor obtenido en la convolución, por ejemplo
[0116] TanH(x)=(e<x>-e<-x>)/(e<x>+e<-x>),
[0117] con x siendo el valor obtenido en la convolución (por ejemplo, en el bloque 61a y/o 61b). Softmax (aplicada, por ejemplo, en el bloque 64a y/o 64b) puede aplicar el exponencial a cada elemento de los elementos del resultado de la convolución (por ejemplo, como el obtenido en el bloque 62a y/o 62b) y normalizar estos dividiendo por la suma de los exponenciales. Softmax (por ejemplo, en 64a y/o 64b) puede proporcionar una distribución de probabilidad para las entidades que están en la matriz que resulta de la convolución (por ejemplo, como se dispone en 62a y/o 62b). Después de la aplicación de la función de activación, puede realizarse una etapa de agrupación (no mostrada en las figuras) en algunos ejemplos, pero en otros ejemplos puede evitarse.
[0118] La Fig. 4 muestra que también es posible tener una función TanH cerrada por softmax, por ejemplo, multiplicando (por ejemplo, en 65a y/o 65b) el resultado de la función TanH (por ejemplo, obtenida en 63a y/o 63b) con el resultado de la función softmax (por ejemplo, obtenido en 64a y/o 64b).
[0119] Múltiples capas de convoluciones (por ejemplo, un conjunto de acondicionamiento de capas asimilables) pueden estar una después otra y/o paralelas entre sí, para incrementar la eficiencia. Si se proporciona la aplicación de la función de activación y/o agrupación, también pueden repetirse en diferentes capas (o quizá pueden aplicarse diferentes funciones de activación a diferentes capas, por ejemplo).
[0120] La señal de entrada 14 (por ejemplo, ruido) se procesa, en diferentes etapas, para convertirse en la señal de audio generada 16 (por ejemplo, bajo las condiciones establecidas por los conjuntos de acondicionamiento de capas asimilables 71-73 y sobre los parámetros 74, 75 aprendidos por los conjuntos de acondicionamiento de capas asimilables 71-73. Por lo tanto, la señal de entrada sebe comprenderse como si evolucionara en una dirección de procesamiento (de 14 a 16 en la Fig.6) hasta convertirse en la señal de audio generada 16 (por ejemplo, voz). Las condiciones se generarán sustancialmente sobre la base de la señal objetivo 12 y sobre el entrenamiento (para alcanzar el conjunto más preferible de parámetros 74, 75).
[0121] También cabe señalar que pueden considerarse múltiples canales de la señal de entrada (o cualquiera de sus evoluciones) para tener un conjunto de capas asimilables y un elemento de estilo asociado con esto. Por ejemplo, cada fila de las matrices 74 y 75 se asocia con un canal particular de la señal de entrada (o una de sus evoluciones) y por lo tanto se obtiene de una capa asimilables particular, asociada con el canal particular. De manera análoga, el elemento estilístico 77 puede considerarse formado por una multiplicidad de elementos de estilo (cada uno para cada fila de la señal de entrada x, c, 12, 76, 76', 59, 59a, 59b, etc.).
[0122] [0076]La Fig.1 muestra un ejemplo del generador de audio 10 (que puede incorporar el generador de audio 10 de la Fig.6) y que también puede comprender (por ejemplo, ser) un generador de GAN 11. Especialmente, la Fig. 1 solo muestra elementos del bloque de síntesis de forma de onda 1120, mientras que los datos objetivo 12 ya se convirtieron a partir del texto 112. Los datos objetivo 12, por ejemplo, obtenidos a partir del texto, se indican como espectrograma de Mel, la señal de entrada 14 puede ser un ruido latente y la salida de la señal 16 puede ser voz (no obstante, son posibles otros ejemplos, como se explicó anteriormente). Como puede observarse, la señal de entrada 14 únicamente tiene una muestra y 128 canales (pueden definirse otros números). El vector de ruido 14 puede obtenerse en un vector con 128 canales (pero son posibles otros números) y puede tener una distribución normal de media cero. El vector de ruido puede seguir la fórmula
[0125]
[0127] El vector de ruido puede ser un ruido aleatorio de dimensión 128 con media 0 generado y con una matriz de autocorrelación (cuadrada de 128 x 128) igual a la identidad I (puede hacerse una elección diferente). En consecuencia, en los ejemplos el ruido generado puede descorrelacionarse completamente entre los canales y de varianza 1 (energía). puede generarse en cada 22528 muestras generadas (o pueden elegirse otros números para ejemplos diferentes); la dimensión puede ser por lo tanto 1 en el eje del tiempo y 128 en el eje del canal.
[0128] Se mostrará que el vector de ruido 14 se procesa etapa a etapa (por ejemplo, en los bloques 50a-50h, 42, 44, 46, etc.), para evolucionar de, por ejemplo, el ruido 14 a, por ejemplo, la voz 16 (la evolución de la señal se indicará, por ejemplo, con diferentes señales 15, 59a, x, c, 76', 79, 79a, 59b, 79b, 69, etc.).
[0129] En el bloque 30, la señal de entrada (ruido) 14 puede muestrearse de manera ascendente para tener 88 muestras (son posibles diferentes números) y 64 canales (son posibles diferentes números).
[0130] Como puede observarse, ocho bloques de procesamiento 50a, 50b, 50c, 50d, 50e, 50f, 50g, 50h (incorporando juntos el primer bloque de procesamiento 50 de la Fig.6) pueden incrementar el número de muestras realizando un muestreo ascendente (por ejemplo, 2 muestreos ascendentes máximos). El número de canales puede seguir siendo el mismo siempre (por ejemplo, 64) a lo largo de los bloques 50a, 50b, 50c, 50d, 50e, 50f, 50g, 50h. Las muestras pueden ser, por ejemplo, el número de muestras por segundo (u otra unidad de tiempo); podemos obtener, en la salida del bloque 50h, sonido a más de 22 kHz.
[0131] Cada uno de los bloques 50a-50h (50) también puede ser un Bloque TADERes (bloque residual en el contexto de TADE, Desnormalización Adaptable Temporal). Especialmente, cada bloque 50a-50h puede ser acondicionado por los datos objetivo 12 (por ejemplo, la característica de texto, característica lingüística o característica acústica, como un espectrograma de Mel).
[0132] En un segundo bloque de procesamiento 45 (Figs.1 y 6), únicamente puede obtenerse un solo canal y se obtienen múltiples muestras en una sola dimensión. Como puede observarse, se utiliza otro Bloque de TADERes 42 (además de los bloques 50a-50h) (lo cual se reduce a un solo canal). Entonces, puede realizarse una capa de convolución 44 y una función de activación (la cual puede ser TanH 46, por ejemplo). Después de eso, se obtiene la voz 16 (y, posiblemente, se almacena, renderiza, codifica, etc.).
[0133] Al menos uno de los bloques 50a-50h (o cada uno de ellos, en ejemplos particulares) puede ser, por ejemplo, un bloque residual. Un bloque residual opera una predicción únicamente a un componente residual de la señal que evoluciona desde la señal de entrada 14 (por ejemplo, ruido) a la señal de salida de audio 16. La señal residual únicamente es parte (componente residual) de la señal principal. Por ejemplo, pueden sumarse múltiples señales residuales entre sí, para obtener la señal de salida de audio final 16.
[0134] La Fig.4 muestra un ejemplo de los bloques 50a-50h (50). Como puede observarse, cada bloque 50 se introduce con primeros datos 59a, los cuales son la señal de entrada 14, (o la versión muestreada de manera ascendente de la misma, como aquella señal de salida por el bloque de muestreo ascendente 30) o la salida de un bloque anterior. Por ejemplo, el bloque 50b puede introducirse con la salida del bloque 50a; el bloque 50c puede introducirse con la salida del bloque 50b y así sucesivamente.
[0135] En la Fig.4, por lo tanto, es posible ver que los primeros datos 59a proporcionados al bloque 50 (50a-50h) son procesados y su salida es la señal de salida 69 (la cual será proporcionada como la entrada al bloque posterior). De acuerdo a lo indicado por la línea 59a', un componente principal de los primeros datos 59a introducidos al primer bloque de procesamiento 50a-50h (50) realmente pasa la mayoría del procesamiento del primer bloque de procesamiento 50a-50h (50). Por ejemplo, los bloques 60a, 61a, 62a, 63a, 65a, 60b, 61b, 62b, 63b, 64b y 65b son evitados por la línea de derivación 59a’. Los primeros datos 59a se sumarán posteriormente a una porción residual 64b’ en una sumadora 65c (la cual se indica en la Fig.4, pero no se muestra). Esta línea de derivación 59a’ y la adición en la sumadora 65c pueden comprenderse como la instanciación del hecho de que cada bloque 50 (50a-50h) procesa operaciones para señales residuales, las cuales se suman entonces a la porción principal de la señal. Por lo tanto, cada uno de los bloques 50a-50h puede considerarse un bloque residual.
[0136] [0086]De manera notable, la adición o suma en la sumadora 65c no necesariamente necesita realizarse dentro del bloque residual 50 (50a-50h). Puede efectuarse una sola adición de una pluralidad de señales residuales 65b’ (cada una generada por cada uno de los bloques residuales 50a-50h) (por ejemplo, en un bloque de sumadora en el segundo bloque de procesamiento 45, por ejemplo). En consecuencia, los diferentes bloques residuales 50a-50h pueden operar en paralelo entre sí.
[0137] En el ejemplo de la Fig. 4, cada bloque 50 puede repetir sus capas de convolución dos veces (por ejemplo, primero en la réplica 600, incluyendo al menos uno de los bloques 60a, 61a, 62a, 63a, 64a, 65a y obteniendo la señal 59b; entonces, en la réplica 601, incluyendo al menos uno de los bloques 60b, 61b, 62b, 63b, 64b, 65b y obteniendo la señal 65b', la cual puede sumarse al componente principal 59a').
[0138] Para cada réplica (600, 601), se aplica un conjunto de acondicionamiento de capas asimilables 71-73 y un elemento estilístico 77 (por ejemplo, dos veces para cada bloque 50) a la señal que evoluciona desde la señal de entrada 16 hasta la señal de salida de audio 16. Se realiza una primera desnormalización temporal adaptable (Temporal Adaptive DEnormalization, TADE) en el bloque de TADE 60a a los primeros datos 59a en la primera réplica 600. El bloque de TADE 60a realiza una modulación de los primeros datos 59a (señal de entrada o, por ejemplo, ruido procesado) bajo las condiciones expuestas por los datos objetivo 12. En el primer bloque de TADE 60a, puede realizarse un muestreo ascendente de los datos objetivo 12 en el bloque de muestreo ascendente 70, para obtener una versión muestreada de manera ascendente 12' de los datos objetivo 12. El muestreo ascendente puede obtenerse a través de interpolación no lineal, por ejemplo, utilizando un factor de 2, una energía de 2, un múltiplo de dos u otro valor mayor de 2. En consecuencia, en algunos ejemplos es posible hacer que el espectrograma 12' tenga las mismas dimensiones (por ejemplo, se conforme a) la señal (76, 76', x, c, 59, 59a, 59b, etc.) para ser acondicionado por el espectrograma. Una aplicación e información estilística al ruido procesado (primeros datos) (76, 76’, x, c, 59, 59a, 59b, etc.) puede realizarse en el bloque 77 (elemento de estilo). En una réplica posterior 601, se puede aplicar otro bloque de TADE 60b a la salida 59b de la primera réplica 600. Un ejemplo de bloque de TADE 60 (60a, 60b) se proporciona en la Fig. 3 (véase también más abajo). Después de haber modulado los primeros datos 59a, se llevan a cabo las convoluciones 61a y 62a. Posteriormente, también se realizan (63a, 64a) las funciones de activación TanH y softmax (por ejemplo, que constituyen la función TanH cerrada por softmax). Las salidas de las funciones de activación 63a y 64a se multiplican en el bloque de multiplicador 65a (por ejemplo, para instanciar el cierre), para obtener un resultado 59b. En el caso del uso dos réplicas diferentes 600 y 601 (o en el caso del uso más de dos réplicas), se repiten los pasos en los bloques 60a, 61a, 62a, 63a, 64a, 65a.
[0139] En los ejemplos, la primera y segunda convoluciones en 61b y 62b, respectivamente corriente abajo del bloque de TADE 60a y 60b, pueden realizarse en el mismo número de elementos en el núcleo (por ejemplo, 9, por ejemplo, de 3 x 3). Sin embargo, las segundas convoluciones 61b y 62b pueden tener un factor de dilatación de 2. En los ejemplos, el factor de dilatación máximo para las convoluciones puede ser 2 (dos).
[0140] La Fig.3 muestra un ejemplo de un bloque de TADE 60 (60a, 60b). Como puede observarse, los datos objetivo 12 pueden muestrearse de manera ascendente, por ejemplo, para conformarse a la señal de entrada (o una señal que evolucione de la misma, como 59, 59a, 76', también llamada señal latente o señal de activación). Aquí, pueden realizarse las convoluciones 71, 72, 73 (un valor intermedio de los datos objetivo 12 se indica con 71’), para obtener los parámetros γ (gamma, 74) y β (beta, 75). La convolución en cualquiera de 71, 72, 73 también puede requerir una unidad lineal rectificada, ReLu o rectificar una unidad lineal rectificada por fuga, ReLu con fuga. Los parámetros γ y β pueden tener la misma dimensión de la señal de activación (siendo la señal procesada para evolucionar de la señal de entrada 14 hasta la señal de audio generada 16, la cual se representa aquí como x, 59 o 76' cuando está en forma normalizada). Por lo tanto, cuando la señal de activación (x, 59, 76') tiene dos dimensiones, también γ y β (74 y 75) tienen dos dimensiones y cada una de ellas es superponible a la señal de activación (la longitud y el ancho de γ y β puede ser la misma que la longitud y el ancho de la señal de activación). En el elemento estilístico 77, los parámetros de las características de acondicionamiento 74 y 75 se aplican a la señal de activación (la cual es los primeros datos 59a o 59b generados por la multiplicadora 65a). También debe notarse, son embargo, que la señal de activación 76’ puede ser una versión normalizada (10 en el bloque de norma de instancia 76) de los primeros datos 59, 59a, 59b (15). También debe notarse en la fórmula mostrada en el elemento estilístico 77 (γx+β) puede ser un producto elemento por elemento y no un producto convolucional o un producto punto (y en efecto γx+β también se indica como x ⊙ γ β, donde ⊙indica la multiplicación por elementos).
[0141] Después del elemento estilístico 77, se produce la señal. Las convoluciones 72 y 73 no necesariamente tienen la función de activación corriente abajo de ellas. También se nota que el parámetro γ (74) puede comprenderse como una varianza de β (75) como una desviación. También, el bloque 42 de la Fig. 1 puede instanciarse como el bloque 50 de la Fig.3. Entonces, por ejemplo, una capa convolucional 44 reducirá el número de canales a 1 y, después de eso, se realiza una TanH 56 para obtener la voz 16.
[0142] La Fig.7 muestra un ejemplo de la evolución, en una de las réplicas 600 y 601 de uno de los bloques 50a-50h.
[0143] los datos objetivo 14 (por ejemplo, espectrograma de Mel); y
[0144] el ruido latente c (12), también indicado con 59a o como la señal que evoluciona desde la señal de entrada 12 hacia la señal de audio generada 16.
[0145] [0093]De manera notable, 61a, 61b, 62a, 62b puede ser (o ser parte de) un conjunto de capas asimilables configuradas para procesar datos derivados de los primeros datos (por ejemplo, sucesivamente, desde la señal de entrada 14) utilizando una función de activación (por ejemplo 63a, 64a, 63b, 64b) la cual es una función de activación cerrada (segunda función de activación). Este conjunto de capas asimilables puede consistir de una o dos o aún más capas convolucionales. La segunda función de activación puede ser una función de activación cerrada (por ejemplo, TanH y softmax). Esta característica puede combinarse con el hecho de que la primera función de activación (para obtener los primeros datos convolucionados 71') es una ReLu o ReLu con fuga.
[0146] Puede realizarse el siguiente procedimiento (o al menos una de esas etapas):
[0147] • A partir de una entrada, como el texto 112 (por ejemplo, Código Estándar Estadounidense para el Intercambio de Información, código ASCII u otro tipo de código) se generan datos objetivo 12 (por ejemplo, una característica de texto, una característica lingüística o una característica acústica, como un espectrograma de Mel) (pueden utilizarse diferentes tipos de datos objetivo).
[0148] • Los datos objetivo (por ejemplo, el espectrograma) 12 se somete a al menos una de las siguientes etapas:
[0149] • Muestreo ascendente en el bloque de muestreo ascendente 70, para obtener un espectrograma muestreado de manera ascendente 12’;
[0150] • En las capas convolucionales 71-73 (parte de una capa de peso o ponderación), se efectúan las convoluciones (por ejemplo, un núcleo 12a se convoluciona a lo largo del espectrograma muestreado de manera ascendente 12’);
[0151] • se obtienen (aprenden) γ (74) y β (75);
[0152] • se aplican γ (74) y β (75) (por ejemplo, por convolución) a la señal latente 59a (15), que evoluciona desde la señal de entrada 14 y la señal de audio generada 16.
[0153] TTS
[0154] El texto a voz (Text to speech, TTS) (por ejemplo, realizando el bloque 1110) tiene como propósito sintetizar voz inteligible y de sonido natural 16 dado un texto 112. Podría tener amplias aplicaciones en la industria, especialmente para la comunicación máquina a humano.
[0155] El generador de audio de la invención 10 incluye diferentes componentes, entre ellos el vocoder 1120, en la última etapa e incluye principalmente bloques para convertir características de texto, características lingüísticas o características acústicas en la forma de onda de audio 16.
[0156] En particular, en el bloque 1110 el texto 112 (entrada) puede analizarse y las características lingüísticas pueden extraerse del texto 112, por ejemplo, por medio de un módulo de análisis de texto (subbloque) 1112, como se muestra en la Fig.9a. Este análisis de texto puede incluir, por ejemplo, múltiples tareas como normalización de texto, segmentación de palabras, predicción de prosodia y grafema o fonema (véase también la Fig.8). Esas características lingüísticas (las cuales pueden jugar el papel de datos objetivo intermedios 212) se convierten entonces, por ejemplo, a través de un modelo acústico (por ejemplo, por medio del subbloque 1114), a características acústicas, como MFCC, frecuencia fundamental, espectrograma de Mel por ejemplo o una combinación de aquellas, que pueden constituir los datos objetivo 12 de las Figs.1 y 3-8.
[0157] Cabe resaltar que esta fuente de información puede ser reemplazada por el procesamiento extremo a extremo por ejemplo a través de la introducción de DNN. Por ejemplo, es posible acondicionar el Vocoder neural 1120 directamente a partir de característica lingüísticas (por ejemplo, en los casos B y D de la Fig.10) o un modelo acústico podría procesar directamente caracteres evitando la etapa de análisis de prueba (no siendo utilizado el subbloque 1114 en la Fig.9a). Por ejemplo, algunos de los modelos extremo a extremo como Tacotron 1 y 2 pueden utilizarse en el bloque 1110 para simplificar los módulos de análisis de texto y tomar directamente las secuencias de caracteres/fonemas como la secuencia de entrada, generando por ejemplo características acústicas (datos objetivo 12) por ejemplo en forma de espectrogramas de Mel.
[0158] [0099]La solución actual puede emplearse como un sistema TTS (es decir que incluye ambos bloques 1110 y 1120), donde los datos objetivo 12 pueden incluir, en algunos ejemplos, un flujo de información o representación de voz derivada del texto 112. La representación podría ser por ejemplo caracteres o fonemas derivados de un texto 112, que significa entradas usuales del bloque de análisis de texto 1110. En este caso, puede utilizarse una capa asimilable preacondicionada (de preacondicionamiento) por el bloque 1110 por ejemplo para extraer características acústicas o características de acondicionamiento apropiadas (datos objetivo 12) para el vocoder neural (por ejemplo, el bloque 1120). Esta capa de preacondicionamiento 1110 puede utilizar redes neurales profundas (Deep Neural Network, DNN) como una arquitectura codificador-atención-decodificador para mapear caracteres o fonemas directamente a características acústicas. De manera alternativa, la representación (datos objetivo) 12 puede ser o incluir características lingüísticas, es decir fonemas asociados con información como prosodia, entonación, pausas, etc. En este caso, la capa asimilable preacondicionada 1110 puede ser un modelo acústico que mapee las características lingüísticas a características acústicas basadas en modelos estadísticos como el modelo Oculto de Markov (Hidden Markov model, HMM), red neural profunda (Deep Neural Network, DNN) o red neural recurrente (Recurrent Neural Network, RNN). Finalmente, los datos objetivo 12 podrían incluir características acústicas directamente derivadas del texto 112, las cuales pueden utilizarse como características de acondicionamiento por ejemplo después de una capa asimilable o de preacondicionamiento determinística 1110. En un caso extremo (por ejemplo, en el caso F de la Fig. 10), las características acústicas en los datos objetivo 12 pueden utilizarse directamente como las características de acondicionamiento y cualquier capa de preacondicionamiento evitada.
[0159] En virtud de lo anterior, el bloque de síntesis de audio 1110 (bloque de análisis de texto) puede ser determinístico en algunos ejemplos, pero puede obtenerse a través de al menos una capa asimilable en otros casos.
[0160] En ejemplos, los datos objetivo 12 pueden incluir características acústicas como log de espectrograma o un espectrograma o MFCC o un espectrograma de Mel obtenido de un texto 112.
[0161] De manera alternativa, los datos objetivo 12 pueden incluir características lingüísticas como fonemas, prosodia de palabras, entonación, pausas de frase o pausas completas obtenidas de un texto.
[0162] Los datos objetivo pueden derivarse de un texto utilizando al menos uno de los modelos estadísticos, modelos asimilables o algoritmo basado en reglas, que pueden incluir un análisis de texto y/o un modelo acústico.
[0163] En términos generales, por lo tanto, el bloque de síntesis de audio 1110 que genera los datos objetivo 12 a partir de la entrada (por ejemplo, texto), como el texto 112 (de modo que los datos objetivo 12 se deriven del texto 112), puede ser un bloque determinístico o un bloque asimilable.
[0164] En términos generales, los datos objetivo 12 pueden tener múltiples canales, mientras que el texto 112 (del cual se derivan los datos objetivo 12) puede tener un solo canal.
[0165] La Fig.9a muestra un ejemplo de generador 10a (el cual puede ser un ejemplo del generador 10) en el cual los datos objetivo 12 comprenden al menos una de las características acústicas como log de espectrograma o un espectrograma o MFCC o un espectrograma de Mel obtenido a partir del texto 112. Aquí, el bloque 1110 incluye un bloque de análisis de texto 1112 el cual proporciona datos objetivo intermedios 212 los cuales pueden incluir al menos una de las características lingüísticas como fonemas, prosodia de palabras, entonación, pausas de frase o pausas completas obtenidas a partir del texto 112. Posteriormente, un bloque de síntesis de audio 1114 (por ejemplo, utilizando un modelo acústico) puede generar los datos objetivo 12 como al menos una de las características acústicas como log de espectro o un espectrograma o MFCC o espectrograma de Mel obtenido a partir del texto 112.
[0166] Después de eso, el bloque de síntesis de formas de onda 1120 (el cual puede ser cualquiera de los bloques de síntesis de formas de ondas discutidos anteriormente) puede utilizarse para generar una señal de audio de salida 16.
[0167] La Fig.9b muestra un ejemplo de un generador 10b (el cual puede ser un ejemplo del generador 10) en el cual los datos objetivo 12 comprenden al menos una de las características lingüísticas como fonemas, prosodia de palabras, entonación, pausas de frase o pausas completas obtenidas de texto 112. Puede utilizarse una síntesis de forma de ondas (por ejemplo, el vocoder 1120) para generar una señal de audio 16. El bloque de síntesis de formas de onda 1120 puede ser cualquiera de aquellos descritos en las Figs.1-8 discutidas anteriormente. En este caso, por ejemplo, los datos objetivo pueden ser ingeridos directamente hacia el conjunto condicional de capas asimilables 71-73 para obtener γ y β (74 y 75).
[0168] En la Fig.9c se muestra un ejemplo de un generador 10c (el cual puede ser un ejemplo de cualquiera de los generadores 10 de las Figs.1-8) en el cual el texto 112 se utiliza directamente como datos objetivo. Por lo tanto, los datos objetivo 12 comprenden al menos uno de los caracteres o palabras obtenidas del texto 112. El bloque de síntesis de formas de onda 1120 puede ser cualquiera de los ejemplos discutidos anteriormente.
[0169] En términos generales, cualquiera de los generadores de audio anteriores, (en particular cualquiera de los bloques de análisis de texto 1110 (por ejemplo, cualquiera de las Figs.8 o 9a-9c) puede derivar los datos objetivo de un texto utilizando al menos uno de los modelos estadísticos, modelos asimilables o algoritmo basado en reglas, consistentes de un modelo de análisis de texto y/o acústico.
[0170] En algunos ejemplos, los datos objetivo 12 pueden obtenerse determinísticamente por medio del bloque 1120. En otros ejemplos, los datos objetivo 12 pueden obtenerse de manera no determinística y el bloque 1110 puede ser una capa asimilable o una pluralidad de capas asimilables.
[0171] Discriminador de GAN
[0172] [0112]El discriminador de GAN 100 de la Fig.2 puede utilizarse durante el entrenamiento para obtener, por ejemplo, los parámetros 74 y 75 a ser aplicados a la señal de entrada 12 (o una versión procesada y/o normalizada de la misma). El entrenamiento puede realizarse antes de la interferencia y los parámetros 74 y 75 pueden ser, por ejemplo, almacenados en una memoria no transitoria y utilizados posteriormente (sin embargo, en algunos ejemplos también es posible que los parámetros 74 o 75 se calculen en línea).
[0173] El discriminador de GAN 100 tiene el papel de aprender cómo reconocer las señales de audio generadas (por ejemplo, la señal de audio 16 sintetizada como se discutió anteriormente) a partir de señales de entrada reales (por ejemplo, voz real) 104. Por lo tanto, el papel del discriminador de GAN 100 se ejerce principalmente durante el entrenamiento (por ejemplo, para los parámetros de aprendizaje 72 y 73) y se ve en contraposición del papel del generador de GAN 11 (el cual puede verse como el generador de audio 10 sin el discriminador de GAN 100).
[0174] En términos generales, el discriminador de GAN 100 puede ser introducido por ambas señales de audio 16 sintetizadas, generadas por el generador de GAN 10 y una señal de audio real (por ejemplo, voz real) 104 adquirida, por ejemplo, a través de un micrófono y procesar las señales para obtener una métrica (por ejemplo, pérdida) que va a minimizarse. La señal de audio real 104 también puede considerarse una señal de audio de referencia. Durante el entrenamiento, pueden repetirse operaciones como aquellas explicadas anteriormente para sintetizar voz 16, por ejemplo, múltiples veces, para obtener los parámetros 74 y 75, por ejemplo.
[0175] En los ejemplos, en lugar de analizar la señal de audio de referencia 104 completa y/o la señal de audio 16 completa, es posible analizar únicamente una parte de las mismas (por ejemplo, una porción, una rebanada, una ventana, etc.). Se obtienen las porciones de señal generadas en ventanas aleatorias (105a-105d) muestreadas de la señal de audio generada 16 y de la señal de audio de referencia 104. Por ejemplo, pueden utilizarse funciones de ventana aleatoria, de modo que no se predefinaa prioricuál ventana 105a, 105b, 105c, 105d será utilizada. También el número de ventanas no necesariamente es cuatro, puede variar.
[0176] Dentro de las ventanas (105a-105d), puede aplicarse un PQMF (Banco de Filtros Espejo en Cuadratura,Quadrature Mirror Filter-bank(PQMF) 110. En consecuencia, se obtienen las subbandas 120. En consecuencia, se obtiene una descomposición (110) de la representación de la señal de audio generada (16) o la representación de la señal de audio de referencia (104).
[0177] Puede utilizarse un bloque de evaluación 130 para realizar las evaluaciones. Pueden utilizarse (puede utilizarse un número diferente de) múltiples evaluadores 132a, 132b, 132c, 132d (complejidad indicada con 132). En general, cada ventana 105a, 105b, 105c, 105d puede introducirse a un evaluador respectivo 132a, 132b, 132c, 132d. El muestreo de la ventana aleatoria (105a-105d) puede repetirse múltiples veces por cada evaluador (132a-132d). En los ejemplos, el número de veces que la ventana aleatoria (105a-105d) es muestreada por cada evaluador (132a-132d) puede ser proporcional a la longitud de la representación de la señal de audio generada o la representación de la señal de audio de referencia (104). En consecuencia, cada uno de los evaluadores (132a-132d) puede recibir como entrada una o varias porciones (105a-105d) de la representación de la señal de audio generada (16) o la representación de la señal de audio de referencia (104).
[0178] Cada evaluador 132a-132d puede ser una red neural en sí. Cada evaluador 132a-132d puede, en particular, seguir los paradigmas de las redes neurales convolucionales. Cada evaluador 132a-132d puede ser un evaluador residual. Cada evaluador 132a-132d puede tener parámetros (por ejemplo, pesos) los cuales se adaptan durante el entrenamiento (por ejemplo, en una forma similar a una de aquellas explicadas anteriormente).
[0179] Como se muestra en la Fig. 2, cada evaluador 132a-132d también realiza un muestreo descendente (por ejemplo, por 4 o por otra relación de muestreo descendente). El número de canales se incrementa para cada evaluador 132a-132d (por ejemplo, en 4 o en algunos ejemplos en un número el cual es el mismo de la relación de muestreo descendente).
[0180] Corriente arriba y/o corriente abajo de los evaluadores, pueden proporcionarse capas convolucionales 131 y/o 134. Una capa convolucional corriente arriba 131 puede tener, por ejemplo, un núcleo con dimensión 15 (por ejemplo, 5 x 3 o 3 x 5). Una capa convolucional corriente abajo 134 puede tener, por ejemplo, un núcleo con dimensión 3 (por ejemplo, 3 x 3).
[0181] Durante el entrenamiento, una función de pérdida (pérdida antagónica) 140 puede optimizarse. La función de pérdida 140 puede incluir una métrica fija (obtenida por ejemplo durante un paso de preentrenamiento) entre una señal de audio generada (16) y una señal de audio de referencia (104). La métrica fija puede obtenerse calculando una o varias distorsiones espectrales entre la señal de audio generada (16) y la señal de audio de referencia (104). La distorsión puede medirse teniendo en cuenta:
[0182] - la magnitud o log de la magnitud de la representación espectral de la señal de audio generada (16) y la señal de audio de referencia (104) y/o
[0183] - resoluciones de tiempo o frecuencia diferentes.
[0184] [0122]En ejemplos, la pérdida antagónica puede obtenerse suministrando y evaluando aleatoriamente una representación de la señal de audio generada (16) o una representación de la señal de audio de referencia (104) por medio de uno o más evaluadores (132). La evaluación puede comprender clasificar de la señal de audio suministrada (16, 132) en un número predeterminado de clases indicando un nivel de clasificación previamente entrenado de naturalidad de la señal de audio (14, 16). El número predeterminado de clases puede ser, por ejemplo, “REAL” contra “FALSO”.
[0185] Los ejemplos de pérdidas pueden obtenerse como
[0188]
[0190] donde:
[0191] x es la voz real 104,
[0192] z es el ruido latente 14 (o de manera más general la señal de entrada de los primeros datos o el ruido latente), s es el espectrograma de Mel de x (o de manera más general la señal objetivo 12).
[0193] D(…) es la salida de los evaluadores en términos de distribución de probabilidad (D(…) =1 significando “para falso seguro”, D(…) = 0 significando “para real seguro”).
[0194] La pérdida de reconstrucción espectral se utiliza aún para la regularización para prevenir la emergencia de artefactos antagónicos. La pérdida final puede ser, por ejemplo:
[0197]
[0199] donde cada i es la contribución en cada evaluador 132a-132d (por ejemplo, proporcionando cada evaluador 132a-132d una D<i>diferente) y es la pérdida previamente entrenada (fija).
[0200] Durante el entrenamiento, existe una búsqueda foddr del valor mínimo de , la cual puede expresarse por ejemplo como
[0203]
[0205] Pueden realizarse otros tipos de minimizaciones.
[0206] En términos generales, las pérdidas antagónicas mínimas 140 están asociadas con los mejores parámetros (por ejemplo, 74, 75) que serán aplicados al elemento estilístico 77.
[0207] Discusión
[0208] Los ejemplos de la presente descripción se describen en detalle utilizando las descripciones adjuntas. En particular en la siguiente descripción, se describen muchos detalles para proporcionar una explicación completa de ejemplos de la descripción. Sin embargo, será evidente para aquellos expertos en el estado de la técnica que pueden implementarse otros ejemplos sin esos detalles específicos. Las características de los diferentes ejemplos descritos pueden combinarse entre sí, a menos que las características de una combinación correspondiente sean mutuamente excluyentes o esas combinaciones sean excluidas expresamente.
[0209] Deberá señalarse que los mismos o elementos similares o elementos que tienen la misma funcionalidad pueden proporcionarse con el mismo o símbolos de referencia similares o designarse de manera idéntica, con una descripción repetida de elementos que se proporcionan con el mismo o símbolos de referencia similares o los mismos son típicamente omitidos. Las descripciones de los elementos que tienen los mismos o símbolos de referencia similares o se etiquetaron con los mismos son intercambiables.
[0210] Los vocoders neurales han probado superar las estrategias clásicas en la síntesis de voz natural de alta calidad en muchas aplicaciones, como texto a voz, codificación de voz y mejora de voz. La primera red neural generativa innovadora para sintetizar voz de alta calidad fue la WaveNet y brevemente después se desarrollaron muchas otras estrategias. Esos modelos ofrecen la calidad del estado de la técnica, pero a menudo a un coste computacional muy alto y una síntesis muy lenta. Una abundancia de modelos que generan de voz con bajo coste computacional se presentó en años recientes. Algunos de esos son versiones optimizadas de modelos existentes, mientras que otros aprovechan la integración con procedimientos clásicos. Además, también se introdujeron muchas estrategias completamente nuevas, que a menudo dependen de GAN. La mayoría de los vocoders GAN ofrecen la generación muy rápida en GPU, pero al coste de comprometer la calidad de la voz sintetizada.
[0211] Uno de los objetivos principales de este trabajo es proponer una arquitectura GAN, la cual llamamos StyleMelGAN (y puede implementarse, por ejemplo, en el generador de audio 10), que puede sintetizar voz de muy alta calidad 16 a un coste computacional bajo y entrenamiento rápido. La red generadora del StyleMelGAN puede contener 3,86 M de parámetros entrenables y sintetizar voz a 22,05 kHz alrededor de 2,6 x más rápido que en tiempo real en una CPU o más de 54 x en una GPU. El modelo consiste, por ejemplo, de ocho bloques de muestreo ascendente, los cuales transforman gradualmente un vector de ruido de bajas dimensiones (por ejemplo, 30 en la Fig. 1) en la forma de onda de voz sin procesar (por ejemplo 16). La síntesis puede acondicionarse en el espectrograma de Mel de la voz objetivo (o de manera más general por los datos objetivo 12), la cual puede insertarse en cada bloque generador (50a-50h) a través de una capa de Desnormalización Adaptable Temporal (Temporal Adaptive DEnormalization, TADE) (60, 60a, 60b). Este enfoque para insertar las características de acondicionamiento es muy eficiente y, hasta donde sabemos, nuevo en el dominio del audio. La pérdida antagónica se calcula (por ejemplo, a través de la estructura de la Fig.2, en el discriminador de GAN 100) por el montaje de cuatro discriminadores 132a-132d (pero en algunos ejemplos es posible un número diferente de discriminadores), cada uno operando después de un Filtro de Bancos Espejo en Pseudocuadratura diferenciable (Pseudo Quadrature Mirror Filter-bank, PQMF) 110. Esto permite analizar diferentes bandas de frecuencia de la señal de voz (104 o 16) durante el entrenamiento para hacer el entrenamiento más robusto y favorecer la generalización, los discriminadores (por ejemplo, los cuatro discriminadores 132a-132d) no se acondicionan sobre las características acústicas de entrada utilizadas por el generador 10 y la señal de voz (104 o 16) se muestrea utilizando ventanas aleatorias (por ejemplo 105a-105d).
[0213] Para resumir, se propone el StyleMelGAN, el cual es una GAN de baja complejidad para síntesis de voz de alta calidad acondicionada en un espectrograma de Mel (por ejemplo 12) a través de capas de TADE (por ejemplo 60, 60a, 60b). El generador 10 puede ser altamente paralelizable. El generador 10 puede ser completamente convolucional. El generador 10 mencionado anteriormente puede entrenarse de manera antagónica con discriminadores de ventana aleatoria de múltiples muestreos PQMF (por ejemplo 132a-132d), los cuales pueden regularizarse por pérdidas de reconstrucción espectral en múltiples escalas. La calidad de la voz generada 16 puede evaluarse utilizando evaluaciones tanto objetivas (por ejemplo, puntajes de Fréchet) y/o subjetivas. Se revisaron dos pruebas de escucha, una prueba MUSHRA para el escenario de síntesis de copias y una prueba P.800 ACR para TTS, confirmando ambas que el StyleMelGAN alcanza la calidad de voz del estado de la técnica.
[0215] Los vocoders neurales existentes usualmente sintetizan señales de voz directamente en el dominio del tiempo, modelando la amplitud de la forma de onda final. La mayoría de esos modelos son redes neurales generativas, es decir, que modelan la distribución de probabilidad de las muestras de voz observadas en señales de voz natural. Pueden dividirse en autorregresivas, las cuales factorizan explícitamente la distribución en un producto de condicionales y no autorregresivas o paralelas, las cuales modelan en su lugar la distribución conjunta directamente. Se ha reportado que los modelos autorregresivos como WaveNet, SampleRNN y WaveRNN sintetizan señales de voz de alta calidad perceptual. Una enorme familia de modelos no autorregresivos es la de los Flujos Normalizantes, por ejemplo, WaveGlow. Una estrategia híbrida es el uso de los Flujos Autorregresivos Inversos, los cuales utilizan una transformación factorizada entre una representación de ruido latente y una distribución de voz objetivo. Los ejemplos anteriores se refieren principalmente a redes neurales autorregresivas.
[0217] Las primeras aplicaciones de las GAN para audio incluyen WaveGAN para la generación de voz no acondicionada y Gan-Synth para la generación de música. La MelGAN aprende un mapeo entre el espectrograma de Mel de segmentos de voz y sus formas de onda en el dominio del tiempo correspondientes. Garantiza mayor rapidez que la generación en tiempo real y aprovecha el entrenamiento antagónico de discriminadores de múltiples escalas regularizados por pérdidas de reconstrucción espectral. El GAN-TTS es el primer vocoder GAN para utilizar entrenamiento antagónico únicamente para generación de voz acondicionada sobre características acústicas. Su pérdida antagónica es calculada por un montaje de discriminadores de ventanas aleatorias condicionales y no condicionales. El WaveGAN paralelo utiliza un generador, similar al WaveNet en estructura, entrenado utilizando un discriminador no acondicionado regularizado por una pérdida de reconstrucción espectral de múltiples escalas. Ideas similares se utilizan en el MelGAN de múltiples bandas, el cual genera cada subbanda de la voz objetivo por separado, ahorrando energía computacional y entonces obtiene la forma de onda final utilizando PQMF de síntesis. Sus discriminadores de múltiples escalas evalúan la forma de onda de voz de banda completa y se regularizan utilizando una pérdida de reconstrucción espectral múltiples escalas de banda. La investigación de este campo está muy activa y podemos citar vocoders GAN muy recientes como VocGan y HooliGAN.
[0219] [0135]La Fig.1 muestra la arquitectura del generador de StyleMelGAN implementada en el generador de audio 10. El modelo de generador mapea un vector de ruido (indicado con 30 en la Fig.1) en cada forma de onda de voz 16 (por ejemplo, en 22050 Hz) por muestreo ascendente progresivo (por ejemplo, en los bloques 50a-50h) acondicionado sobre espectrogramas de Mel (o de manera más general datos objetivo) 12. Utiliza la Desnormalización Adaptable Temporal, TADE (véanse los bloques 60, 60a, 60b), que puede ser un acondicionamiento de características basado en la modulación lineal de mapas de activación normalizados (76' en la Fig. 3). Los parámetros de modulación γ (gamma, 74 en la Fig.3) y β (beta, 75 en la Fig.3) se aprenden de manera adaptable de las características de acondicionamiento y en un ejemplo tienen la misma dimensión que la señal latente. Esto proporciona las características de acondicionamiento a todas las capas del modelo del generador, preservando en consecuencia la estructura de la señal en todas las etapas del muestreo ascendente. En la fórmula , 128 es el número de canales para el ruido latente (pueden elegirse diferentes números en diferentes ejemplos). Por lo tanto, puede generarse un ruido aleatorio de dimensión 128 con media 0 y con una matriz de autocorrelación (cuadrada de 128 por 128) es igual a la identidad I. En consecuencia, en los ejemplos el ruido generado puede considerarse como completamente descorrelacionado entre los canales y de varianza 1 (energía). puede realizarse en todas las 22528 muestras generadas (o pueden elegirse otros números para diferentes ejemplos); la dimensión puede ser por lo tanto 1 en el eje del tiempo y 128 en el eje del canal (pueden proporcionarse otros números diferentes de 128).
[0220] La Fig. 3 muestra la estructura de una porción del generador de audio 10 e ilustra la estructura del bloque de TADE 60 (60a, 60b). La activación de entrada (76') se modula de manera adaptable a través de , donde indica la multiplicación por elementos (especialmente, y tienen la misma dimensión del mapa de activación; también cabe señalar que es la versión normalizada de la de la Fig. 3 y, por lo tanto, es la versión normalizada de lo cual también podría indicarse con ). Antes de la modulación en el bloque 77, se utiliza una capa de normalización de instancia 76. La capa 76 (elemento de normalización) puede normalizar los primeros datos a una distribución normal de media cero y varianza unitaria. Pueden utilizarse funciones de activación Tanh cerradas por Softmax (por ejemplo, la primera instanciada por los bloques 63a-64a-65a y la segunda instanciada por los bloques 63b-64b-65b en la Fig.4), lo cual se reporta funciona mejor que las funciones de la unidad lineal rectificada, ReLU. El cierre de Softmax (por ejemplo, obtenido por las multiplicaciones 65a y 65b) permite menos artefactos en la generación de la forma de onda de audio.
[0221] La Fig.4 muestra la estructura de una porción del generador de audio 10 e ilustra el Bloque de TADERes 50 (el cual puede ser cualquiera de los bloques 50a-50h), que es el bloque de construcción básico del modelo del generador. Una arquitectura completa se muestra en la Fig.1. Esta incluye ocho etapas de muestreo ascendente 50a-50h (en otros ejemplos son posibles otros números), consistentes, por ejemplo, de un Bloque de TADERes y una capa 601 de muestreo ascendente de la señal 79b por un factor de dos, más un módulo de activación final 46 (en la Fig.1). La activación final comprende un Bloque de TADERes 42 seguido por una capa convolucional de cambio de canal 44, por ejemplo, linealidad de Tanh 46. Este diseño permite utilizar, por ejemplo, una profundidad de canal de 64 para las operaciones de convolución, ahorrando en consecuencia complejidad. Además, este procedimiento de muestreo ascendente permite mantener el factor de dilatación más bajo de 2.
[0222] La Fig.2 muestra la arquitectura de discriminadores de ventana aleatoria de banco de filtros (FB-RWDs). El StyleMelGAN puede utilizar múltiples (por ejemplo, cuatro) discriminadores 132a-132d para su entrenamiento antagónico, donde en los ejemplos la arquitectura de los discriminadores 132a-132d no tiene un muestreo descendente de agrupación promedio. Además, cada discriminador (132a-132d) puede operar sobre un segmento de ventana aleatoria (105a-105d) de la forma de onda de voz de entrada (104 o 16). Finalmente, cada discriminador (132a-132d) puede analizar las subbandas 120 de la señal de voz de entrada (104 o 16) obtenidas por un análisis PQMF (por ejemplo 110). De manera más precisa podemos utilizar, en los ejemplos, 1, 2, 4 y 8 subbandas calculadas respectivamente de segmentos aleatorios seleccionados de 512, 1024, 2048 y 4096 muestras, respectivamente, extraídas de una forma de onda de un segundo. Esto permite una evaluación antagonista de múltiples resoluciones de la señal de voz (104 o 16) en ambos dominios del tiempo y la frecuencia.
[0223] Las GAN de entrenamiento se conocen por ser desafiantes. La utilización de la inicialización aleatoria de los pesos (por ejemplo, 74 y 75), la pérdida antagónica (por ejemplo, 140) puede conducir a artefactos de audio severos y entrenamiento inestable. Para evitar este problema, el generador 10 puede preentrenarse primero utilizando solo la pérdida de reconstrucción espectral que consiste de estimaciones de error de convergencia espectral y el log de la magnitud calculado de diferentes análisis de STFT. El generador obtenido de esta forma puede generar señales muy tonales, aunque con manchas significativas en las altas frecuencias. Este no obstante es un buen punto de inicio para el entrenamiento antagónico, que puede beneficiarse de una mejor estructura armónica que si se comenzara directamente desde una señal de ruido aleatoria completa. El entrenamiento antagónico lleva la generación a la naturalidad eliminando los efectos tonales y agudizando las bandas de frecuencia manchadas. La pérdida de articulación 140 se utiliza para evaluar la métrica antagónica, como puede observarse en la siguiente ecuación 1.
[0226]
[0228] donde es la voz real 104, es el ruido latente 14 (o de manera más general la señal de entrada) y es el espectrograma de Mel de (o de manera más general la señal objetivo 12). Cabe observar que la pérdida de reconstrucción espectral (140) aún se utiliza para la regularización parta prevenir la emergencia de artefactos antagónicos. La pérdida final (140) es según la ecuación 2, la cual puede observarse abajo.
[0229]
[0231] Puede aplicarse la normalización ponderada a todas las operaciones de convolución en G (o de manera más precisa el generador de GAN 11) y D (o de manera más precisa el discriminador 100). En experimentos, el StyleMelGAN se entrenó utilizando un GPU NVIDIA Tesla V100 en el cuerpo del LJSpeech a 22050 Hz. Se calcula el log de la magnitud de los espectrogramas de Mel para 80 bandas de Mel y se normaliza para que tenga una media de cero y una varianza unitaria. Esta es únicamente una posibilidad por supuesto; igualmente son posibles otros valores. El generador se entrena previamente por 100.000 pasos utilizando el optimizador de Adam con una tasa de aprendizaje (lr<g>) de 10<-4>,β1= 0,5,β2= 0,9. Cuando comienza el entrenamiento antagonista, la tasa de aprendizaje de G (lr<g>) se fija en 5 * 10<-5>y se utiliza FB-RWDs con el optimizador de Adam con una tasa de aprendizaje de discriminador (lr<g>) de 2 * 10<-4>y la mismaβ. Los FB-RWD repiten la ventana aleatoria para1s/longitud de ventana, es decir un segundo por longitud de ventana, veces en cada paso de entrenamiento para apoyar el modelo con actualizaciones de gradientes suficientes. Se utilizan un tamaño de lote de 32 y segmentos con una longitud de 1 s, es decir un segundo, por cada muestra en el lote, El entrenamiento dura aproximadamente un millón y medio de pasos, es decir 1.500.000 pasos.
[0232] Lo siguiente enumera los modelos utilizados en los experimentos:
[0233] • WaveNet para experimentos objetivo en la síntesis de copias y texto a voz
[0234] • PWGAN para experimentos objetivo en la síntesis de copias y texto a voz
[0235] • MelGAN para experimentos objetivo en la síntesis de copias con evaluación objetiva
[0236] • WaveGlow para experimentos objetivo en la síntesis de copias
[0237] • Transformer.v3 para experimentos objetivo en texto a voz
[0238] Se han realizado evaluaciones StyleMelGAN objetivas y subjetivas de los modelos de vocoders de referencia previamente entrenados. Se evaluó la calidad subjetiva de las salidas de audio TTS a través de la prueba de escucha P.800 efectuada por escuchas en un ambiente controlado. El conjunto de prueba contiene declaraciones o expresiones invisibles registradas por el mismo altavoz y seleccionadas aleatoriamente del cuerpo online LibriVox. En consecuencia, el modelo es robusto y no depende principalmente de los datos de entrenamiento. Esas declaraciones prueban las capacidades de generalización de los modelos, puesto que fueron registradas en condiciones ligeramente diferentes y presentas prosodia variable. Las declaraciones originales se sintetizaron utilizando el algoritmo GriffinLim y utilizaron esas en lugar de la condición de ancla usual. Esto favorece el uso de la totalidad de la escala de clasificación.
[0239] Las medidas objetivas tradicionales como PESQ y POLQA no son fiables para evaluar formas de onda de voz generadas por vocoders neurales. En su lugar, se utilizan Distancias de Profundidad de Voz Condicionales de Fréchet (conditional Fréchet Deep Speech Distances, cFDSD). Los siguientes puntajes de cFDSD para diferentes vocoders neurales muestran que el StyleMelGAN supera significativamente los otros modelos.
[0242]
[0244] Puede observarse que el StyleMelGAN supera a los otros vocoders antagónicos y no antagónicos.
[0245] Se realizó una prueba de oyente MUSHRA con un grupo de 15 oyentes expertos. Este tipo de prueba se eligió, debido a que permite evaluar de manera más precisa la calidad de la voz generada. El ancla se generó utilizando la implementación Py-Torch del algoritmo de Griffin-Lim con 32 iteraciones. La Fig.5 muestra el resultado de la prueba MUSHRA. Puede observarse que el StyleMelGAN supera significativamente a los otros vocoders en aproximadamente 15 puntos MUSHRA. Los resultados también muestran que el WaveGlow produce resultados de calidad comparable al WaveNet, estando a la par con el WaveGAN Paralelo.
[0246] La calidad subjetiva de las salidas de audio TTS puede evaluarse a través de una prueba de escucha ACR P.800 efectuada por 31 oyentes en un ambiente controlado. Puede utilizarse el modelo Transformer.v3 de ESPNET para generar espectrogramas de Mel de transcripciones del conjunto de prueba. También puede añadirse la misma ancla de Griffin-Lim, puesto que esto favorece el uso de la totalidad de la escala de clasificación.
[0247] Los siguientes puntajes de opinión media (mean opinion scores, MOS) del P800 para diferentes sistemas TTS muestran hallazgos similares de que el StyleMelGAN supera claramente a los otros modelos:
[0250]
[0251]
[0253] Lo siguiente muestra la generación de voz en el factor de tiempo real (Real-Time Factor, RTF) con un número de parámetros de diferentes modelos de vocoders paralelos. El StyleMelGAN proporciona un compromiso claro entre la calidad de la generación y la velocidad de inferencia.
[0254] Aquí se proporcionan, el número de parámetros y factores en tiempo real para la generación en una CPU (por ejemplo, Intel Core i7-67003,40 GHz) y una GPU (por ejemplo, Nvidia GeForce GTX1060) para varios modelos bajo estudio.
[0256]
[0258] Finalmente, la Fig. 5 muestra los resultados de una prueba de oyente experto MUSHRA. Puede observarse que el StyleMelGAN supera los modelos del estado de la técnica.
[0259] Conclusiones
[0260] Este trabajo presenta el StyleMelGAN, un vocoder antagonista de peso ligero y eficiente para síntesis de voz de alta fidelidad. Este modelo utiliza la normalización adaptable temporal (TADE) para proporcionar acondicionamiento suficiente y exacto a todas las capas de generación en lugar de solo alimentar el acondicionamiento a la primera capa. Para el entrenamiento antagónico, el generador compite contra discriminadores de ventana aleatoria de banco de filtros que proporcionan representaciones en múltiples escalas de la señal de voz en ambos dominios del tiempo y la frecuencia. El StyleMelGAN opera en CPU y GPU en orden de magnitud más rápido que en tiempo real. El objetivo experimental objetivos y los resultados subjetivos muestran que el StyleMelGAN supera significativamente a los vocoders antagónicos anteriores, así como a los vocoders autorregresivos, basados en flujo y basados en difusión, proporcionando una nueva referencia en el estado de la técnica para la generación de la forma de onda neural.
[0261] Para concluir, las realizaciones descritas en esta invención pueden suplementarse opcionalmente con cualquiera de los puntos o aspectos importantes descritos aquí. Sin embargo, cabe señalar que los puntos y aspectos importantes descritos aquí pueden utilizarse individualmente o combinados y pueden introducirse en cualquiera de las realizaciones descritas en esta invención, tanto individualmente como combinados.
[0262] Aunque algunos aspectos se han descrito en el contexto de un aparato, está claro que esos también representan una descripción del procedimiento correspondiente, donde un dispositivo o parte del mismo corresponde a una etapa de procedimiento o una característica de una etapa de procedimiento. De manera análoga, los aspectos descritos en el contexto de una etapa de procedimiento también representan una descripción de un aparato o parte correspondiente de un aparato o elemento o característica de un aparato correspondiente. Todas las demás etapas de procedimiento pueden ejecutarse (o utilizarse) por medio de un aparato de hardware, como, por ejemplo, un microprocesador, un ordenador programable o un circuito electrónico. En algunas realizaciones, una o más de las etapas de procedimiento importantes pueden ser ejecutadas por esos aparatos.
[0263] Dependiendo de ciertos requisitos de implementación, las realizaciones de la invención pueden implementarse en hardware o software. La implementación puede efectuarse utilizando un medio de almacenamiento digital, por ejemplo, un disco flexible, un DVD, un Blu-Ray, un CD, una ROM, una PROM, una EPROM, una EEPROM o una memoria FLASH, que tenga señales de control legibles electrónicamente almacenadas en ella, que cooperan (o sean capaces de cooperar) con un sistema de ordenador programable de modo que se realice el procedimiento respectivo. Por lo tanto, el medio de almacenamiento digital puede ser legible por ordenador.
[0264] Algunas realizaciones según la invención comprenden un soporte de datos que tiene señales de control legibles electrónicamente, las cuales son capaces de cooperar con un sistema de ordenador programable, de modo que se realice uno de los procedimientos descritos en esta invención.
[0265] Generalmente, las realizaciones de la presente invención pueden implementarse como un producto de programa informático con un código de programa, operando el código de programa para realizar uno de los procedimientos cuando el producto de programa informático se ejecute en un ordenador. El código de programa puede almacenarse por ejemplo en un soporte legible por una máquina.
[0266] Otras realizaciones comprenden el programa informático para realizar uno de los procedimientos descritos en esta invención, almacenado en un soporte legible por una máquina.
[0267] En otras palabras, una realización del procedimiento de la invención es, por lo tanto, un programa informático que tiene un código de programa para realizar uno de los procedimientos descritos en esta invención, cuando el programa informático se ejecute en un ordenador.
[0268] Una realización adicional del procedimiento de la invención es, por lo tanto, un soporte de datos (o un medio de almacenamiento digital o un medio legible por ordenador) comprendiendo, registrado en él, el programa informático para realizar uno de los procedimientos descritos en esta invención. El soporte de datos, el medio de almacenamiento digital o el medio registrado típicamente son tangibles y/o no transitorios.
[0269] Una realización adicional del procedimiento de la invención es, por lo tanto, un flujo de datos o una secuencia de señales que representan el programa informático para realizar uno de los procedimientos descritos en esta invención. El flujo de datos o la secuencia de señales pueden configurarse por ejemplo para transferirse a través de una conexión de comunicación de datos, por ejemplo, a través de Internet.
[0270] Una realización adicional comprende medios de procesamiento, por ejemplo, un ordenador o un dispositivo lógico programable, configurado o adaptado para realizar uno de los procedimientos descritos en esta invención.
[0271] Una realización adicional según la invención comprende un aparato o un sistema configurado para transferir (por ejemplo, electrónica u ópticamente) un programa informático para realizar uno de los procedimientos descritos en esta invención a un receptor. El receptor puede, por ejemplo, ser un ordenador, un dispositivo móvil, un dispositivo de memoria o similar. El aparato o sistema puede, por ejemplo, comprender un servidor de archivos para transferir el programa informático al receptor.
[0272] En algunas realizaciones, puede utilizarse un dispositivo lógico programable (por ejemplo, una matriz de puertas programables en el campo) para realizar algunas o todas las funcionalidades de los procedimientos descritos en esta invención. En algunas realizaciones, una matriz de puertas programables en el campo puede cooperar con un microprocesador para realizar uno de los procedimientos descritos en esta invención. De manera general, los procedimientos se realizan preferiblemente por medio de cualquier aparato de hardware.
[0273] El aparato descrito en esta invención puede implementarse utilizando un aparato de hardware o utilizando un ordenador o utilizando una combinación de un aparato de hardware y un ordenador. El aparato descrito en esta invención o cualquiera de los componentes del aparato descrito en esta invención, puede implementarse al menos parcialmente en hardware y/o en software. Los procedimientos descritos en esta invención pueden realizarse utilizando un aparato de hardware o utilizando un ordenador o utilizando una combinación de un aparato de hardware y un ordenador. Los procedimientos descritos en esta invención o cualquier parte de los procedimientos descritos en esta invención, puede realizarse al menos parcialmente por medio de hardware y/o software.
[0274] Las realizaciones descritas anteriormente son simplemente ilustrativas de los principios de la presente invención. Debe comprenderse que las modificaciones y variaciones de las matrices y detalles descritos en esta invención serán evidentes para otros expertos en el estado de la técnica. Por lo tanto, se pretende, que sean limitadas únicamente por el alcance del impedimento de las reivindicaciones de patente y no por los detalles específicos presentados a modo de descripción y explicación de las realizaciones en esta invención.
[0275] Bibliografía
[0276]
[0277] A. van den Oord, S. Dieleman, H. Zen, K. Simonyan, y col., “WaveNet: A Generative Model for Raw Audio”,arXiv:1609.03499, 2016.
[0278] R. Prenger, R. Valle, and B. Catanzaro, “Waveglow: A Flow-based Generative Network for Speech Synthesis”, inIEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), 2019, pp.3617–3621.
[0279] S. Mehri, K. Kumar, I. Gulrajani, R. Kumar, y col., “SampleRNN: An Unconditional End-to-End Neural Audio Generation Model”,arXiv:1612.07837, 2016.
[0280] N. Kalchbrenner, E. Elsen, K. Simonyan, S. Noury, y col., “Efficient neural audio synthesis”,arXiv:1802.08435, 2018.
[0281] A. van den Oord, Y. Li, I. Babuschkin, K. Simonyan, y col., “Parallel WaveNet: Fast High-Fidelity Speech Synthesis”, inProceedings of the 35th ICML, 2018, pp.3918–3926.
[0282] J. Valin and J. Skoglund, “LPCNET: Improving Neural Speech Synthesis through Linear Prediction”, inIEEEInternational Conference on Acoustics, Speech and Signal Processing (ICASSP)
, 2019, pp.5891–5895.
[0283] K. Kumar, R. Kumar, de T. Boissiere, L. Gestin, y col., “MelGAN: Generative Adversarial Networks for Conditional Waveform Synthesis”, inAdvances in NeurIPS 32, pp.14910–14921.2019.
[0284] R. Yamamoto, E. Song, and J. Kim, “Parallel Wavegan: A Fast Waveform Generation Model Based on Generative Adversarial Networks with Multi-Resolution Spectrogram”, inIEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), 2020, pp.6199–6203.
[0285] M. Bin´kowski, J. Donahue, S. Dieleman, A. Clark, y col., “High Fidelity Speech Synthesis with Adversarial Networks”,arXiv:1909.11646, 2019.
[0286] T. Park, M. Y. Liu, T. C. Wang, and J. Y. Zhu, “Se-mantic Image Synthesis With Spatially-Adaptive Nor-malization”, inProc. of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2019.
[0287] P. Govalkar, J. Fischer, F. Zalkow, and C. Dittmar, “A Comparison of Recent Neural Vocoders for Speech Signal Reconstruction”, inProceedings of the ISCA Speech Synthesis Workshop, 2019, pp.7–12.
[0288] I. Goodfellow, J. Pouget-Abadie, M. Mirza, B. Xu, y col., “Generative Adversarial Nets”, inAdvances in NeurIPS 27, pp. 2672–2680.2014.C. Donahue, J. McAuley, and M. Puckette, “Adversarial Audio Synthesis”,arXiv:1802.04208, 2018.
[0289] J. Engel, K. K. Agrawal, S. Chen, I. Gulrajani, y col., “GANSynth: Adversarial Neural Audio Synthesis”,arXiv:1902.08710, 2019.
[0290] G. Yang, S. Yang, K. Liu, P. Fang, y col., “Multiband MelGAN: Faster Waveform Generation for High-Quality Textto-Speech”,arXiv:2005.05106, 2020.
[0291] J. Yang, J. Lee, Y. Kim, H. Cho, and I. Kim, “VocGAN: A High-Fidelity Real-time Vocoder with a Hierarchicallynested Adversarial Network”,arXiv:2007.15256, 2020.
[0292] Jungil Kong, Jaehyeon Kim, and Jaekyoung Bae, “Hifi-gan: Generative adversarial networks for efficient and high fidelity speech synthesis”,arXiv preprint arXiv:2010.05646, 2020.
[0293] D. Ulyanov, A. Vedaldi, and V. Lempitsky, “Instance normalization: The missing ingredient for fast stylization”,arXiv:1607.08022, 2016.
[0294] A. Mustafa, A. Biswas, C. Bergler, J. Schottenhamml, and A. Maier, “Analysis by Adversarial Synthesis - A Novel Approach for Speech Vocoding”, inProc. Inter-speech, 2019, pp.191–195.
[0295] T. Q. Nguyen, “Near-perfect-reconstruction pseudo-QMF banks”,IEEE Transactions on Signal Processing, vol.42, no.1, pp.65–76, 1994.
[0296] T. Salimans and D. P. Kingma, “Weight normalization: A simple reparameterization to accelerate training of deep neural networks”, inAdvances in NeurIPS, 2016, pp.901–909.
[0297] K. Ito and L. Johnson, “The LJ Speech Dataset”, https://keithito.com/LJ-Speech-Dataset/, 2017.
[0298] D. P. Kingma and J. Ba, “Adam: A method for stochastic optimization”,arXiv:1412.6980, 2014.
[0299] T. Hayashi, R. Yamamoto, K. Inoue, T. Yoshimura, y col., “Espnet-tts: Unified, reproducible, and integratable open source end-to-end text-to-speech toolkit”, inIEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). IEEE, 2020, pp.7654–7658.
[0300] A. Gritsenko, T. Salimans, R. van den Berg, J. Snoek, and N. Kalchbrenner, “A Spectral Energy Distance for Parallel Speech Synthesis”,arXiv:2008.01160, 2020.
[0301] “P.800: Methods for subjective determination of trans-mission quality”, Standard, International Telecommunication Union, 1996.

Claims (24)

1. REIVINDICACIONES
1. Un generador de audio (10), configurado para generar una señal de audio (16) a partir de una señal de entrada (14) y datos objetivo (12), representando los datos objetivo (12) la señal de audio (16), comprendiendo: un primer bloque de procesamiento (40, 50, 50a-50h), configurado para recibir primero datos (15, 59a) derivados de la señal de entrada (14) y para generar primeros datos de salida (69), donde los primeros datos de salida (69) comprende una pluralidad de canales (47) y
un segundo bloque de procesamiento (45), configurado para recibir, como segundos datos, los primeros datos de salida (69) o datos derivados de los primeros datos de salida (69),
donde el primer bloque de procesamiento (50) comprende para cada canal de los primeros datos de salida: un conjunto de acondicionamiento de capas asimilables (71, 72, 73) configurado para procesar los datos objetivo (12) para obtener parámetros de las características de acondicionamiento (74, 75), siendo los datos objetivo (12) derivados de un texto; y
un elemento de estilo (77), configurado para aplicar los parámetros de las características de acondicionamiento (74, 75) a los primeros datos (15, 59a) o primeros datos normalizados (59, 76’); y
donde el segundo bloque de procesamiento (45) se configura para combinar la pluralidad de canales (47) de los segundos datos (69) para obtener la señal de audio (16).
2. Un generador de audio según la reivindicación 1, donde los datos objetivo (12) son un espectrograma.
3. Un generador de audio según cualquiera de las reivindicaciones anteriores, donde los datos objetivo (12) son un espectrograma de Mel.
4. El generador de audio según cualquiera de las reivindicaciones anteriores, donde los datos objetivo (12) comprenden al menos una característica acústica entre un log de espectrograma o un MFCC y un espectrograma de Mel u otro tipo de espectrograma obtenido de un texto.
5. El generador de audio según cualquiera de las reivindicaciones anteriores, configurado para obtener los datos objetivo (12) convirtiendo (1110) una entrada en forma de texto o elementos de texto en al menos una característica acústica.
6. El generador de audio según cualquiera de las reivindicaciones anteriores, configurado para obtener los datos objetivo (12) convirtiendo (1114) al menos una característica lingüística en al menos una característica acústica.
7. El generador de audio según cualquiera de las reivindicaciones anteriores, donde los datos objetivo (12) comprenden al menos una característica lingüística entre un fonema, prosodia de palabras, entonación, saltos de frase y pausas completas obtenidas de un texto.
8. El generador de audio según la reivindicación 7, configurado para obtener los datos objetivo (12) convirtiendo (1110) una entrada en forma de texto o elementos de texto en al menos una característica lingüística.
9. El generador de audio según cualquiera de las reivindicaciones anteriores, donde los datos objetivo (12) comprenden al menos uno entre un carácter y una palabra obtenida de un texto.
10. El generador de audio según cualquiera de las reivindicaciones anteriores, donde los datos objetivo (12) se derivan de un texto (112) utilizando un modelo estadístico, efectuando el análisis de texto y/o utilizando un modelo acústico.
11. El generador de audio según cualquiera de las reivindicaciones anteriores, donde los datos objetivo (12) se derivan de un texto (112) utilizando un modelo asimilable efectuando el análisis de texto y/o utilizando un modelo acústico.
12. El generador de audio según cualquiera de las reivindicaciones anteriores, donde los datos objetivo (12) se derivan de un texto (112) utilizando un algoritmo basado en reglas efectuando el análisis de texto y/o un modelo acústico.
13. El generador de audio según cualquiera de las reivindicaciones anteriores configurado para derivar los datos objetivo a través de al menos una capa determinística.
14. El generador de audio según cualquiera de las reivindicaciones anteriores configurado para derivar los datos objetivo a través de al menos una capa asimilable.
15. Un generador de audio según cualquiera de las reivindicaciones anteriores, donde el conjunto de acondicionamiento de capas asimilables consta de una o al menos dos capas de convolución (71-73).
16. Un generador de audio según la reivindicación 15, donde una primera capa de convolución (71-73) se configura para convolucionar los datos objetivo (12) o datos objetivo muestreados de manera ascendente para obtener primeros datos convolucionados (71’) utilizando una primera función de activación.
17. Un generador de audio según cualquiera de las reivindicaciones anteriores, donde el conjunto de acondicionamiento de capas asimilables (71-73) y el elemento de estilo (77) sean parte de una capa de peso o ponderación en un bloque residual (50, 50a-50h) de una red neural comprendiendo uno o más bloques residuales (50, 50a-50h).
18. Un generador de audio según cualquiera de las reivindicaciones 1 a 17, donde el generador de audio (10) comprende además un elemento normalizado (76), el cual se configura para normalizar los primeros datos (59a, 15).
19. Un generador de audio según cualquiera de las reivindicaciones 1 a 18, donde los datos objetivo (12) se muestrean de manera ascendente en un factor de al menos 2.
20. Un generador de audio según la reivindicación 19, donde los datos objetivo (12) se muestrean de manera ascendente (70) por medio de interpolación no lineal.
21. Un generador de audio según la reivindicación 16 o cualquiera de las reivindicaciones 17 a 20 cuando depende de la reivindicación 16, donde la primera función de activación es una unidad lineal rectificada con fugas, función ReLu, con fugas.
22. Un generador de audio según cualquiera de las reivindicaciones 1 a 21, donde las operaciones de convolución (61a, 61b, 62a, 62b) se ejecutan con un factor de dilación máximo de 2.
23. Un generador de audio según cualquiera de las reivindicaciones 1 a 22, donde los primeros datos (15, 59, 59a, 59b) tienen una dimensionalidad menor que la señal de audio.
24. El procedimiento para generar una señal de audio (16) por medio de un generador de audio (10) a partir de una señal de entrada (14) y datos objetivo (12), representando los datos objetivo (12) la señal de audio (16) y siendo derivados de un texto, comprendiendo:
recibir, por medio de un primer bloque de procesamiento (50, 50a-50h), primeros datos (16559, 59a, 59b) derivados de la señal de entrada (14);
para cada canal de los primeros datos de salida (59b, 69):
procesar, por medio de un conjunto de acondicionamiento de capas asimilables (71, 72, 73) del primer bloque de procesamiento (50), los datos objetivo (12) para obtener parámetros de las características de acondicionamiento (74, 75); y
aplicar, por medio de un elemento de estilo (77) del primer bloque de procesamiento (50), los parámetros de las características de acondicionamiento (74, 75) a los primeros datos (15, 59) o primeros datos normalizados (76’);
generar, por medio del primer bloque de procesamiento (50), primeros datos de salida (69) comprendiendo una pluralidad de canales (47);
recibir, por medio de un segundo bloque de procesamiento (45), como segundos datos, los primeros datos de salida (69) o datos derivados de los primeros datos de salida (69); y
combinar, por medio del segundo bloque de procesamiento (45), la pluralidad de canales (47) de los segundos datos para obtener la señal de audio (16).
ES21791345T 2020-10-15 2021-10-13 Audio generator and methods for generating an audio signal Active ES3045087T3 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP20202058 2020-10-15
PCT/EP2021/072075 WO2022078651A1 (en) 2020-10-15 2021-08-06 Audio generator and methods for generating an audio signal and training an audio generator
PCT/EP2021/078371 WO2022079129A1 (en) 2020-10-15 2021-10-13 Audio generator and methods for generating an audio signal and training an audio generator

Publications (1)

Publication Number Publication Date
ES3045087T3 true ES3045087T3 (en) 2025-11-27

Family

ID=72964439

Family Applications (2)

Application Number Title Priority Date Filing Date
ES21791345T Active ES3045087T3 (en) 2020-10-15 2021-10-13 Audio generator and methods for generating an audio signal
ES21786242T Active ES3043387T3 (en) 2020-10-15 2021-10-13 Audio generator and methods for generating an audio signal

Family Applications After (1)

Application Number Title Priority Date Filing Date
ES21786242T Active ES3043387T3 (en) 2020-10-15 2021-10-13 Audio generator and methods for generating an audio signal

Country Status (9)

Country Link
US (2) US20230317056A1 (es)
EP (2) EP4229623B1 (es)
JP (2) JP7617261B2 (es)
KR (2) KR102837410B1 (es)
CN (2) CN116686042A (es)
CA (2) CA3195582A1 (es)
ES (2) ES3045087T3 (es)
MX (2) MX2023004330A (es)
WO (4) WO2022078634A1 (es)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022078634A1 (en) * 2020-10-15 2022-04-21 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio generator and methods for generating an audio signal and training an audio generator
JP2024516664A (ja) * 2021-04-27 2024-04-16 フラウンホッファー-ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ デコーダ
JP7849833B2 (ja) * 2021-08-23 2026-04-22 国立研究開発法人情報通信研究機構 オーディオデータ生成装置、オーディオデータ生成装置の敵対的学習方法、オーディオデータ生成装置の学習方法、および、音声合成処理システム
KR102882671B1 (ko) * 2022-05-26 2025-11-07 한양대학교 산학협력단 향상된 음성을 컨디셔닝 피쳐로 활용하는 트랜스포머 기반 음성인식 기술
CN116092503B (zh) * 2023-04-06 2023-06-20 华侨大学 联合时域和频域的伪造语音检测方法、装置、设备及介质
CN116403562B (zh) * 2023-04-11 2023-12-05 广州九四智能科技有限公司 一种基于语义信息自动预测停顿的语音合成方法、系统
US12354576B2 (en) 2023-08-09 2025-07-08 Futureverse Ip Limited Artificial intelligence music generation model and method for configuring the same
EP4517750A1 (en) * 2023-08-29 2025-03-05 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Receiver for decoding an audio signal including a kind of switching means and corresponding method
US20250140265A1 (en) * 2023-10-25 2025-05-01 Tencent America LLC Speech codec based generative method for speech enhancement in adverse conditions
CN117292672B (zh) * 2023-11-27 2024-01-30 厦门大学 一种基于矫正流模型的高质量语音合成方法
CN117592384B (zh) * 2024-01-19 2024-05-03 广州市车厘子电子科技有限公司 一种基于生成对抗网络的主动声浪生成方法
CN117809621B (zh) * 2024-02-29 2024-06-11 暗物智能科技(广州)有限公司 一种语音合成方法、装置、电子设备及存储介质
US20250356121A1 (en) * 2024-05-17 2025-11-20 Robert Bosch Gmbh System and method for multi-conditioned audio generation
US20260011317A1 (en) * 2024-07-05 2026-01-08 Futureverse Ip Limited System and method for configuring and using a generative artificial intelligence system
CN119296512B (zh) * 2024-08-19 2026-01-06 北京捷通华声科技股份有限公司 一种语音合成方法、装置、设备和存储介质
US12456250B1 (en) 2024-11-14 2025-10-28 Futureverse Ip Limited System and method for reconstructing 3D scene data from 2D image data

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6802958B2 (ja) * 2017-02-28 2020-12-23 国立研究開発法人情報通信研究機構 音声合成システム、音声合成プログラムおよび音声合成方法
US10068557B1 (en) * 2017-08-23 2018-09-04 Google Llc Generating music with deep neural networks
JP7214726B2 (ja) * 2017-10-27 2023-01-30 フラウンホッファー-ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ ニューラルネットワークプロセッサを用いた帯域幅が拡張されたオーディオ信号を生成するための装置、方法またはコンピュータプログラム
WO2019139428A1 (ko) 2018-01-11 2019-07-18 네오사피엔스 주식회사 다중 언어 텍스트-음성 합성 방법
WO2019222591A1 (en) * 2018-05-17 2019-11-21 Google Llc Synthesis of speech from text in a voice of a target speaker using neural networks
US11462209B2 (en) * 2018-05-18 2022-10-04 Baidu Usa Llc Spectrogram to waveform synthesis using convolutional networks
JP7110055B2 (ja) * 2018-10-09 2022-08-01 株式会社日立ソリューションズ・テクノロジー 音声合成システム、及び音声合成装置
CN110060690B (zh) * 2019-04-04 2023-03-24 南京邮电大学 基于STARGAN和ResNet的多对多说话人转换方法
CN110797002B (zh) * 2020-01-03 2020-05-19 同盾控股有限公司 语音合成方法、装置、电子设备及存储介质
CN111179905A (zh) * 2020-01-10 2020-05-19 北京中科深智科技有限公司 一种快速配音生成方法及装置
CN111312208A (zh) * 2020-03-09 2020-06-19 广州深声科技有限公司 一种说话人不相干的神经网络声码器系统
CN116322773A (zh) * 2020-04-21 2023-06-23 马萨诸塞大学 用于治疗年龄相关性黄斑变性的方法和组合物
GB2612447B (en) * 2020-04-24 2025-08-13 Univ Cornell Methods for detecting tissue damage, graft versus host disease, and infections using cell-free DNA profiling
CN111724809A (zh) * 2020-06-15 2020-09-29 苏州意能通信息技术有限公司 一种基于变分自编码器的声码器实现方法及装置
CN111739508B (zh) * 2020-08-07 2020-12-01 浙江大学 一种基于dnn-hmm双模态对齐网络的端到端语音合成方法及系统
EP4150615A1 (en) * 2020-09-02 2023-03-22 Google LLC Conditional output generation through data density gradient estimation
WO2022078634A1 (en) * 2020-10-15 2022-04-21 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio generator and methods for generating an audio signal and training an audio generator

Also Published As

Publication number Publication date
EP4229623A1 (en) 2023-08-23
JP2023546098A (ja) 2023-11-01
JP2023546099A (ja) 2023-11-01
KR20230109631A (ko) 2023-07-20
ES3043387T3 (en) 2025-11-25
EP4229623B1 (en) 2025-08-20
US20230317056A1 (en) 2023-10-05
WO2022078651A1 (en) 2022-04-21
CN116648742A (zh) 2023-08-25
EP4229624B1 (en) 2025-08-27
US20230282202A1 (en) 2023-09-07
EP4229623C0 (en) 2025-08-20
CN116686042A (zh) 2023-09-01
KR20230109630A (ko) 2023-07-20
EP4229624C0 (en) 2025-08-27
JP7617261B2 (ja) 2025-01-17
WO2022078634A1 (en) 2022-04-21
EP4229624A1 (en) 2023-08-23
MX2023004329A (es) 2023-06-13
JP7600390B2 (ja) 2024-12-16
KR102837411B1 (ko) 2025-07-23
WO2022079129A1 (en) 2022-04-21
WO2022079130A1 (en) 2022-04-21
MX2023004330A (es) 2023-06-13
CA3195582A1 (en) 2022-04-21
CA3195578A1 (en) 2022-04-21
KR102837410B1 (ko) 2025-07-23

Similar Documents

Publication Publication Date Title
ES3045087T3 (en) Audio generator and methods for generating an audio signal
Serrà et al. Blow: a single-scale hyperconditioned flow for non-parallel raw-audio voice conversion
Shen et al. Natural tts synthesis by conditioning wavenet on mel spectrogram predictions
US12020682B2 (en) Method for extracting speech from degraded signals by predicting the inputs to a speech vocoder
Tan Neural text-to-speech synthesis
Tachibana et al. An investigation of noise shaping with perceptual weighting for WaveNet-based speech generation
Wang et al. Neural harmonic-plus-noise waveform model with trainable maximum voice frequency for text-to-speech synthesis
CN117546237A (zh) 解码器
Singh et al. Spectral modification based data augmentation for improving end-to-end ASR for children's speech
Wagner et al. Generative adversarial networks for whispered to voiced speech conversion: a comparative study
Abdullah et al. A compact CNN-based speech enhancement with adaptive filter design using gabor function and region-aware convolution
Li et al. SnakeGAN: A universal vocoder leveraging DDSP prior knowledge and periodic inductive bias
Wu et al. Denoising Recurrent Neural Network for Deep Bidirectional LSTM Based Voice Conversion.
RU2823015C1 (ru) Генератор аудиоданных и способы формирования аудиосигнала и обучения генератора аудиоданных
RU2823016C1 (ru) Генератор аудиоданных и способы формирования аудиосигнала и обучения генератора аудиоданных
Al-Radhi High-Quality Vocoding Design with Signal Processing for Speech Synthesis and Voice Conversion
BR112023007076B1 (pt) Gerador de áudio configurado para gerar um sinal de áudio a partir de um sinal de entrada e dados-alvo
Nirmal et al. Novel approach of MFCC based alignment and WD-residual modification for voice conversion using RBF
Ogita et al. VAE-SiFiGAN: Source-Filter HiFi-GAN Based on Variational Autoencoder Representations with Enhanced Pitch Controllability
Wu et al. Statistical voice conversion with quasi-periodic wavenet vocoder
Villani et al. A Two-Stage Neural Network for Speech Signal Reconstruction from Mel Spectrograms
Zhang et al. Low Bit-Rate Speech Coding Based upon GMD-LPCNet
Oh et al. Toward Complex-Valued Neural Networks for Waveform Generation
Meng et al. FNH-TTS: A Fast, Natural, and Human-Like Speech Synthesis System with advanced prosodic modeling based on Mixture of Experts
Achanta et al. Significance of Maximum Spectral Amplitude in Sub-bands for Spectral Envelope Estimation and Its Application to Statistical Parametric Speech Synthesis