2015-08-16 4 views
1

кратко, я хочу создать веб-сайт, который выводит аудиопоток на основе ввода, заданного клиентом в синтезирующемся интерфейсе. Просто, чтобы каждый доступ к этому сайту имел точный аудиоисточник и состояние интерфейса, я хочу, чтобы вся работа выполнялась сервером и позволяла клиенту управлять вводом. Хотя я не новичок в программировании, я немного ошеломлен количеством возможностей для реализации этого. Можете ли вы рекомендовать практическую настройку для этого, например, какие библиотеки (язык программирования может быть привязан к этому) для использования серверов, клиентов и какая технология является наиболее эффективным способом общения между ними? Я знаю, это не самый быстрый вопрос для ответа, но я бы очень признателен за вашу помощь.Какую настройку вы бы рекомендовали для серверного синтезатора?

PS: Этот проект предназначается, чтобы быть в основном познавательно мне, а не какого-либо коммерческого использования или что-нибудь

ответ

1

«Synthesizer» очень расплывчато ... не ясно, какие функции вы ожидаете, и на то, что задержки.

В любом случае, я бы, вероятно, начинал с Node.js и реализовал API веб-аудио. https://github.com/sebpiq/node-web-audio-api К сожалению, этот пакет не совсем закончен, но это самое лучшее, что я знаю.

Liquidsoap также имеет довольно много функциональности, которые могут оказаться полезными.

В зависимости от ваших потребностей другой подход заключался бы в том, чтобы ваше серверное приложение использовало профессиональные или синтетические синтезаторы OSC или MIDI (или даже реальные аппаратные средства!), А затем передавало аудио.

+0

Спасибо! Это кажется идеальным. –

2

В дополнение к ответу Брэда, сидящему за веб-сервером, у вас, вероятно, есть хост VST с коммерческими плагинами софт-синтезатором (реализация этих усилий требует больших усилий - хотя все догадываются, распространяется ли лицензия на это приложение).

Juce, вероятно, вы можете пойти на хост SoftSynth.

Входной сигнал почти наверняка будет MIDI, но вам, вероятно, потребуется использовать SYSEX или какой-либо боковой канал для мест, где MIDI еще не предоставляет вам управляющие сообщения.

Задержка в обратном направлении, вероятно, будет слишком большой для воспроизведения в реальном времени (хотя это будет наихудшая задержка, которая будет реальной проблемой).

Звукоизоляция не в режиме реального времени, а возможность.

+0

Хорошо, это заставляет его выглядеть намного сложнее, чем ответ Брэда .... Почему вход должен быть MIDI? Он defenitely не должен быть точным или функциональным, чтобы использоваться для создания чего-либо серьезного. Единственное значение имеет контроль над каким-то образом влияющим на аудиоисточник. И латентность в несколько секунд не должна быть проблемой. –

+0

MIDI: Потому что это вход для софт-синтезаторов VST. – marko

Смежные вопросы