Чувствительность человеческого слуха и зрения черезвычайно высока. Глаз способен видеть 1 квант света. Хотя некоторые исследователи считают, что глаз может видеть только 2 кванта. Человеческое ухо слышит звук упавшей на бетон булавки с расстояния 10 м. Звуковая энергия, которая при этом доходит по воздуху до звуковых рецепторов примерно равна энергии перехода электрона атома водорода с его основной орбиты на соседнюю орбиту.
Чувствительность слуха и способность нервной деятельности слуха по анализу звуковых сочетаний нельзя недооценивать. Слух человека работает с весьма спецефической информацией, такой, которую достаточно сложно сопоставить с поведением объектов в окружающей среде. Эта аналитическая задача гораздо сложнее, чем задача распознавания зрительных образов. Объекты слуха, как органа чувств, обладают весьма неочевидным для зрения и для логических рассуждений поведением.
Задача по созданию звуковых объектов неоднократно и разными способами решалась в музыкальном производстве. При создании музыкальных инструментов были созданы основные элементарные составляющие звукового синтеза, корни идей которых уходят в анализ и преобразование аналоговых (электрических) сигналов. То есть, эти элементы имеют физическое основание, математическое представление которого опирается на понятие функции, то есть на аналоговые парадигмы.
Так, принято считать, что звук удобно представлять в виде функции зависимости уровня колебания звукопроводящей среды (воздуха) от времени. Та же функция, полученная в результате регистрации колебаний звукового датчика, называется звукозаписью.
Звукозапись (с достаточным количеством датчиков для регистрации звукового поля, конечно) содержит полную информацию о звуковом поле и позволяет восстановить это поле с точностью, соответствующей точности анализатора звукового поля. Эта функция записанного звукового поля может быть воссоздана искусствтвенно.
Итак, традиционная система средств для синтеза звука, присеняемая в музыкальном производстве состоит из следующих элементов:
Все эти три компонента называются управляемыми, потому что имеют два входа: один для исходной обрабатываемой функции, второй - от сигнала управления. Сигнал управления - это тоже функция времени, синхронизированная с функцией исходного сигнала. Момент синхронизации обоих сигналов важен черезвычайно - это основное условие работы модуляторов.
Итак, генератор или сэмплер - модуль, который создает базовую звуковую запись сложной формы. Эти формы, безусловно, требуют отдельного исследования, так как бывают так называемыми базовами ("синус", "треугольник", "пила" и т. п. то есть задаваемые элементарным уравнением) и образцовыми, когда вообще не задаются законом, по которым построен исходный сигнал. В практике, это кусочки записанных в особых условиях сигналов. Управляемая характеристика генератора и семплера - частота нижней гармоники записанного (для сэмплера) или строящегося по закону (для управляемого генератора) сигнала. Управляемый генератор - основной элемент создания характеристик звука, как такового.
Управляемый фильтр - это обычный перестраиваемый частотный фильтр. Это основной инструмент создания артикуляции звука. Для понимания работы фильтра, необходимо представление о спектре сигнала. Спектр сигнала - это представление любой функции времени в виде частотного уравнения. Для спектров математически доказано, что любому временному сигналу соответсвует определенное спектральное представление, и наоборот, каждому спектральному представлению соответствует только определенный звуковой сигнал. Управляемый фильтр осуществляет преобразование именно спектра исходного сигнала. Сам спектр сигнала традиционно создается с помощью преобразования Фурье. Восстановление сигнала по спектру производится обратным преобразованием Фурье.
И, наконец, управляемый усилитель, который является по сути обычным регулятором громкости, и который задает амплитуду исходного сигнала по некоей заданной функции. Может оказаться непонятным, зачем нужен управлямый усилитель, если управляемый фильтр сам способен создать любой сигнал. Управляемый усилитель является "традиционным" модулем ввиду того, что реальное преобразование Фурье, к сожалению, очень плохо задает поведение очень длинных сигналов. Для длинных сигналов математическая реализация Фурье, не содержащая ощутимых ощибок на концах фукции, черезвычайно сложна. Управляемый усилитель способен довести до конца работу по формированию спектра именно реального преобразования Фурье. Я назвал этот модуль "традиционным", ввиду того, что смысл его применения в музыкальном производстве образовался по той причине, что реальные объекты, которые издают звуки, имеют определенные ограничения на харакер издаваемых ими звуков. Например, в природе звуки никогда не начинаются резко и никогда резко не обрываются (удары молний не в счет). Физические тела, издающие звуки (как и разговорные органы людей) имеют определенную инерцию и требуют времени на разгон (раскачку) и остановку (прекращение) звука. Вторым ограничением является характер передающей звук среды, которая всегда вносит свои амплитудные искажения при передаче звука (поглощает что-нибудь, например). Именно эти моменты и призван воссоздать в звуковом сигнале управляемый усилитель. Для справки: модели физических тел почти всегда нелинейны. Обычно в уравнение звучащего тела входит связность (группа) осциллятров с индивидуальными инерционными характеристиками, что задается уравнением выского порядка, создающим целую комбинацию амплитудных модуляций. Функция применения уравнения модуляций к исходному сигналу на длинном участке также создается управляемым усилителем. Для нашей задачи это единственное его реальное применение, но в двух ипостасях.
Модулем тональной генерации в нашем случае мы будем считать модуль, выполняющий функции, присущие управляемому генератору. Напомним, что этот мудуль отвечает за то, каким будет "голос" синтезируемого звука. В общем виде голос - это реалиазция уравнения группы колеблющихся тел разной формы и плотности, твердых и объемных, плоских, мембран, воздушных пузырей и китайских колокольчиков. Для точного синтеза человеческой речи такое уравнение будет очень сложным, так как органы речи человека представляют собой группу (связность) неплотных мембран переменной толщины, колеблющихся под воздействием непостоянного воздушного потока, со всеми его турбулентностями, да еще в полужидком окружении. Как мне кажется, попытки создания такого уравнения практически ничем не закончились, поэтому для синтеза голоса на практике используют не генераторы, а сэмплеры. Проблема сэмплера - это звуковой банк голосов. Так как каждый элемент этого банка представляет собой фрагмент конкретной звукозаписи, для произвольной генерации размер этого банка должен быть очень большим. В идеальном случае он представляет набор всех слов, сказанных всеми людьми на планете во всех звуковых комбинациях. Поскольку это нереально, обычно размер этого банка ограничивается условиями задачи, для которой ищется решение. Например, воспроизведение голоса отдельного человека, или воспроизведение ограниченного набора ситуаций, или воспроизведение с допустимыми искажениями. В любом случае, применение семплера делает задачу звукосинтеза очень негибкой.
Наверное, все-таки, нужно потратить какое-то время на компьютерный анализ характеристик звуковых образцов, чтобы определить реальные составляющие уравнения синтеза сигнала, чтобы использовать их для генерации псевдослучайной функции по сложному модулирующему закону. То есть, говоря по-простому, подогнать модулирующее уравнение генератора под набор характеристик модуляции, найденный статистическим анализом сигнала сэмплов. Так можно получить не произвольный набор сигналов, а такой набор, который удовлетворяет усредненным характеристикам некоей заданной выборки.
Для создания голоса говорящего, теоретически можно использовать характеристики сэмплов самого говорящего, но методы анализа и синтеза от этого не изменятся и модуль тональной генерации придется "учить", чтобы образовать такую базу модулирующих характеристик и все равно потом анализировать. В чистом виде использование только нескольких фрагментов голоса говорящего кажется бессмысленным.
Модуль артикуляции - это основной модуль, создающий фонемы. Фонемы состоят, в основном, из двух групп компонентов: тональных и атональных (то есть, шумов, свистов, щелчков и т. п.). И те, и другие звуки составляют несколько генерационных линий. Например, линия тона, линия шума, линия треска, линия шипения и т д.. Каждая из этих линий имеет свою артикуляцию на протяжении фонемы. И каждая линия создается своим модулем генерации. Поэтому модуль артикуляции - это набор связанных управляемых фильтров. У каждого фильтра группы своя зависимость спектральной характеристики от времени и свой генератор. Группа гаких зависимостей образует фонемный спектр. Проще говоря, модуль артикуляции - это нечто вроде многоканального вокодера. Как и в предыдущем случае, у нас напрочь нет никакой базы таких функций, поэтому для ее получения также необходимо статистическое исследование, устанавливающие типовые характеристики для выбранных фонемных линий.
Громкость звука наблюдается в основном в двух сечениях, определяемых интервалами оценки громкости: фонемная громкость и фразовая громкость. Фразовая громкость - это функция изменения громкости в процессе воспроизведения фразы - некоторого нераздельного набора фонем, произносимых слитно. Эта громкость, наряду с изменением тона, - важная составляющая интонации. Для определения интонационного содержания этих функций также необходимо некоторое исследование.
Фонемная громкость - немного более сложная концепция. Под фонемной громкостью, наверное, проще понимать функции микширования отдельных фонем, составляющих фразу. Дело в том, что хотя уравнение звукозаписи является всегда гладкой функцией, фонемы являются некоторыми дискретными величинами. Команды на их воспроизведение голосом в речи подаются не последовательно одна по окнчании другой, а с неким опережением. Это опережение приводит к тому, что следующая фонема начинается до окончания предыдущей, что приводит к трансформации первой фонемы во вторую на стыке фонем. При этом функция звуковоспроизведения остается гладкой и непрерывной, даже в случае любых согласных звуков. Эта сшивка фонем, ксати, основная характеристика разборчивости речи и важная составляющаяя интонации. В общем, в задачу сшивки фонем во фразу входит создание характеристик переходных процессов в начале и конце каждой фонемы. Такие данные тоже нуждаются в анализе, поскольку не являются самоочевидными, как можно было бы подумать. Например, они будут различными в случае синтеза различных интонаций, языковых культур, конкретного языка как такового. Если говорить технически, то фонемная сшивка - это сшивка сплайнов звука, подразумевающая не только амплитудное согласование, но и спектральное. Это вынуждает использовать для сшивки модуль громкости одновременно с модулем артикуляции, соотвественно, модулирующие характеристики включают в себя и амплитудные, и спектральные модулирующие функции.
Из высказанного следует мысль, что, и анализ, и синтез должны быть фразовыми. То есть, перед врспроизведением каждая произнеменная фраза должна быть полностью загружена в анализатор и только потом синтезирована. Это создает задержку длительностью с анализируемую фразу. Для ускорения выдачи синтезируемого сигнала нужно предельно сокращать длительность фразы, что будет сказываться на точности синтеза. Таким образом, точность синтеза будет зависеть и от точности фразового анализатрора. Для создания фразового анализатора также необходимы статистические исследования на предмет поиска условных пауз между фразами и выделения фонем. Этот поиск нельзя сделать абсолютным по уровню, как в диктофонах или системах удаления помех. Поиск должен учитывать интесивность произносимого набора выражений, а значит, опираться на данные статистических исследований по членораздельности текста.