Войти
ПрограммированиеФорумЗвук

Программирование звука музыкальных инструментов (2 стр)

Страницы: 1 2 3 419 Следующая »
#15
6:56, 14 сен. 2016

А кто как делает изменение громкости в зависимости от частоты?

Если делать одинаковую амплитуду, то высокие ноты звучат громче, что логично, т. к. энергия осциллятора пропорциональна [cht]\omega^2 A^2[/cht]. Казалось бы, на эту [cht]\omega[/cht] (не на квадрат) и делить.
Но правильный ли это подход? Где гарантия, что у реальных инструментов энергия (мощность) одинаковы?
Может есть какая-то теория на эту тему?
Или экспериментальные данные.

У меня сейчас от балды powf(2.0f,-float(pitch)/64.0f), вроде как-то звучит, но не особо внятно, на мой вкус.


#16
(Правка: 8:51) 8:51, 14 сен. 2016
А кто как делает изменение громкости в зависимости от частоты?

Есть спектр частот в районе 2КГц - он отвечает за восприятие громкости инструмента ухом человека. Так вот на высоких нотах, данный спектр можно делать менее динамичным, за счёт чего выравнивать громкость всех нот.
Данным приёмом активно пользуют звукоинженеры. Зная особенности восприятия звука человеческим ухом, можно делать достаточно динамичные композиции, с учётом, что степень компрессии дорожек будет достаточно высокая.
Программированием синтезаторов я не занимался, хотя задумывался на тему. А вот звукозаписью занимаюсь активно, т.к. музыкант.
#17
10:23, 14 сен. 2016

тут наверное надо посмотреть видеоуроки

#18
11:09, 14 сен. 2016

FordPerfect
> А кто как делает изменение громкости в зависимости от частоты?
Я никак не делаю и вроде более-менее норм.

#19
12:13, 14 сен. 2016

амплитуда влияет на громкость I=Im*sin , Im—- влияет на громкость . транзистор усиливает сигнал Im ,надо программировать модель транзисторного усилителя. частота f=50герц считается фиксированным параметром и влиять не будет (или не сильно).

#20
5:13, 28 сен. 2016

Ещё: у кого есть позитивный опыт в создании ударных?
Mikle?
Вроде Роман Шувалов делал нечто довольно дешёвое+сердитое. Можно подробнее?

#21
(Правка: 6:42) 5:40, 28 сен. 2016

FordPerfect
до этого был конкурс там мы много вместе всякого выкладывали же.

Это мелодия из Protrekker-a я ее портировал для теста своего синтезатора и ударников вот что получилось:

В отличии от Protrekker-a (семплы) здесь полный синтез.

Есть еще один подход синтеза мелодии, я его ни где не видел, это банально рисовать волну векторными кривыми, например с использованием интерполяции би-кубическим сплайном, фоновый аккорд в мелодии как раз таким методом сделан. Там нарисован небольшой отрезок семпла и зациклен.

небольшая вводная

один из ударников для https://jsfiddle.net/arfp072t/embedded/result/

#22
5:44, 28 сен. 2016

foxes
Вот кстати, тамошние ссылки бы пособирать охота.

Кто-то делал орган, лучше чем
http://www.gamedev.ru/projects/forum/?id=180947&page=123#m1831
?

#23
9:36, 28 сен. 2016

FordPerfect
Mikle делал физическое моделирование удариков на VB6. Я перевёл этот код на C++ и сделал им себе пару ударников, варьируя разные параметры. Надо будет ещё поэкспериментировать с параметрами и сделать побольше разных ударников.

Вот пара примеров синтеза музыки с ударниками моим синтезатором:

  • My Way
  • ABBA Mamma Mia
  • FordPerfect
    > Кто-то делал орган, лучше чем
    Так вроде и тот орган очень хорош, я его у себя использую.

    #24
    19:02, 28 сен. 2016

    gammaker
    >Так вроде и тот орган очень хорош
    На достигнутом не останавливаться.

    #25
    1:56, 1 окт. 2016

    Казалось бы свист незатейлив, и вообще близок к чистой синусоиде.
    Однако:

    // Whistle
      var a=340*exp(5*(A-0.5));
      var v=0;
      t+=(1/(225*a))*noise3(5*a*t)*(0.125+exp(-7*t));
      v+=sin(2*pi*a*(340/340)*t)*pow(10,(16-39.7)/2)*sigma(25/2*t);
      v+=sin(2*pi*a*(1055/340)*t)*pow(10,(16-31.3)/2)*sigma(25/2*t);
      v+=sin(2*pi*a*(1752/340)*t)*pow(10,(16-17.2)/2)*sigma(50/2*t);
      v+=sin(2*pi*a*(3499/340)*t)*pow(10,(16-62.7)/2)*sigma(125*t);
      v+=sin(2*pi*a*(5245/340)*t)*pow(10,(16-62.5)/2)*sigma(125*t);
      v*=(1+(1/16)*sin(17*t)+(1/20)*sin(25*t)+(1/25)*sin(37*t));
      v*=exp(-0.5*t);
      return v;
    Звучит не особо, да и тормозит, т. к. фазовая модуляция.

    #26
    10:11, 1 окт. 2016

    FordPerfect
    > Однако:
    А зачем такие сложности? У меня свист сделан намного проще, просто несколько октав и затухание не экспоненциальное, а только по краям. И мне кажется, звучит лучше. Хотя конечно немного резко.

    Можешь послушать, только в поле ввода адреса вставь ссылку http://gammaker.github.io/midi/X-files.mid

    #27
    (Правка: 18:12) 17:53, 1 окт. 2016

    FordPerfect
    > у кого есть позитивный опыт в создании ударных?
    Бас-бочка: http://www.gamedev.ru/projects/forum/?id=209634&page=62#m915
    Есть так же:
    Чайна: https://yadi.sk/d/zJ5qWwmcS8U82
    Райд: https://yadi.sk/d/LVg1EgVpRapQo
    Хай-хет: https://yadi.sk/d/TVQ0z8h_oMCuj
    Код могу поискать.
    Струну тоже имеет смысл тут вспомнить:
    http://www.gamedev.ru/projects/forum/?id=180947&page=67#m991

    #28
    20:28, 1 окт. 2016

    Тоже писал несколько синтезаторов на VB6.
    FM-синтезатор

    Синтезатор ударных:

    Аддитивный синтезатор

    Два последних используются в этом проекте. Там же можно посмотреть наглядно как они работают.

    #29
    21:15, 3 окт. 2016

    Народ, а как понимать литавры (timpani)?
    1. В General MIDI они не как ударные, а как обычный инструмент (ещё и в блоке скрипки почему-то), т. е. для него по-идее осмысленно понятие высоты звучания.
    2. Википедия уклончива на эту тему.
    3. Взгляд на спектрограмму в Audacity показывает обычный розовый шум, без выделенного пика (кроме того, который в нуле).

    Вопросы: действительно ли для литавров осмысленна мелодия?
    Как понимать "частоту" звучания литавров?

    Страницы: 1 2 3 419 Следующая »
    ПрограммированиеФорумЗвук