· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.A&O —› Формулы музыкальных инструментов :)

Посл.отвђт Сообщенiе


Дата: Сен 21, 2004 07:37:32

Если кто баловался...
Подскажите формулы любых музыкальных инструментов (пианино, hi-hat, bass, rubby bass, acid bass, crash, etc)

К примеру формула bass-drum:

f(t) = sin(pow(t,A)) * exp(t/tau)

Где A обычно меньше 1 и больше 0. tau около 0.25 ~ 0.5

Hi-hat можно получить из рандома. Тоесть рандом, затухающий по экспоненте. С crash-ами (тарелки) сложнее. Интересно по поводу пианино и разных басов.
Поделитесь, люди добрые :)


Дата: Сен 22, 2004 01:07:08

Ну, с таким подходом уедешь в далёкие 70-е года :)

Вообще в этом деле современные синтезаторы лучше описывать не в таких формулах, а на более высоком уровне. А именно: в терминах генераторов, фильтров, задержек, отражателей, насыщателей, огибающих и пр.

Пример: опиши мне формулой эффект перегрузки ("дисторшн"), да такой, чтоб звучал как надо. Я думаю, там рехнуться можно если описывать зависимость спектра от времени.

Я увлекаюсь написанием синтезаторов. И добился неплохих результатов. Можешь задавать вопросы. На асме я их ещё не пишу. Поэтому наше обсуждение будет выходить за тематику форума.

foamplast@mail.ru


Дата: Сен 22, 2004 04:36:09

Foamplast
„Поэтому наше обсуждение будет выходить за тематику форума“
Не, не будет :) Ведь правда, дядя Беспощадный Даос? :)

„Я думаю, там рехнуться можно если описывать зависимость спектра от времени“
Ты хотел сказать функцию от времени? Спектр он не от времени а от частоты или фазы.

Ну хорошо. Например, я хочу пианино. В какую сторону мне смотреть? Ясно, что громкость звучания убывает по экспоненте, тоесть итоговая формула умножается на exp(t/tau). А дальше-то как быть? Да, пианино имеет гормоническую природу. Но ведь это не просто синус или косинус? Кстати, в учебнике по математике была задача об описании координаты струны при колебании. Решалась через дифференциальное уравнение. Ответом был бесконечный ряд из интегралов :) Во сне приснится - подушкой не отмахаешся :)

И еще... Раз уж ты этим занимался. Есть какие-нибудь русскоязычные доки по этому делу? Что посоветуешь?


Дата: Сен 22, 2004 06:35:58

Ведь правда, дядя Беспощадный Даос? :)


Как минимум один из беспощадных даосов тебе это гарантирует. :) Я только рад, если умные и талантливые люди с интересом обсуждают здесь свои идеи! Вы же не новички и не задаете вопросы об иконках в трее, которые меня бесят :)


Дата: Сен 22, 2004 11:30:24

>Кстати, в учебнике по математике была задача об описании координаты струны при колебании.
Для этой задачи больше подойдет учебник по мат. физике.
Волновое уравнение прекрасно решается и там не очень сложно, "Во сне приснится - подушкой отмахаешся".


Дата: Сен 22, 2004 11:50:00

Про струну вроде просто. Там сумма основной и кратных частот - 2,3 и т.д. Для амплитуды каждой из частот надо задать формулу и все. Есть еще дурацкая идея : взять с сайтов образцы звуков и выполнить спектральный анализ.
После уже можно играться со спектрами и наводить теорию.
Для струны спектр будет очень простой.


Дата: Сен 22, 2004 14:49:44

Foamplast
„Я увлекаюсь написанием синтезаторов. И добился неплохих результатов. Можешь задавать вопросы. На асме я их ещё не пишу. Поэтому наше обсуждение будет выходить за тематику форума. “

Что ЗНАЧИТ ВЫЙДЕТ?!

Помоему не выйдет!!!!!!!!

ХОЧУ СТАТЬЮ ПРО НАПИСАНИЕ СИНТЕЗАТОРА :)))

P.S.
ХОЧУ ROLAND!!!!! ^)))))))))


Дата: Сен 23, 2004 00:20:16

1. Насчёт тематики форума.

Приятно, что тема поддерживается. При этом, как я уже говорил, для экспериментов в области звукосинтеза я не использую ассемблер. Я использую Reaktor и CSound. Сейчас пробую разобраться с pure-data. На самом деле из них только Reaktor приспособлен для чего-либо реального. CSound - обалденный дзенский язык с большим потенциалом. Но интерфейс там хреновый. Так что только Реактор. Но это к программированию на ассемблере никак не относится.

2. _DEN_

Строго говоря, звук в компьютере - это зависимость напряжения от времени. Однако вполне позволительно говорить о зависимости спектра от времени.

3. Про пианино.

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

4. valterg

Проанализируй мой образец звука и наведи теорию.

5. Всем

Русскоязычной литературы по синтезу не видал. В инете толковое встречается редко и по кусочкам. Видел только книги на аглицком на амазон.ком - от $70 до $300. Если нужно, могу написать про методы синтеза звука подробно.

_390561458__Kick_Benassi_Illusion.wav


Дата: Сен 23, 2004 13:59:32 · Поправил: valterg

Foamplast

„Проанализируй мой образец звука и наведи теорию. “

Пользовался пакетом Математика-4.
Сначала считал твой звук : см. sound1 и 01,02( по кусочкам).
Периоды синусоид уже практически видны.
Далее спектр - только начало. Спектр сложный(картинки sp1 и sp2), но явно видна доминирующая частота ниже 20 Гц - это из-за нее звук такой глухой и два обертона 35 и 50 Гц ( в 50 Гц там посложнее структура). Весь остальной спектр имеет маленькие амплитуды и создает "окраску звука". Теперь можно синтезировать звук и добавлять частоты по вкусу.
Что получится не знаю, попробую на досуге.
У меня этих kick-ов тоже много накачано.
К сожалению я не меломан, даже слуха нет и мне, что 44 битрейт, что выше - не чувствую разницы.

380383735__kick_an.zip


Дата: Сен 23, 2004 16:14:43

„Действительно, теоретически любой периодический сигнал можно представить набором конечного числа синусоид с кратными частотами (т.н. "гармоники"), а любой непериодический - набором бесконечного числа синусоид.“

Не совсем точно. Вернее - совсем неточно. ;) Любой периодический сигнал можно представить безконечного числа синусоид с частотой кратной частотой сигнала. А любой непереодический сигнал - тоже. Только частота непереодического сигнала, 0Hz - поетому спектр получаеться сплошной а не дискретной.


Дата: Сен 23, 2004 16:49:15

Foamplast
>Если нужно, могу написать про методы синтеза звука подробно

Очень интересно. Сам пробовал формулы, пробовал привести в систему спектры сигналов обработанных эффектом, но ничего хорошего не получилось.


Дата: Сен 24, 2004 01:28:27

ozzman
Волновое уравнение прекрасно решается и там не очень сложно

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

Foamplast
„Строго говоря, звук в компьютере - это зависимость напряжения от времени“
Ладно, главное друг друга поняли ;-)

Если нужно, могу написать про методы синтеза звука подробно.
Было бы здорово если бы ты пару статей для сайта написал. Дядя Беспощадный Даос тебе выдал бы диплом "Почетного Воина Дзена" ;-)

Еще раз по поводу пианино... Получается что каждая гармоника в пианино еще как-то во времени амплидуду меняет (если не учитывать экспоненциального затухания) ? Как же тогда быть?..


Дата: Сен 24, 2004 08:49:51

_DEN_, Все
"Было бы здорово если бы ты пару статей для сайта написал." - ОК, горю желанием, только сайт-то про ассемблер. А я напишу "Методы синтеза звуков." Как же быть?

_DEN_
"Получается что каждая гармоника в пианино еще как-то во времени амплидуду меняет (если не учитывать экспоненциального затухания) ? Как же тогда быть?.."
Использовать другой метод синтеза.

valterg
Если правда получится по твоей теории синтезировать звук, пиши мне. Буду пользоваться этой "математикой".


Дата: Сен 24, 2004 08:58:42

Foamplast
„ОК, горю желанием, только сайт-то про ассемблер“
Я думаю не суть :) Лишь бы не на Delphi или VB :-) Дядя volodya будет рад :-)


Дата: Сен 24, 2004 11:06:38 · Поправил: ozzman

_DEN_
>Не, там вобще какой-то изврат был - функция двух переменных (время и положение на струне), потом учитывалось еще несколько факторов (то ли сопротивление воздуха, то ли еще что-то :)).
наверно что-то вроде: utt = a2*uxx + F(x,t); u(x,0) = f(x); ut(x,0) = g(x)?
Если F(x,t) = 0 и начальные условия = 0(самый простой случай :)), то решение будет выглядеть как: u(x,t) = A(x-at)+B(x+at) - сумма двух бегущих волн произвольной формы, движущихся в противоположных направлениях со скоростью a.
При наличии внешней силы (F(x,t)!=0) решение немного посложнее.


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.067