Как синтезировать аудио, используя HTML5 / Javascript на iPad - PullRequest
4 голосов
/ 01 сентября 2010

Есть ли у кого-нибудь рабочий пример кода, который синтезирует (и воспроизводит) аудио с помощью HTML5 / Javascript в Mobile Safari на iPad? Я нашел несколько примеров синтеза звука на основе javascript в Интернете, но все они, похоже, работают только в Firefox.

Ответы [ 4 ]

1 голос
/ 16 июля 2011

Недавно я наткнулся на эту js-библиотеку, думаю, это то, что вы хотите -> https://github.com/oampo/Audiolet

0 голосов
/ 16 декабря 2017

Я отвечаю на очень старый вопрос ... но современные браузеры webkit теперь поддерживают Web Audio API .Я написал очень простую скрипку , которая генерирует аккорды с использованием синусоидальных волн.Есть только 4 встроенных волновых форм, но вы можете создать свои собственные, используя коэффициенты Фурье (массив чисел).Вы должны сгенерировать новый объект осциллятора для каждой ноты.Это одноразовые объекты.Подключив несколько генераторов к одному месту назначения, вы получите полифонические звуки.

 let audio = new(window.AudioContext || window.webkitAudioContext)();
 let s1 = audio.createOscillator();
 let g1 = audio.createGain();
 s1.type = 'sine';
 s1.frequency.value = 600;
 s1.start();
 g1.gain.value = 0.5;
 g1.connect(audio.destination);
 s1.connect(g1);
0 голосов
/ 23 декабря 2011

Вы можете использовать сгенерированные URI данных одинаковой длины, например, 0,1 секунды.Это даст вам 1/10 секунды задержки, и вы получите столько «кадров» звука.Я не совсем уверен, какие форматы поддерживает iPad, но я читал, что он поддерживает несжатый WAV.Информация об этом формате файлов довольно легко получить, я помню, как давно создавал WAV-файлы с некоторыми примитивными методами манипулирования байтами.

Пожалуйста, отправляйте информацию с подробностями!

0 голосов
/ 20 марта 2011

Вот пример, который работает для меня на iPad:

www.cse.usf.edu / ~ turnerr / sound_demo.html

Вы можете загрузить файлы с http://www.cse.usf.edu/~turnerr/Downloads/Sound_Demo.zip

Эта демонстрация на сервере Unix.Но я не смог получить тот же код для работы на сервере IIS.Надеясь, что кто-то может помочь с IIS.

...