Я пишу небольшое веб-приложение для проекта психологии музыки, которое будет воспроизводить серию звуковых образцов для предмета и попросить их оценить каждый. Мне нужно создать серию тонов (возможно, все синусоидальные волны) с одним или двумя базовыми фильтрами/эффектами, такими как искажение. По сути, мне нужна простая библиотека синтезатора.Базовая библиотека генерации звука/синтеза, любой язык
Поскольку это веб-приложение, мне нужно, чтобы он мог выплеснуть аудиофайлы (играть через аудио HTML5), а не просто воспроизводить звуки в реальном времени. Я буду генерировать эти файлы заранее, а не во время работы приложения, поэтому производительность не является проблемой.
Мне удобнее всего на Python, но приложение прост, поэтому я готов работать практически на любом языке. Популярная библиотека Snack для Python/Tcl имеет некоторые базовые возможности синтеза, но не имеет никаких эффектов, о которых можно говорить, помимо формант.
Самым естественным выбором будет язык звукового дизайна, такой как Csound, Supercollider или ChucK, но, похоже, у них очень крутая кривая обучения, чтобы генерировать синусоидальные волны с разными частотами, а иногда и эффект искажения.
Это выглядит очень прилично, но в идеале я хотел бы иметь сценарий, который может работать на стороне сервера и генерировать звуковые файлы, а также файл JSON для отправки клиенту со списком файлов , их пути и некоторые другие данные о них. С Audacity каждый раз, когда я хочу изменить звуки, мне нужно запустить настольное приложение, закрутить скрипты автоматизации и повторно загрузить вывод. Спасибо, хотя, возможно, это то, что я делаю, если не могу получить то, что я действительно хочу. – Alex 2010-12-05 02:07:44