18 августа 2023 , Обновлено 30 января 2024
Нейросети, хоть и умны, иногда ошибаются в ударениях и произношении слов. Обычно это касается редких слов или фамилий, но иногда и обыденных терминов. Есть несколько решений - от простановки знака + перед ударной буквы до применение международного фонетического словаря.
Если нейросеть не корректно произносит слово, то зачастую достаточно поставить ударение на нужном слоге и проблема решается, даже если была проблема не в ударении. Сейчас разберем все техники.
Используйте знак + перед ударной буквой. Этот метод срабатывает в большинстве случаев. Но иногда нейросеть упорно произносит слово неправильно, даже если другие слова с ударением она обрабатывает корректно.
Например, голос "Владимир" периодически ошибается. Слово "г+оспода" без окружающего контекста он все равно произносит как господА:
Как вы можете заметить, знак "+" указан на первом слоге, и Владимир должен был произнести "гОспода". Однако он этого не делает из-за отсутствия религиозного контекста вокруг. Контекст играет ключевую роль, и в данном случае знак "+" игнорируется.
Простой метод — это указание номера ударного слога. Он подходит только для голосов Владимир, Рита, Даша, Юля, Виктория, Галина, Мария, Александр, Пётр, Михаил. Нужно обернуть слово в тег say-as и указать для атрибута stress номер ударного слога. Например, цифра "1" задаёт ударение на первую гласную "О" в слове:
<say-as stress="1">господа</say-as>
Если этот метод не срабатывает, рекомендуем использовать наиболее точный способ — запись слова по международному фонетическому алфавиту.
Для решение проблемы нужно записать слово по звукам. У нас имеется инструкция по использованию МФА для ударений, включающая алфавит согласных, а также ударных и безударных гласных. Эта инструкция идеально подойдёт экспертам, желающим тщательно настроить произношение каждого звука.
Для большинства других пользователей подойдет автоматический метод создания фонетической транскрипции:
Фонетическая транскрипция выглядит вот так:
<phoneme alphabet="ipa" ph="ɡˈospədə">Г+оспода</phoneme>
Посмотрите на гифку, чтобы увидеть куда кликать и как это работает:
Послушайте пример как получилось:
Теперь Владимир не может прочитать иначе, он следует инструкции и произносит слово по звукам.
Звукограм определил местоположение знака +, учёл его и заменил на такой [ ˈ ] знак ударения, который похож визуально на маленький апостроф (вы не найдете его на клавиатуре, это специализированный символ). Затем был добавлен символ ударной гласной "О", а остальные гласные были представлены безударными символами. С согласными всё просто: их символы остаются неизменными независимо от ударения.
Если диктор некорректно произносит определенные буквы в слове, не торопитесь прибегать к фонетической транскрипции. Есть 3 очень простых метода.
Часто достаточно просто указать ударение в слове, и диктор начнёт произносить все буквы правильно. Этот метод работает быстро и эффективно. Например, Филипп иногда путает Е и Ё на конце слова. Есть явная проблема со словом "Все", он читает его как "всЁ". Для примера поставим через точку одно слово с ударением, другое без:
Все. Вс+е.
Теперь говорит корректно. Если же это не дает результатов, обратитесь к следующему методу.
Вот послушайте как нейросеть произносит фразу "Зависеть от себя САМОГ+О":
Как слышите, ударение не помогло и он читает "самоГо". Мы так не говорим, мы говорим "сАмАВо". Так и запишем:
Теперь читает как надо. Кстати, с таким методом обязательно ставьте + на ударной букве, т.к. для нейросети это тарабарщина и диктор наверняка не угадает нужный слог для ударения.
Очередной простой способ - задвоить гласную или согласную. Например, Дмитрий не может произнести слово "хаосе".
Задваиваем букву "О", чтобы получилось "хаоосе" и теперь читает корректно:
Если и это не подошло, то переходим к самому точному методу - к МФА-транскрипции слова.
Некоторые буквы в словах нейросети не могут выговорить корректно, как бы вы ни ставили ударение или не коверкали написание. Это связано с пока еще не совершенными технологиями. Например, Филипп испытывает трудности с словом "государств"
Читает "д" вместо "т". Чтобы искусственный интеллект научился произносить его правильно, потребуется время на переобучение. Но если нужен быстрый результат, применяется фонетическая транскрипция по словарю МФА.
Капиталисты с помощью своих <phoneme alphabet="ipa" ph="ɡəsʊdˈarstv">госуд+арств</phoneme> сдерживают безработицу.
Кажется, всё хорошо, но есть нюанс. Филипп произносит "государстВ", что звучит неестественно. На практике мы говорим "гасударстФ". Авто транскрипция иногда пропускает такие детали, а нейросеть строго следует записи. Если в конце слова указано "v", она так и произнесёт. Поэтому стоит заменить "v" на "f" в транскрипции:
Капиталисты с помощью своих <phoneme alphabet="ipa" ph="ɡəsʊdˈarstf">госуд+арств</phoneme> сдерживают безработицу.
Теперь всё идеально. Произношение корректное.
Фонемы помогут вам осознанно произносить слова в соответствии с их написанием. Допустим, для пьесы вам требуется, чтобы персонаж говорил не "ма-ла-ко" по-московски, а "мо-ло-ко" с пермским акцентом. Действуем следующим образом: создаём автоматическую транскрипцию и заменяем буквы А (в МФA это ə) на безударную О (в МФА это тот же символ o, только на латинице).
Было:
<phoneme alphabet="ipa" ph="mələkˈo">Молок+о</phoneme>
Стало:
<phoneme alphabet="ipa" ph="molokˈo">Молок+о</phoneme>
Для точного контроля над ударениями используйте автоматическую транскрипцию. Это решит большинство проблем. Учтите, что написание ударных и безударных гласных отличаются. Ознакомьтесь с таблицей ударных и безударных звуков.
Эта технология подходит как для правки слов, которые нейросеть не может произнести корректно, так и для коверкания речи, чтобы заставить нейросеть произносить как вам захочется.
P.S. Данный материал написан "кровью" пользователей, все примеры взяты из нашего чата поддержки. Пользователи находили проблемы, мы их совместно решали. Многие предоставляли свои наработки для достижения корректного произношения. Благодарим всех, кто принимали участие в выявлении проблем и их решении. Если у вас возникнут трудности с озвучкой или применением данной инструкции, обращайтесь в наш чат @zvukogram — мы готовы помочь! 💪💌