Так что у меня получилось что-то вроде:
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 КБ конкурсы.