Курсовая работа

Преобразование текстовой информации в звуковую информацию

Категория:

Курсовая работа

Дисциплина:

Программирование

Город:

Беларусь, Минск

Учебное заведение:

БНТУ, ФИТР

Стоимость работы:

30 руб.

Оценка: 9
Объем страниц: 31
Год сдачи: 2022
Дата публикации: 08.11.2022

Фрагменты для ознакомления

ОГЛАВЛЕНИЕ

ВВЕДЕНИЕ. 3

ОПИСАНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ.. 4

1.1 Технология преобразования текстовой информации в звуковую информацию   4

ПРИНЦИП РАБОТЫ... 7

2.1 Описание модели VoiceLoop. 7

2.2 Архитектура сети. 8

2.3 Обучение. 10

2.4 Эксперименты и результаты. 11

2.5 Размер данных обучения. 12

2.6 Эксперименты на реальных данных. 13

ОПИСАНИЕ ПРОГРАММЫ... 15

3.1 Синтез речи при помощи Microsoft Speech Platform.. 15

3.2 Синтез речи при помощи встроенного в Windows синтезатора речиSystem.Speech. 18

Сравнение System.Speech с Microsoft Speech. 20

4.1 Основные различия между System.Speech и Microsoft Spech. 20

СПИСОК ИСОЛЬЗОВАННЫХ ИСТОЧНИКОВ.. 21

ПРИЛОЖЕНИЕ А.. 23

ПРИЛОЖЕНИЕ Б.. 25

ПРИЛОЖЕНИЕ В.. 26

 

ВВЕДЕНИЕ

C++— компилируемый, статически типизированный язык программирования общего назначения.

Поддерживает такие парадигмы программирования, как процедурное программирование, объектно-ориентированное программирование, обобщённое программирование. Язык имеет богатую стандартную библиотеку, которая включает в себя распространённые контейнеры и алгоритмы, ввод-вывод, регулярные выражения, поддержку многопоточности и другие возможности. C++ сочетает свойства как высокоуровневых, так и низкоуровневых языков. В сравнении с его предшественником — языком C — наибольшее внимание уделено поддержке объектно-ориентированного и обобщённого программирования.

Своими корнями он уходит в язык Си, который был разработан в 1969— 1973 годах в компании Bell Labs программистом Деннисом Ритчи (Dennis Ritchie). В начале 1980-х годов датский программист Бьерн Страуструп (Bjarne Stroustrup), который в то время работал в компании Bell Labs, разработал С++ как расширение к языку Си. Фактически вначале C++ просто дополнял язык Си некоторыми возможностями объектно-ориентированного программирования. И поэтому сам Страуструп вначале называл его как "C with classes" ("Си с классами").

 С++ является мощным языком, унаследовав от Си богатые возможности по работе с памятью. Поэтому нередко С++ находит своё применение в системном программировании, в частности, при создании операционных систем, драйверов, различных утилит, антивирусов и т.д. К слову сказать, ОС Windows большей частью написана на С++. Но только системным программированием применение данного языка не ограничивается.

 С++ можно использовать в программах любого уровня, где важны скорость работы и производительность. Нередко он применяется для создания графических приложений, различных прикладных программ. Также особенно часто его используют для создания игр с богатой насыщенной визуализацией. Кроме того, в последнее время набирает ход мобильное направление, где С++ тоже нашёл своё применение. И даже в веб-разработке также можно 4 использовать С++ для создания веб-приложений или каких-то вспомогательных сервисов, которые обслуживают веб-приложения. В общем С++ - язык широкого пользования, на котором можно создавать практически любые виды программ.

 

ГЛАВА 1

ОПИСАНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ

1.1 Технология преобразования текстовой информации в звуковую информацию

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

Человеческий язык при кажущейся простоте и доступности плохо изучен. Еще не создано достаточно хорошей модели его построения, хотя работы в этой области напряженно ведутся. А без построения алгоритма синтеза речи невозможно создание речевых программ. Поэтому “читающие” программы до сих пор не реализованы в полной мере. Для нормального синтеза недостаточно простого чтения слов в предложении, необходим глубокий анализ смысла читаемого текста и, как следствие, правильная расстановка ударений, нужные интонации и темп генерируемой речи. И это лишь видимая часть айсберга.

За долгую историю создания “говорящих” программ было пройдено несколько этапов решения этой задачи.

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

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

И наконец, самая перспективная технология - TTS (Text to Speech), получившая в последнее время широкое распространение.

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

- возможность озвучивания любых слов данного языка, как только появившихся в обиходе, так и никогда не существовавших;

- низкие требования к оперативной памяти компьютера, в которой находятся только озвученные фонемы, а не целые словари, как это реализовано в других технологиях синтеза речи;

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

- простота выделения ударений и интонаций в синтезированных словах;

- возможность изменить темп чтения, не нарушая тембра голоса

Конечно, это не означает, что технология TTS является окончательным этапом. Например, в автоматизированных системах синтеза речи с использованием ограниченного набора слов более дешевым и качественным (на сегодняшний день!) будет решение, основанное на небольшом озвученном словаре. Но это лишь тенденция ближайшего времени, а позже непременно получат распространение программы, построенные по технологии TTS с внедренными средствами искусственного интеллекта для “понимания” смысла произносимой речи.

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

Голосовой интерфейс между человеком и компьютером можно представить в виде замкнутого круга. Процесс начинается с регистрации микрофоном аналоговой звуковой волны, возникающей при звучании человеческой речи. Далее звуковая плата конвертирует ее в цифровой сигнал, который программа распознавания речи преобразует сначала в набор фонем, а затем в слова. Программное приложение анализирует этот текст и вырабатывает на него ответ в виде нового набора слов для синтеза. Теперь программа TTS переводит эти слова в фонемы, а затем, например, методом склеивания звуков и используя другие особенности технологии - в цифровой сигнал. И наконец на последнем этапе круг замыкается: звуковая плата через акустические колонки воспроизводит компьютерную речь, предназначенную для человека.

По технологии TTS построено уже довольно много приложений. Речевые технологии используются в широком спектре задач: чтение электронной почты, веб-страничек, баз данных, в интеллектуальных бортовых системах или, в идеальном случае, при обучении произношению слов иностранного языка. Но большинство этих приложений строится на основе готовых речевых “движков” таких фирм, как Microsoft, Lucent, Lernout & Hauspie, Unisys, Elan и др. 

Технология Microsoft Text-to-Speech предназначена для синтеза речи из компьютерных текстовых файлов, возможно, содержащих информацию, полученную механизмами распознавания человеческой речи. Выходной сигнал может быть сгенерирован для двух различных случаев - чтения по телефону (частота дискретизации 8 кГц) или воспроизведения через звуковую плату ПК с частотой дискретизации около 22 кГц. Предусмотрена также возможность сохранения сгенерированной речи в разнообразных звуковых форматах.

Корпорация создала программный интерфейс для работы со звуком - SAPI 4.0 (Speech Application Programming Interface) и дополняет его набором инструментов и утилит для быстрого построения речевых приложений. В него входят функции распознавания речи ASR (Automated Speech Recognition) и технология TTS. В настоящее время идет разработка нового интерфейса SAPI 5.0, являющегося, по заявлениям компании, полностью обновленной версией.

 

ГЛАВА 2

ПРИНЦИП РАБОТЫ

2.1 Описание модели VoiceLoop.

Методы преобразования текста в речь можно разделить на четыре типа: системы на базе правил (rule-based), конкатенативные, статистико-параметрические (основанные на скрытой марковской модели) и нейронные.  Для статистико-параметрических методов необходим тщательный отбор и фильтрация исходных образцов речи. Конкатенативные системы менее строгие, но всё же требуют несколько десятков минут качественных аудиозаписей. Появляющиеся нейронные методы в перспективе обещают подражать реальным голосам, обучаясь на данных, взятых из открытого доступа.

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

Применяемый метод называется VoiceLoop. Он основан на модели рабочей памяти, также известной как фонологическая петля. В этом алгоритме с помощью буфера памяти создаётся фонологическое хранилище, представляющее матрицу. В каждый момент времени все её столбцы сдвигаются вправо, и в буфер помещается новое представление. Это позволяет механизму, создающему представления, использовать уже существующие в буфере данные для формирования долгосрочных зависимостей

Входные предложения представляются в виде списка фонем. Любая из 42 фонем, используемых в словаре, кодируется как короткий вектор, а входное предложение — как список векторов соответствующих фонем (контекст на этом этапе не учитывается). В каждый момент времени кодировки фонем взвешиваются и затем суммируются с помощью вектора весов внимания. Из них формируется текущий вектор контекста, а в качестве механизма внимания используется модель Грейвза.

29