www.demoscene.ruenglish version
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация   ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Синтез звуков на jsfiddle.net

 
Начать новую тему   Ответить на тему    Список форумов DemoScene.Ru -> Музыка
Предыдущая тема :: Следующая тема  
Автор Сообщение
Mikle



Зарегистрирован: 02.12.2008
Сообщения: 432
Откуда: Туапсе

СообщениеДобавлено: Ср Фев 03, 2016 18:33    Заголовок сообщения: Синтез звуков на jsfiddle.net Ответить с цитатой

Есть такой сайтик, некая аналогия шейдертоя, но для звука:
https://jsfiddle.net/ofp1tcxk/embedded/result/
Довольно удобно делиться алгоритмами генерации звука.
Вот мои пробы пиано:

Код:
// Piano
// A - note, B - lenght

var f = pow(2, ((A * 84 + 60.3763) / 12));
var g = 5200 / f;
var tf = 0.000071235 * f;
var a = pow(2, -0.02 * (1 - B) * t * f);
var i = t * 44100;

v0 = sin(i * 2 * tf);
v0 = sin(v0 * g * a * a * a * 0.3) * v0 * v0 * 0.3;
v1 = sin(i * tf * 0.998 - 0.57);
v1 = v1 * v1;
v2 = sin(i * tf * 1.002 + 0.57);
v2 = v2 * v2;
v0 = v0 * a;
v1 = 0.8 * pow (v1, (a * g + 1));
v2 = -0.8 * pow (v2, (a * g * 3 + 1));

return (v0 + v1 + v2) * a;


Просто копипастим код на страницу, жмём "Generate & play".
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
BiTL
DOS lover


Зарегистрирован: 22.09.2007
Сообщения: 2950


СообщениеДобавлено: Ср Фев 03, 2016 19:55    Заголовок сообщения: Ответить с цитатой

жаль нельзя поиграть на клавиатуре
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Lois



Зарегистрирован: 28.06.2011
Сообщения: 254


СообщениеДобавлено: Чт Фев 04, 2016 04:38    Заголовок сообщения: Re: Синтез звуков на jsfiddle.net Ответить с цитатой

Mikle писал(а):
Есть такой сайтик, некая аналогия шейдертоя, но для звука:
https://jsfiddle.net/ofp1tcxk/embedded/result/
Довольно удобно делиться алгоритмами генерации звука.
Вот мои пробы пиано:

Код:
// Piano
// A - note, B - lenght

var f = pow(2, ((A * 84 + 60.3763) / 12));
var g = 5200 / f;
var tf = 0.000071235 * f;
var a = pow(2, -0.02 * (1 - B) * t * f);
var i = t * 44100;

v0 = sin(i * 2 * tf);
v0 = sin(v0 * g * a * a * a * 0.3) * v0 * v0 * 0.3;
v1 = sin(i * tf * 0.998 - 0.57);
v1 = v1 * v1;
v2 = sin(i * tf * 1.002 + 0.57);
v2 = v2 * v2;
v0 = v0 * a;
v1 = 0.8 * pow (v1, (a * g + 1));
v2 = -0.8 * pow (v2, (a * g * 3 + 1));

return (v0 + v1 + v2) * a;


Просто копипастим код на страницу, жмём "Generate & play".


ничего не понял. Там только один звук - ля. Для чего весь этот код ?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Mikle



Зарегистрирован: 02.12.2008
Сообщения: 432
Откуда: Туапсе

СообщениеДобавлено: Чт Фев 04, 2016 09:18    Заголовок сообщения: Ответить с цитатой

Цитата:
ничего не понял. Там только один звук - ля.

А это ничего не подсказывает?
Код:
// A - note, B - lenght
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Lois



Зарегистрирован: 28.06.2011
Сообщения: 254


СообщениеДобавлено: Вт Фев 09, 2016 15:20    Заголовок сообщения: Ответить с цитатой

Mikle писал(а):
Цитата:
ничего не понял. Там только один звук - ля.

А это ничего не подсказывает?
Код:
// A - note, B - lenght


подсказывает, только я не понимаю для чего нужен весь остальной код.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Mikle



Зарегистрирован: 02.12.2008
Сообщения: 432
Откуда: Туапсе

СообщениеДобавлено: Вт Фев 09, 2016 15:36    Заголовок сообщения: Ответить с цитатой

Весь этот код как раз и формирует звук.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов DemoScene.Ru -> Музыка Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах