Поиск по сайту:

Научная обработка звука, часть III. Как применить эффекты расширенной математической обработки к аудиофайлам с помощью Octave 4.0 в Ubuntu


На этой странице

  1. Модуляция
    1. Амплитудная модуляция
    2. Зачем использовать амплитудную модуляцию?
    3. Эффект тремоло
    4. Тремоло в реальных аудиофайлах

    1. Эффект синусоидальной частотной модуляции

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

    Модуляция

    Амплитудная модуляция

    Как следует из названия, этот эффект изменяет амплитуду синусоиды в зависимости от передаваемого сообщения. Синусоидальная волна называется несущей, потому что она несет информацию. Этот тип модуляции используется в некоторых коммерческих диапазонах вещания и передачи (AM).

    Зачем использовать амплитудную модуляцию?

    Модуляционное излучение.

    Если канал связи представляет собой свободное пространство, то для излучения и приема сигнала необходимы антенны. Для этого требуется эффективная антенна электромагнитного излучения, размеры которой того же порядка, что и длина волны излучаемого сигнала. Многие сигналы, включая аудиокомпоненты, часто имеют частоту 100 Гц или меньше. Для этих сигналов необходимо было бы построить антенны длиной около 300 км, если бы сигнал излучался напрямую. Если для печати сообщения на высокочастотной несущей, скажем, 100 МГц, используется модуляция сигнала, то антенна должна иметь длину более метра (поперечная длина).

    Модуляция концентрации или многоканальность.

    Если один канал использует более одного сигнала, можно использовать модуляцию для передачи разных сигналов в разные спектральные позиции, что позволяет приемнику выбирать желаемый сигнал. Приложения, использующие концентрацию («мультиплексирование»), включают данные телеметрии, стереофоническое FM-радио и междугороднюю телефонную связь.

    Модуляция для преодоления ограничений оборудования.

    Производительность устройств обработки сигналов, таких как фильтры и усилители, а также легкость, с которой эти устройства могут быть сконструированы, зависят от положения сигнала в частотной области и соотношения между более высокой частотой и низким сигналом. Модуляцию можно использовать для передачи сигнала в положение в частотной области, где легче удовлетворить проектные требования. Модуляцию также можно использовать для преобразования «широкополосного сигнала» (сигнала, для которого отношение между самой высокой и самой низкой частотой велико) в признак «узкополосный».

    Аудио эффекты

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

    Эффект тремоло

    Эффект тремоло — одно из простейших применений амплитудной модуляции. Для достижения этого эффекта мы должны варьировать (умножать) звуковой сигнал на периодический сигнал, синусоидальный или другой.

    >> tremolo='tremolo.ogg';
    >> fs=44100;
    >> t=0:1/fs:10;
    >> wo=2*pi*440*t;
    >> wa=2*pi*1.2*t;
    >> audiowrite(tremolo, cos(wa).*cos(wo),fs);

    Тремоло на реальных аудиофайлах


    Теперь мы покажем эффект тремоло в реальном мире. Во-первых, мы используем файл, предварительно записанный мужским голосом, говорящим А. Сюжет для этого сигнала следующий:

    >> [y,fs]=audioread('A.ogg');
    >> plot(y);
    >> t=0:1/fs:4.99999999;
    >> t=t(:);
    >> w=2*pi*1.5*t;
    >> q=cos(w);
    >> plot(q);
    >> tremolo='tremolo.ogg';
    >> audiowrite(tremolo, q.*y,fs);

    Изменение частоты

    Мы можем варьировать частоту, чтобы получить довольно интересные музыкальные эффекты, такие как искажение, звуковые эффекты для фильмов и игр и другие.

    Эффект синусоидальной частотной модуляции

    Это код, в котором отображается синусоидальная частота модуляции в соответствии с уравнением:

    Y=Ac*Cos(wo*Cos(wo/k))

    Где:

    Ac=Амплитуда

    wo=основная частота

    k=скалярный делитель

    >> fm='fm.ogg';
    >> fs=44100;
    >> t=0:1/fs:10;
    >> w=2*pi*442*t;
    >> audiowrite(fm, cos(cos(w/1500).*w), fs);
    >> [y,fs]=audioread('fm.ogg');
    >> figure (); plot (y);