Звуковое сопровождение разговорника
Главная сложность озвучки нашего разговорника в том, что звук должен меняться вместе с изменением отображаемого текста. Рассмотрим предложение из четырёх слов, в котором изменяются первое и последнее: "[ Мне ] нужно увидеть [ врача ]".
Предположим, длительность произношения каждого слова - 1 сек., тогда всё предложение (не важно в какой вариации) - 4 сек. Допустим, мы не разбиваем аудиофайл предложения на слова, а записываем и проигрываем всё целиком. В первом блоке у нас четыре вариации: "мне, тебе, ему,
А теперь представим, что мы записываем не всё предложение целиком, а именно каждый блок по отдельности. Первый блок - 4 вариации - 4 сек. Второй блок - статичный текст "нужно увидеть" - 2 сек. Третий блок - 3 вариации - 3 сек. Итого: 4 + 2 + 3 = 9 сек.
9 сек. с разбивкой против 48 сек. без разбивки. И это лишь одно, вероятно, не самое сложное предложение. И таких у нас будут многие десятки. Каждое из них записывать в полных вариациях - огромный объем рутинной работы, которая будет лишь увеличиваться, и которую можно избежать.
Работает это достаточно просто. По нажатию кнопки система собирает тексты всех отображаемых блоков во фразе, и проигрывает друг за другом файлы с соответствующими именами. Так, если фраза находится в состоянии "[ Мне ] нужно увидеть [ врача ]", то система ищет файлы "Мне.mp3", "нужно увидеть.mp3", "врача.mp3", и проигрывает их, пропуская отсутствующие файлы. При изменении какого-либо блока изменяется и название запрашиваемого файла. Эти файлы хранятся в папках
{lect}/audio/phrasebook/{phrase.id}, а prhase.id можно скопировать в редакторе разговорника. Таким образом, озвучка буквально собирается на ходу под текущий вариант фразы.На этом я успешно завершаю основополагающую техническую работу на ближайшее время. Теперь, наконец, плотно приступаем к составлению разговорника. Об этом расскажем на следующей неделе.