Pregunta

La primera parte de esta pregunta es ahora propia, aquí: Analizando texto para acentos

Pregunta: ¿Cómo podrían agregarse acentos para generar discurso?

lo que he encontrado:

No quiero decir solo marcas de acento, o inflexión, ni nada singular como ese. Me refiero a algo como un acento británico completo, o un acento escocés, o ruso, etc.

Pensaría que esto también podría hacerse fuera del idioma. ex : algo en ruso podría generarse con un acento británico, o algo en mandarín podría tener un acento ruso.

Creo que el proceso básico sería esto:

  1. analizar el texto
    • Compare con una base de datos (o algo así) para determinar qué necesita un acento, qué tan fuerte debe ser, etc.
  2. generar el discurso en lenguaje específico
    • fácil con los procesadores normales de texto a voz.
  3. Determine el acento especificado según el texto analizado.
    • Esta es la parte en cuestión.
    • Creo que una matriz de amplitudes y filtros funcionaría mejor para el siguiente paso.
  4. Discurso de malla y acento.
    • Esta sería la parte fácil.
    • probablemente podría hacerse multiplicando el discurso por el acento, como lo hacen muchos otros métodos DSP.
  5. Esto es realmente más de una pregunta general de DSP, pero me gustaría encontrar un algoritmo programático para hacer esto en lugar de una idea general.

¿Fue útil?

Solución

¿Qué es un acento?

Un acento no es un filtro de sonido; Es un patrón de realización acústica del texto en un idioma. No puede tomar una grabación de inglés americano, ejecutelo a través de "Array de amplitudes y filtros", y haga que salga inglés británico. Para qué es útil DSP es implementar prosody , no acento.

Básicamente (y más sencillo de modelo), un acento consiste en reglas para la realización fonética de una secuencia de fonemas. La percepción del acento está influenciada aún más por prosody y por qué fonemas a El altavoz elige al leer el texto.

Generación del habla

El proceso de generación de voz tiene dos pasos básicos:

  1. Texto a fonemas: convertir texto escrito a una secuencia de fonemas (más suprasegmentarios como el estrés y la información prosódica, como los límites de la expresión). Esto es un tanto dependiente del acento (por ejemplo, la salida para " el laboratorio "difiere entre los oradores estadounidenses y británicos).

  2. Phoneme-to-discurso: Dada la secuencia de fonemas, genere audio de acuerdo con las reglas del dialecto para las realizaciones fonéticas de los fonemas. (Normalmente, usted combina los difonos y luego ajuste la prosodia acústica). Esto depende de la altamente acento, y es este paso que imparte la calidad principal del acento. Un fonema particular, incluso si se comparte entre dos acentos, puede tener realizaciones acústicas sorprendentemente diferentes.

  3. normalmente estos están emparejados. Mientras que usted podría tener un generador de habla con acento británico que usa pronunciaciones estadounidenses, que parecería extraño.

    generando discurso con un acento dado

    Escribir un programa de texto a voz es una enorme cantidad de trabajo (en particular, para implementar un esquema común, debe grabar un hablante nativo que habla cada vez posible diphone en el idioma), por lo que estaría mejor utilizando uno existente.

    En resumen, si desea un acento británico, use un motor de texto a-fonema británico en inglés junto con un motor británico de fonema-to-habla.

    Para acentos comunes como el inglés estadounidense y británico, el mandarín estándar, el francés metropolitano, etc., habrá varias opciones, incluidas las de código abierto que podrá modificar (como se muestra a continuación). Por ejemplo, mire a Freetts y ESPAEK . Para obtener acentos menos comunes, los motores existentes lamentablemente no pueden existir.

    Hablando texto con un acento extranjero

    Inglés con un acento extranjero es socialmente no muy prestigioso, por lo que los sistemas completos probablemente no existen.

    Una estrategia sería combinar un motor de texto a través de Thnelf-to-Phoneme para un acento nativo con un motor de fonema a voz para el idioma extranjero. Por ejemplo, un orador ruso nativo que aprendió inglés en los Estados Unidos, usaría plausiblemente pronunciaciones americanas de palabras como laboratorio , y mapear sus fonemas en sus fonemas rusos nativos, pronunciándolos como en ruso. (Creo que hay un sitio web que hace esto para inglés y japonés, pero no tengo el enlace.)

    El problema es que el resultado es demasiado extremo. Un verdadero aprendiz inglés intentaría reconocer y generar fonemas que no existen en su idioma nativo, y también alteraría su realización de sus fonemas nativos para aproximarse a la pronunciación natal. ¿Qué tan de cerca el resultado coincide con un hablante nativo, por supuesto, varía, pero utilizando los sonidos extremos extraños puros ridículos (y en su mayoría incomprensibles).

    Para generar un acento de inglés americano-inglés-inglés-en inglés (por ejemplo), tendría que escribir un motor de texto a fonema. Puede usar los motores de texto a-fonemas de inglés americano y ruso existentes como punto de partida. Si no está dispuesto a encontrar y registrar dicho altavoz, probablemente podría obtener una aproximación decente utilizando DSP para combinar las muestras de esos dos motores. Para ESPAEK, utiliza síntesis de formación en lugar de muestras grabadas, por lo que podría ser más fácil combinar información de varios idiomas.

    Otra cosa a considerar es que los altavoces extranjeros a menudo modifican la secuencia de fonemas bajo la influencia por las fonotácticas de su idioma nativo, generalmente al simplificar los grupos de consonantes, insertando voces epentéticas, o secuencias de voces diptongización o roturas.

    Hay alguna literatura sobre este tema.

Otros consejos

Esta pregunta no es realmente "Programación" per se: Es lingüística. La programación es comparativamente fácil. Para el análisis, eso será realmente difícil, y en verdad, es probable que sea mejor que el usuario especifique el acento; ¿O vas a un lector de cuentos automatizado?

Sin embargo, un acento básico es factible con texto moderno a voz. ¿Eres consciente del alfabeto fonético internacional? http://en.wikipedia.org/wiki/international_phonetic_alphabet Básicamente enumera todos los sonidos que una voz humana puede hacer. Un acento es entonces solo un mapeo (una función) del alfabeto a sí mismo. Por ejemplo, para hacer que un acento estadounidense suene británico a una persona estadounidense (aunque no es suficiente para que suene británica a una persona británica), puede deshinaturar todos los sonidos "R" en medio de una palabra. Así, por ejemplo, el tranvía alveolar se reemplazaría con la fricativa uvular expresada. (Muchos estuches de esquina para hacer ejercicio solo por esto).

Largo y corto: No es fácil, lo que es probable que nadie lo ha hecho. Estoy seguro de que un par de profesores lingüísticos que salen, dirían que es imposible. Pero eso es lo que hacen los profesores lingüísticos. Pero básicamente necesitarás leer varios libros de texto gruesos en acentos y pronunciación para hacer frente a este problema. Buena suerte!

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top