Процедурный барабан ловушки

Таким образом, у меня есть что-то как:

    void createSinewave( short * array, int duration, int startOffset,
float freq, float amp ) ;
    void createSquarewave( short * array, int duration, int startOffset,
float freq, float amp ) ;

Другие функции "двигают" форму сигнала от некоторой низкой частоты до некоторой высокой частоты и принимают два параметра частоты.

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

Какие-либо предложения о том, как генерировать тот? Какие частоты смешаться и в какой суммы смешать их в? Другая форма сигнала вводит для использования, чем синус и квадратная и треугольная волна?

Отчасти вдохновленный исполняемыми конкурсами на 64 К.

6
задан skaffman 22 February 2010 в 15:08
поделиться

2 ответа

Барабаны часто синтезируются короткими всплесками шума, например, белого, розового или коричневого шума.

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

2
ответ дан 17 December 2019 в 02:27
поделиться
4
ответ дан 17 December 2019 в 02:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: