Не придумал, как лучше назвать тему.
Делаем игру, в которой используются различные речевые "конструкции".
Например, нам нужно записать пять сотен слов "яблоко, апельсин, собака, .....", и заготовки фраз к ним.
Покажи, где ***?
Где ***? покажи!
Это ***.
Однако, в разных фразах эти слова должны звучать по-разному. Например:
Покажи, где яблоко?
Где яблоко? покажи!
Это яблоко.
В этих трёх фразах слово "яблоко" звучит по-разному. Потомому, чтобы работало всё адекватно, диктору придётся каждое слово записать в трёх вариациях звучания. То есть, озвучить не пятьсот, а полторы тысячи слов.
на самом деле заготовок фраз гораздо больше, но по текущей оценке, во всех них используются эти три варианта.
Вопрос в следующем. Есть подозрения, что эта задача достаточно типовая. Быть может, есть какая-то теория, хотя бы названия этих "интонаций", и т.п., какие-то особенности по озвучиванию для дикторов?
Буду безмерно благодарен хотя бы за совет, "КУДА КОПАТЬ"!!
>Буду безмерно благодарен хотя бы за совет, "КУДА КОПАТЬ"!!
Это очевидно! Запишите по 3 уникальные фразы на каждый предмет :) Зачем выдумывать велосипед и шаманить в коде? Оно и звучать будет естественнее. Вот вы переживаете за слово "яблоко". А то, что слова "где" и "это" и "покажи" будут всегда звучать одинаково - не беспокоит?
Если вопрос об экономии места в приложении: то тогда не лучший вариант экономить на аудио-ассетах. Да и тут вы пару сотен кб сэкономите, в лучшем случае. Что в наше время - ерунда.
Если проблема в деньгах - то тут тоже не супер-дорого получится. Всегда можно договориться, особенно с русскоговорящими дикторами.
Дикторов на закадр, кстати, уже постепенно заменяют роботами)
IK-Sound
Если вопрос об экономии места в приложении: то тогда не лучший вариант экономить на аудио-ассетах. Да и тут вы пару сотен кб сэкономите, в лучшем случае. Что в наше время - ерунда.
расчёты следует немного поправить. Давайте подсчитаем.
У меня лежит файл озвучки от диктора, около 60 слов - 6.8 Мб
В среднем, одно простенькое упражнение - это сотня слов. 10 Мб. Добавим три разные интонации - 30Мб на упражнение. Многовато, но терпимо.
Теперь каждое из ста слов будет обёрнуто всем шаблоном, т.е. вместо "яблоко, груша", будет в файле будет записано "Покажи, где яблоко? Покажи, где груша?" - размер увеличивается в 2-3 раза, для трёх шаблонных фраз это будет уже 60-100Мб на одно упражнение. А их сотни. На 100 упражнений это 10 гигов.
При реализации упражнений в "онлайн-версии" логика асинхронной подгрузки ассетов в процессе работы позволяет сгладить "тормоза", но всё же они будут: на каждую сцену придётся грузить десятки мегабайт.
Но есть ещё важный момент: в варианте "фразы отдельно" - "слова отдельно" эти три интонации позволят использовать больше десятка шаблонов фраз и в других упражнениях с другими заданиями. Именно поэтому возник вопрос о "теоретических" основах подобной "склейки".
Сейчас пришло в голову, что это нужно "копать" не в теории озвучивании диктором, а в теории разработки SpeechKit.
Ergo Proxy
Дикторов на закадр, кстати, уже постепенно заменяют роботами)
Сегодня как раз мучал дома "Алису" на эту тему. Она ведь вполне сносно зачитывает целые предложения! Нужно помучать SpeechKit от Яндекса. Может, дикторы будут нужны на исключительные случаи?
Правда, от тормозов загрузки это явно не избавит - они по сети mp3 гоняют
IT_man
> Быть может, есть какая-то теория, хотя бы названия этих "интонаций", и т.п.,
> какие-то особенности по озвучиванию для дикторов?
Это называется "интонационные конструкции". https://is.muni.cz/do/ped/kat/KRus/fonetika/ch16.html
IT_man
> около 60 слов - 6.8 Мб
Может пора использовать сжатие?
Используй форматы ogg, flac — жмут без потерь.
Появилось ли что приличное для синтезирования речи внутри программы? Все что я вижу в открытых источниках требует сильного допиливания
Раздел скорее мертв, чем жив
Надо сказать, вполне приличные синтезаторы речи были аж а году 85-87м, примерно. Потом они куда-то подевались, вместо них выползли многократно худшие поделки типа "говорящей мыши". Сейчас всякие роботы говорят вполне прилично, но где взять исходники, чтобы утянуть такое к себе - хз. Да и ресурсов они пожрут прилично. Синтезаторы тридцатилетней давности работали под досом, им хватало оперативки 640килобайт, без всякой подгрузки. Ударения они только тогда не расставляли самостоятельно, словарей в их составе не было, не лезли словари в память. Но если текст разметить, наговаривали очень хорошо.
Ren, если тебе нужен автономный text-to-speech, то вряд ли будет что-то одновременно автономное и небольшое. Без нейросети не обойдется. То есть ради только превращения текста в речь тебе придется отожрать много процессора и памяти.
Проще записать готовые фразы (если возможно), благо речь можно пожать гораздо сильнее, чем произвольное аудио.
Zab
> Ударения они только тогда не расставляли самостоятельно, словарей в их составе
> не было, не лезли словари в память
Так словарями не обойдешься, ведь из-за множества словоформ в русском языке много омонимии.
Dmitry_Milk
> Проще записать готовые фразы (если возможно), благо речь можно пожать гораздо
> сильнее, чем произвольное аудио.
С готовыми фразами я уже игрался. В ролике в моей теме они сохранились (в проекте уже нет).
Хотелось бы трех мерный массив
[обьект][субьект][персонаж]
А с ударением и вообще фонетика решается подбором пауз и все такое.
Синтезаторы речи тридцатилетней давности воспроизводили по слогам. В большинстве языков порядка пяти тысяч слогов всего.
Тема в архиве.