HTML: какой язык для веб-обработки аудио?

Я хочу сделать веб-сайт с некоторыми интерактивными частями, которые должны обрабатывать звук более или менее простым способом. (На данный момент я просто хочу фильтровать звук с помощью LPF)

Поскольку существует так много возможных способов взаимодействия в Интернете (JScript, HTML5,...), я хотел спросить вас, как лучше всего обрабатывать звук. Вот несколько фактов о том, чем я хочу заниматься:

  • аудио файл находится на сервере, нет звука от клиента
  • он не должен поддерживать все браузеры, все в порядке, если он пока не работает в IE или Opera (но я предпочитаю полную поддержку последних версий) ;)
  • некоторые параметры алгоритма (например, частота среза) должны контролироваться клиентом (я не могу просто обработать аудиовход за один прогон или секунды перед его воспроизведением)
  • Я знаю, что мог бы сделать это с помощью java-апплетов, но я хочу обойти все «согласие на использование java». (Если браузер скептически относится к java)
  • последнее: я хотел бы использовать HTML / JS и т. д. для интерфейса (что было бы похоже на 1 или 2 слайдера)

Думаю, это все, о чем я могу думать. Какой язык/методы будут работать лучше всего? Спасибо.


person ruhig brauner    schedule 02.11.2013    source источник


Ответы (2)


Если вы не хотите возлагать слишком много работы на сервер, вы можете выполнить обработку звука на клиенте, используя что-то вроде http://audiolibjs.org/

Вы должны увидеть это http://kindohm.github.io/audiolibjs-intro. демо.

Если вы хотите обрабатывать на сервере, я думаю, вам нужна мощная машина для обработки звука от многих клиентов одновременно.

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

Для сервера, если вы используете PHP (скажем, какой-то язык), вы можете обратиться к другим вопросам, как это звуковая библиотека для разработки на php

person jperelli    schedule 02.11.2013
comment
Привет, я, вероятно, позволю клиенту выполнить обработку, так как сервер более или менее просто является хостом веб-сайта. Но ссылка на js Toolkit выглядит многообещающе, спасибо. :) Это на самом деле выглядит настолько круто, что я действительно думаю о программировании полноценного синтезатора. :) - person ruhig brauner; 03.11.2013
comment
Я рад помочь. Кроме того, добро пожаловать в stackoverflow, пожалуйста, проголосуйте и/или примите ответ. Это способ поблагодарить в stackoverflow :) - person jperelli; 03.11.2013
comment
Я пока не могу голосовать. :( Я начал читать аудиолиб и не знаю, что делать. Нужно ли мне что-то устанавливать на сервер, чтобы запускать скрипты, или достаточно иметь .js на веб-странице? - person ruhig brauner; 03.11.2013
comment
Посмотрите на код в этой демонстрации, вам нужно включить библиотеку js и аудиофайлы, затем вы можете использовать аудиофункции kindohm.github.io/audiolibjs-intro/demos/samples.html - person jperelli; 03.11.2013
comment
и здесь у вас есть пример lpf kindohm.github.io/audiolibjs-intro/demos /effects.html - person jperelli; 03.11.2013
comment
Ах хорошо. Это работает :) Сегодня немного поздно, но я думаю, что знаю, что буду делать завтра. ;) - person ruhig brauner; 03.11.2013
comment
Эй, я поигрался с этим сегодня и у меня есть еще один вопрос: есть ли способ изменить конкретные значения некоторых элементов? Например, изменение количества автоматизации без повторной инициализации автоматизации? Или изменить частоту генератора без повторного использования (добавить...)? В общем: есть ли список важных переменных-членов? - person ruhig brauner; 04.11.2013
comment
Пожалуйста, создайте еще один вопрос в stackoverflow, чтобы ответить на него, потому что здесь, в комментариях, у нас недостаточно места. - person jperelli; 04.11.2013
comment
Я добавил пример того, что я хочу сделать. :) stackoverflow.com/questions /19773237/ - person ruhig brauner; 04.11.2013

Для ваших требований я бы выбрал C # и Silverlight (плагин для браузера поддерживается как в Windows, так и в MacOS). Вы получите гораздо более высокую производительность от скомпилированного кода .NET по сравнению с JavaScript.

К сожалению, Silverlight предоставляет только очень низкоуровневый API (абстрактный класс MediaStreamSource), вам придется потратить некоторое время на его изучение. Кроме того, вы не сможете подключиться к предоставленным системой декодерам мультимедиа, единственным местом назначения, которые могут использовать системные декодеры, являются динамики. Следовательно, ваши исходные аудиоданные должны быть в формате, удобном для C#: вы будете в порядке, читая, например, PCM внутри WAV, но не HE-AAC внутри M4A.

демонстрация и вот исходный код.

person Soonts    schedule 02.11.2013