Вопрос

Первая часть этого вопроса теперь является его собственной, здесь: Анализ текста на предмет акцентов

Вопрос: Как можно было бы добавить акценты к сгенерированной речи?

То, что я придумал:

Я не имею в виду просто знаки ударения, или интонацию, или что-то особенное в этом роде.Я имею в виду что-то вроде полного британского акцента, или шотландского акцента, или русского, и так далее.

Я бы подумал, что это можно было бы сделать и за пределами языка. Бывший:что-то на русском может быть создано с британским акцентом, или что-то на китайском может иметь русский акцент.

Я думаю, что основной процесс был бы таким:

  1. Проанализируйте текст
    • Сравните с базой данных (или чем-то в этом роде), чтобы определить, какой акцент нужен, насколько сильным он должен быть и т.д.
  2. Сгенерируйте речь на указанном языке
    • Легко с обычными процессорами преобразования текста в речь.
  3. Определите указанное ударение на основе проанализированного текста.
    • Это та часть, о которой идет речь.
    • Я думаю, что массив амплитуд и фильтров лучше всего подойдет для следующего шага.
  4. Смешайте речь и акцент.
    • Это было бы самой легкой частью.
    • Вероятно, это можно было бы сделать, умножив речь на акцент, как это делают многие другие методы DSP.

На самом деле это скорее общий вопрос DSP, но я бы хотел предложить программный алгоритм для этого вместо общей идеи.

Это было полезно?

Решение

Что такое акцент?

Акцент не является звуковым фильтром; Это шаблон акустической реализации текста на языке. Вы не можете принять запись American English, запустите его через «Массив амплитуд и фильтров», а британский английский выскакивается. Для чего DSP полезен для реализации Просодия , не акцентом.

в основном (и простейше к модели), акцент состоит из правил фонетической реализации последовательности фонем. Восприятие акцента далее под влиянием Просодия и, по которым Динамик выбирает при чтении текста.

Создание речи

Процесс генерации речи имеет два основных этапа:

  1. text-phoneMes: конвертируйте письменный текст на последовательность фонем (плюс супразмумент, такие как стресс, а также просодическая информация, такая как границы высказывания). Это несколько акцент-зависимый (например, выпуск для «лаборатории» отличается между американскими и британскими докладчиками).

  2. Phoneme-to-oection: Учитывая последовательность фонем, генерируйте аудио в соответствии с правилами диалекта для фонетических реализаций фонем. (Обычно вы тогда объединяете дифоны, а затем отрегулируйте акустически просодию). Это очень акцентно-зависимый, и это этот шаг, который передает основное качество акцента. Особая фонема, даже если между двумя акцентами, возможно, может иметь поразительно различные акустические реализации.

  3. Обычно они соединены. Пока вы могли иметь британский акцентированный речевой генератор, который использует американские произношения, что будет звучать нечетным.

    Генерация речи с данным акцентом

    Написание программы текстовой речевой речи - это огромное количество работы (в частности, для реализации одной общей схемы, вы должны записать носитель носителя носителя каждого возможного дифона на языке), поэтому вам было бы лучше используя существующий.

    Короче говоря, если вы хотите британский акцент, используйте британский English Text-To-PhoneMe Engine вместе с британским English Phoneme-To-речевой двигатель.

    Для общих акцентов, таких как американский и британский английский, стандартный мандарин, столичный французский, и т. Д., Будет несколько вариантов, в том числе с открытым исходным кодом, которые вы сможете изменять (как показано ниже). Например, посмотрите на Фреаты и espeak . Для менее распространенных акцентов существующие двигатели к сожалению могут не существовать.

    Говорящий текст с иностранным акцентом

    Английский-с-а-иностранный акцент социально не очень престижный, поэтому полные системы, вероятно, не существуют.

    Одной стратегии будет сочетать автомагистраль из шельфового текста к фонеме для нативного акцента с PhoneMe-речевой двигателем для иностранного языка. Например, родной российский докладчик, который выучил английский в США в США, правдоподобно использовал американские произношения слов, таких как Laboratory , и сопоставьте свои фонемы на своих коренных российских фонем, произнесенные их как на русском языке. (Я считаю, что есть веб-сайт, который делает это для английского и японского, но у меня нет ссылки.)

    Проблема в том, что результат слишком экстремальный. Настоящий ученик английского языка попытается признать и генерировать Phonemes, которые не существуют на своем родном языке, и также изменит его реализацию своих родных фонем, чтобы приблизить родное произношение. Насколько внимательно результатом соответствует носителям носителя, конечно, варьируется, но с использованием чистых иностранных экстремальных звуков смешных (и в основном непостижимых).

    Так, чтобы генерировать правдоподобный американский англо-англо-а-российский акцент (например), вам придется написать механизм текстового фонема. Вы можете использовать существующие американские English и Russian Text-To-PhoneMe Engines в качестве отправной точки. Если вы не хотите найти и записывать такой докладчик, вы, вероятно, все равно получите достойное приближение, используя DSP для объединения образцов из этих двух двигателей. Для Espeak он использует синтез форманта, а не записанные образцы, поэтому может быть легче объединить информацию с нескольких языков.

    Другое, что следует учитывать, это то, что иностранные докладчики часто изменяют последовательность фонем, под влиянием фонотактики их родного языка, как правило, упрощающие согласные кластеры, вставляющие эпентические гласные или диффажирование или разрывных главных последовательностей.

    Есть некоторая литература на этой теме.

Другие советы

Этот вопрос на самом деле не является "программированием" как таковым:Это лингвистика.Программирование сравнительно простое.Для анализа это будет действительно сложно, и, по правде говоря, вам, вероятно, лучше попросить пользователя указать акцент;Или вы предпочитаете автоматический читатель историй?

Однако базовый акцент вполне выполним с помощью современного преобразования текста в речь.Знаете ли вы о международном фонетическом алфавите? http://en.wikipedia.org/wiki/International_Phonetic_Alphabet В нем в основном перечислены все звуки, которые может издавать человеческий голос.Таким образом, акцент - это просто сопоставление (функция) алфавита самому себе.Например, чтобы американский акцент звучал по-британски для американца (хотя этого недостаточно, чтобы он звучал по-британски для британца), вы можете убрать все звуки "r" в середине слова.Так, например, альвеолярная трель была бы заменена звонким язычковым фрикативом.(Множество угловых кейсов, которые нужно проработать именно для этого).

Длинный и короткий:Это нелегко, и, вероятно, именно поэтому никто этого не сделал.Я уверен, что пара профессоров лингвистики сказали бы, что это невозможно.Но это то, чем занимаются профессора лингвистики.Но в принципе вам нужно будет прочитать несколько толстых учебников по ударениям и произношению, чтобы хоть как-то продвинуться в решении этой проблемы.Удачи вам!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top