- •I.Введение
- •II.Теоретическая часть
- •1. Интерфейс ос
- •2. Базовые функции
- •3. Управление данными
- •4. Процесс выполнения
- •III.Практическая часть
- •0. Общее описание
- •2. Поиск периода
- •3. Оптимизация алгоритма
- •4. Желаемая частота основного тона
- •1. Определение периода частоты основного тона
- •5. Изменение периода частоты основного тона с помощью Hanning windows.
- •6. Сглаживание с помощью Overlap and Add
- •VI. Заключение
- •VII. Библиография
5. Изменение периода частоты основного тона с помощью Hanning windows.
Теперь, когда у нас есть изначальная и целевая частоты, можно попытаться изменить частоты, используя алгоритм Pitch-Synchronous Overlap/Add. Как и автокорреляция, алгоритм начинает работу с разделенным на окна, сегменты сигналом. Так как мы уже определили период частоты основного тона для какого-то числа сегментов, вычисления в PSOLA будут использовать ту же длину сегмента. Это может вызвать некоторые проблемы. Например, PSOLA лучше всего корректирует период частоты основного тона при разбиении на большее количество меньших по длине сегментов, что позволяет провести более гладкую коррекцию всего сигнала. Но могут возникнуть проблемы, если сегмент окажется слишком маленьким для того, чтобы определить полный период. Поэтому нужно найти некую длину сегмента (можно сказать, «золотую середину»), при которой определение периода частоты основного тона и ее изменение будут оптимальными.
В PSOLA входной сигнал уже разделен на «окна» в несколько перекрывающихся сегментов. Для каждого сегмента PSOLA создает Hanning windows централизованные относительно отметок периода частоты основного тона или всплесков амплитуды. После того как мы однажды разделили сегменты на перекрывающиеся окна, они могут быть сдвинуты ближе друг к другу, для получения более короткого сигнала с более высоким периодом частоты основного тона, или раздвинуты дальше для более долгого сигнала с более низким периодом частоты основного тона. Прыжки между началами каждого окна укорачиваются или удлиняются, а сегменты дублируются или опускаются, если необходимо.
6. Сглаживание с помощью Overlap and Add
Как только регулируются период частоты основного тона и длительность сигнала, сегменты рекомбинируются с помощью перекрывания и добавления (overlapping and adding). Его использование необходимо во избежание щелчков или пауз, из-за изменившихся стыков у смещенных границ «окон»
Этот метод пользуется тем, что длинная дискретная свертка может быть упрощена до суммы нескольких коротких сверток, что весьма удобно, когда у нас есть много маленьких сегментов. Overlap-Add производит сигнал, который длится столько же, сколько и сигнал на входе и имеет примерно такой же спектр, но содержит полосы частот близких к желаемым и, при воспроизведении, показывающих результат коррекции.
VI. Заключение
Речь, синтезируемая TD-PSOLA алгоритмом, довольно понятна, но всё же, человек чувствует синтетичность звука. Кроме того, слишком сильное растягивание синтезируемого речевого сигнала вызывает эффект эха. Однако сокращение сигнала не вызывает неблагоприятное слуховое восприятие. Тем не менее, опускание слишком большого количества периодов в дифоне, вызывает существенную потерю информационного содержания.Pico TTS написана с использованием языка ANSI-C, что позволяет достигнуть высокой производительности даже на слабых платформах. Несмотря на то, что речь, созданная связью дифонов, превосходит связь фонем, этот подход не позволяет синтезировать высококачественную человеческую речь. Это вызвано тем фактом, что ни один, из огромного количества дифоннов в базе данных не в состоянии покрыть большое разнообразие человеческой речи.
