Исправить текущую версию скрипта из приложенного файла.
Описание задачи следующее. Реализовать на языке программирования js набор функций для генерации звукового сигнала в форматах
ENCODING_PCM_8BIT, ENCODING_PCM_16BIT, ENCODING_PCM_FLOAT, https://developer.android.com/reference/android/media/AudioFormat. Должна быть возможность передать функции-генератору набор других функций, генерирующих sin сигнал фиксированной частоты. Функция должна вернуть список байтов, представляющих звук, полученный путем наложения друг на друга различных сигналов фиксированной частоты. Частота дискретизации для всех сигналов одинаковая.
Результат генерации звука должен быть таким примерно, как в случае включения N плееров, доступных по ссылке https://www.ural-auto.ru/services/tone-generator/. Включается, например. 5 плееров с частотами 500, 510, 520, 530, 555. Звук воспроизводимый этими плеерами должен совпадать со звуками, генерируемыми написанными функциями.
Продемонстрировать результат с использованием написания функции, сохраняющей сигнал в звуковой wav файл. Как это сделать? Можно посмотреть примеры здесь https://www.npmjs.com/package/tonegenerator. При соединении частот с помощью генератора указанного в ссылке, получается какой-то странный звук, не такой как в случае применения плееров, ссылка на которые дана выше.
Написанный модуль должен содержать, как минимум, следующие функции.
1) Создание функции генерации синусоидального сигнала с указанной частотой и амплитудой.
create_sin_generator(frequence, volume) -> function {...}
2) Создание функции для генерации суммарного сигнала.
function create_generator(list_sin_generators) -> function {...}
Для ускорения работы предлагается модифицировать существующий код. Пример реализации работы со звуком м.б. найден здесь: https://www.npmjs.com/package/tonegenerator. Есть текущая версия скрипта в приложенном файле, можно его доработать, что будет самым быстрым способом, наверно. Расширение нужно поменять на js, иначе не давал weblancer его прикрепить.