|
|
| Посл.отвђт | Сообщен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 |