Question

La première partie de cette question est maintenant sa propre, ici: Analyser le texte des accents

question: Comment les accents pourraient-ils être ajoutés au discours généré?

ce que j'ai proposé:

Je ne veux pas dire juste des marques d'accents, ou l'inflexion, ou quelque chose de singulier comme ça. Je veux dire quelque chose comme un accent britannique complet, ou un accent écossais, ou russe, etc.

Je penserais que cela pourrait également être fait en dehors de la langue. ex : quelque chose en russe pourrait être généré avec un accent britannique ou quelque chose en mandarin pourrait avoir un accent russe.

Je pense que le processus de base serait ceci:

  1. analyser le texte
    • comparer avec une base de données (ou quelque chose comme ça) pour déterminer ce qui nécessite un accent, à quel point il devrait être fort, etc.
  2. génère le discours dans une langue spécifiée
    • facile avec des processeurs Text-Text-Speech.
  3. Déterminez l'accent spécifié en fonction du texte analysé.
    • C'est la partie en question.
    • Je pense qu'un éventail d'amplitudes et de filtres fonctionnerait mieux pour la prochaine étape.
  4. Discours de maille et accent.
    • Ce serait la partie facile.
    • Cela pourrait probablement être fait en multipliant le discours par l'accent, comme de nombreuses autres méthodes DSP.
  5. C'est vraiment plus une question de DSP générale, mais j'aimerais proposer un algorithme programmatique pour le faire au lieu d'une idée générale.

Était-ce utile?

La solution

Qu'est-ce qu'un accent?

Un accent n'est pas un filtre sonore; C'est un modèle de réalisation acoustique du texte dans une langue. Vous ne pouvez pas utiliser l'enregistrement de l'anglais américain, dirigez-vous par «gamme d'amplitudes et de filtres», et faites une pop anglais britannique. Ce qui est utile pour la mise en œuvre Prosody , pas d'accent.

Fondamentalement (et le plus simple au modèle), un accent est constitué de règles pour la réalisation phonétique d'une séquence de phonèmes. La perception de l'accent est encore influencée par Prosody et par quels phonèmes A Haut-parleur choisit lors de la lecture de texte.

Génération vocale

Le processus de génération de la parole a deux étapes de base:

  1. text-to-phonèmes: convertir du texte écrit en une séquence de phonèmes (plus supraségments tels que le stress et des informations prosodiques telles que les frontières d'énoncé). C'est un peu dépendant un peu (par exemple, la sortie pour "laboratoire" diffère entre les haut-parleurs américains et britanniques).

  2. Phoneme-TO-Speech: Compte tenu de la séquence de phonèmes, génère de l'audio selon les règles du dialecte pour les réalisations phonétiques des phonèmes. (En règle générale, vous combinez ensuite des diphones, puis ajustez l'acoustiquement la prosodie). C'est très dépendant de l'accent, et c'est cette étape qui confère la qualité principale de l'accent. Un phonème particulier, même si partagé entre deux accents, peut avoir des réalisations acoustiques extrêmement différentes.

  3. Normalement, celles-ci sont jumelées. Pendant que vous pourriez-vous avoir un générateur de parole accentué britannique qui utilise des prononciations américaines, cela semblerait étrange.

    Génération de la parole avec un accent donné

    Écrire un programme de texte à vocation est une quantité énorme de travail (en particulier pour mettre en œuvre un programme commun, vous devez enregistrer un orateur natif de parler chacun de la diphone possible dans la langue), vous seriez donc mieux éteint en utilisant un existant.

    En bref, si vous voulez un accent britannique, utilisez un moteur text-phoneme anglais britannique avec un moteur phoneme-ons anglais britannique.

    Pour les accents courants tels que l'anglais américain et britannique, le mandarin standard, le français métropolitain, etc., il y aura plusieurs choix, y compris des sources open-source que vous pourrez modifier (comme ci-dessous). Par exemple, consultez freetswe et Espeak . Pour des accents moins courants, les moteurs existants ne peuvent malheureusement pas exister.

    Texte parlant avec un accent étranger

    English-with-A-Fore-Foot Accent est socialement pas très prestigieux, donc des systèmes complètes n'existent probablement pas.

    Une stratégie serait de combiner un moteur text-phoneme à l'étagère pour un accent natif avec un moteur phonemème à la parole pour la langue étrangère. Par exemple, un orateur russe autochtone qui a appris l'anglais dans les États-Unis, utiliserait de manière plausible des prononciations américaines de mots comme le laboratoire et de planer ses phonèmes sur ses phonèmes russes autochtones, les prononcant comme en russe. (Je crois qu'il y a un site Web qui le fait pour l'anglais et le japonais, mais je n'ai pas le lien.)

    Le problème est que le résultat est trop extrême. Un véritable apprenant anglais tenterait de reconnaître et de générer des phonèmes qui n'existent pas dans sa langue maternelle et modifieraient également sa réalisation de ses phonèmes autochtones pour se rapprocher de la prononciation native. Dans quelle mesure le résultat correspond à un haut-parleur natif varie bien sûr, mais en utilisant les sons extrêmes étrangers purs ridicules (et surtout incompréhensibles).

    afin de générer plausible américain-anglais-with-a-russe-accent (par exemple), vous devrez écrire un moteur texte à phoneme. Vous pouvez utiliser des moteurs d'anglais américains et de text-phonems américains existants comme point de départ. Si vous n'êtes pas disposé à trouver et à enregistrer un tel orateur, vous pouvez probablement toujours obtenir une approximation décente à l'aide de DSP pour combiner les échantillons de ces deux moteurs. Pour Espeak, il utilise une synthèse de formante plutôt que des échantillons enregistrés. Il peut donc être plus facile de combiner des informations à partir de plusieurs langues.

    Une autre chose à considérer est que les orateurs étrangers modifient souvent la séquence de phonèmes sous influence par la phonotacétique de leur langue maternelle, généralement en simplifiant les grappes de consonnes, l'insertion de voyelles épenthétiques ou des séquences de voyelle diphongique ou de rupture.

    Il y a une documentation sur ce sujet.

Autres conseils

Cette question n'est pas vraiment "programmation" en soi: c'est la linguistique. La programmation est relativement facile. Pour l'analyse, cela va être vraiment difficile et, en vérité, vous ferez probablement mieux d'obtenir l'utilisateur de spécifier l'accent; Ou allez-vous pour un lecteur d'histoire automatisé?

Cependant, un accent de base est faisable avec le texte moderne - à la parole. Êtes-vous au courant de l'alphabet phonétique international? http://en.wikipedia.org/wiki/international_phonetic_alphabet Il énumère essentiellement tous les sons qu'une voix humaine peut éventuellement faire. Un accent est alors juste une cartographie (une fonction) de l'alphabet à lui-même. Par exemple, faire un accent américain britannique à une personne américaine (bien que cela ne soit pas suffisant pour que cela sonne britannique à une personne britannique), vous pouvez désagréser tous les sons "R" au milieu d'un mot. Donc, par exemple, le treuil alvéolaire serait remplacé par la fricative uvulaire exprimée. (Beaucoup de cas d'angle pour travailler juste pour cela).

long et court: ce n'est pas facile, ce qui est probablement pourquoi personne ne l'a fait. Je suis sûr que quelques professeurs de linguistique leur disent que c'est impossible. Mais c'est ce que les professeurs de linguistique font. Mais vous devez fondamentalement lire plusieurs manuels épais sur les accents et la prononciation pour faire la tête avec ce problème. Bonne chance!

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top