О синтезаторе речи в "iPod Shuffle"
Дата публикации: 19/03/2009После опубликования заметки про новый "iPod Shuffle", выпущенный Apple, я задумался о том, как именно в нем реализован синтезатор речи. Как вы, вероятно, помните - это основное нововведение в новом плейере, и благодаря ему теперь можно прослушать название текущей песни или выбрать нужный плейлист для проигрывания.
Из той информации, которая у меня есть в голове, я знаю, что качественный синтез речи - задача очень непростая и ресуркоемкая. Современные прогрессивные способы синтеза основываются на фонетических словарях, хранящих звуки и их сочетания, а также на сложной математике формирования естественной речи. Более того, я знаю, что существуют качественные программы по синтезу речи, но база данных их фонетических словарей достигает нескольких гигабайт на один голос. Большая часть таких приложений является специализированной и на уровне операционных систем используют гораздо более простые алгоритмы и звуковые базы данных.
Речь, которую могут синтезировать и "Mac OS X", и Windows, трудно назвать естественной и на данный момент она скорее является вспомогательным средством для некоторых людей. Ситуация улучшается с выходом новых версий, ввиду доработок алгоритмов и фонетического словаря, но в общем ситуация далека от идеальной. Будем надеяться, что постепенно технологию синтеза доведут до хорошего уровня и использование синтезатора речи в "iPod Shuffle" - это один из шагов в данном направлении.
Так как же можно реализовать полноценный синтезатор речи в небольшом устройстве, которое не обладает достаточными вычислительными мощностями и объемной памятью? С последним, правда, гораздо проще, и в новом "iPod Shuffle" она заявлена на уровне 4Gb.
Ответ на вышепоставленный вопрос достаточно простой - необходимо заранее сгенерировать нужные звуковые фразы! Ведь это вполне можно сделать на обычном компьютере или ноутбуке, которые обладают необходимой мощностью. Именно так и поступили инженеры в Apple. Закачивание музыки в новый "iPod Shuffle" теперь происходит следующим образом. Вначале, как обычно, копируется собственно звуковой файл, а затем из имени композитора, названия дорожки и альбома синтезируется другой звуковой файл, который и привязывается к песне. Тоже самое происходит и с названиями плейлистов. Интересно при этом то, что алгоритм, встроенный в "iTunes", позволяет определять язык песни по ее названию и подбирать соответствующий голос для озвучивания. Думаю, что в ряде случаев это будет приводить к забавным ошибкам и мы о них еще услышим - в буквальном смысле.
Таким образом, весь ресурсоемкий синтез речи достается основному компьютеру и плееру уже не требуется мощный процессор и большая база фонетических словарей. Для введения новой функциональности в плеер достаточно просто несколько скорректировать его внутренний программный код.
Интересно также, что на платформе Windows используется свой встроенный речевой синтезатор, а не технология "VoiceOver" от Apple. Это означает, что пользователи PC услышат совсем не тот голос, который будет доступен пользователям Макинтошей, даже если будут слушать те же самые песни.
И знаете, что еще меня заставляет задуматься во всей этой истории? Плееры от Apple - практически единственные устройства, которые жестко привязаны к соответствующей программе на компьютере. Без использования "iTunes" невозможно официально закачать песни на плеер или составить плейлист. Вся дополнительная функциональность по синтезу речи реализована средствами "iTunes" и проходит незаметно для владельца "iPod Shuffle". А вот в других MP3-плеерах, не завязанных на конкретную программу, реализовать подобную функциональность будет нетривиальной задачей, если вообще возможно. Вот и получается, что Apple с новым "iPod Shuffle" оказывается на рынке единственной компанией с подобным уникальным предложением по "синтезу речи" в плеерах.