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

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

Страницы: 19 10 11 1219 Следующая »
#135
11:59, 26 июля 2017

Mikle
> Джазовые барабаны (щётками)
Это то самое физическое моделирование?


#136
12:00, 26 июля 2017

Физикой только хайхет.

#137
(Правка: 12:11) 12:09, 26 июля 2017

Mikle
> Физикой только хайхет.
А как тогда сделано? Быстро генерируется? А то у меня сейчас в синтезаторе твоё физическое моделирование используется. И даже генерация одной кешированной ноты может съесть 20% от всего времени синтеза музыки. Хочется заменить это чем-то более быстрым.

#138
(Правка: 13:56) 13:56, 26 июля 2017

Немного поправил, перезалил в п.134
gammaker
> А как тогда сделано?
Очень просто. Бочка полностью сгенерирована заранее:

Private Sub GenKick()
  Dim i As Long

  ReDim SampleKick(16383)
  RandInit 0

  For i = 0 To 1999
    SampleKick(i) = (Sin(1000000 / (i + 9000))) / (i * i * 0.00015 + 200)
  Next i
  Fade SampleKick(), 2000, 500, 2000
  For i = 0 To 16383
    SampleKick(i) = SampleKick(i) + RandR / (i * i * 0.1 + 3000)
  Next i
  FilterQ SampleKick(), 16384, 4000, 0.75
  Fade SampleKick(), 16384, 350, 6000
  Norm SampleKick(), 16384, 1
End Sub
Малый:
      Prepare 0, 32000
      memcpy ArN(0), SamplePff(Rand * 767), 4 * SizeN
      Fade ArN(), SizeN, 480 + Rand * 700, 31000
      Norm ArN(), SizeN, 0.55
      MixNote tStart, Vel, 0.5, Vel * 0.1

Генерацию SamplePff немного переделал:

Private Sub GenPff()
  Dim i As Long
  Dim s As Single

  ReDim SamplePff(32767)
  RandInit 0

  For i = 0 To 32767
    s = 10 / (i + 10)
    SamplePff(i) = (Rand - 0.5) * s * s + RandR * s * s * i * 0.000012
  Next i
  Fade SamplePff(), 32768, 20, 32000
End Sub
В малом делается выборка из семпла с рэндомного адреса, это для разнообразия ударов, но от этого сильно зависит амплитуда, поэтому приходится делать нормализацию. Если отказаться от разнообразия, делать выборку с фиксированного адреса, то и нормализацию можно отбросить, или вообще сделать малый, как и бочку, полностью генерируемым заранее.

#139
15:10, 26 июля 2017

И тут вступил контрабас: Drum&Bass
http://www.gamedev.ru/files/sounds/?id=127242

#140
16:35, 26 июля 2017

Mikle
> For i = 0 To 1999
А что с элементами от 2000 до 16383? Там остаются нули и потом просто добавляется рандом?

Mikle
> Генерацию SamplePff немного переделал:
А что это за семпл такой волшебный, что и в пианино и в ударниках используется?

Mikle
> Очень просто. Бочка полностью сгенерирована заранее
Прикольно, надо тогда взять себе. Займусь этим через пару дней наверное.

#141
(Правка: 17:52) 17:38, 26 июля 2017

gammaker
> А что с элементами от 2000 до 16383?

ReDim SampleKick(16383)
задаёт размер и обнуляет весь массив.
gammaker
> Там остаются нули и потом просто добавляется рандом?
Да.
gammaker
> А что это за семпл такой волшебный
Это звук "пффф". Вообще, в пианино он временно, попробовал добавить им атаку, пианино всё равно переделывать.
Это очень полезный звук, попробуй просто пропускать его через FilterQ.
#142
18:48, 26 июля 2017

Похоже на флейту получилось?
Флейта в синтезаторе

#143
19:30, 26 июля 2017

Звук то похож, но флейта не может так перетекать из ноты в ноту, портаменто не в тему.
И навязчивый стереоэффект.

#144
19:42, 26 июля 2017

Mikle
> Звук то похож, но флейта не может так перетекать из ноты в ноту, портаменто не в тему.
Ты про pitch bend? Он такой в MIDI файле был. Без него совсем не то получается.

Mikle
> И навязчивый стереоэффект.
Это как? Я думал, стереоэффект не бывает лишним.

#145
19:54, 26 июля 2017

gammaker
> Ты про pitch bend?
Да.
gammaker
> Я думал, стереоэффект не бывает лишним.
На длинных нотах сильно вправо-влево колбасит, послушай в наушниках.

#146
13:31, 28 июля 2017

gammaker, FordPerfect, Dmitry_Milk, скоро ЦЦ (в конце августа очередной Chaos Construction), будет и номинация 32k EXE Music.
Нет желания поучаствовать?

#147
14:55, 28 июля 2017

Mikle
> На длинных нотах сильно вправо-влево колбасит, послушай в наушниках.
Послушал, но что-то не заметил. У меня наушники сломанные, один тише другого, возможно из-за этого не заметил.
Можешь подробнее описать ощущения? С какой скоростью колбасит? Случайно не 6 раз в секунду? А то может вибрато такой эффект даёт? Хотя его и одним ухом слышно, да и вибрато обоих каналов в одной фазе находится.

Mikle
> скоро ЦЦ (в конце августа очередной Chaos Construction), будет и номинация 32k EXE Music.
> Нет желания поучаствовать?
Наверное нет. Но если бы был такой конкурс на форуме до конца лета, я бы наверное поучаствовал, если конечно можно будет использовать готовые популярные MIDI - сам писать музыку не умею.

#148
15:23, 28 июля 2017

gammaker
> Случайно не 6 раз в секунду?
Похоже на то.
> вибрато обоих каналов в одной фазе находится
Вот в редакторе:
Sound | Программирование звука музыкальных инструментов
Чистая противофаза, и очень глубина большая.
gammaker
> если бы был такой конкурс на форуме до конца лета, я бы наверное поучаствовал
А кто кроме меня да тебя?
gammaker
> если конечно можно будет использовать готовые популярные MIDI - сам писать музыку не умею.
Ну, это не проблема, музыкантов, желающих показать своё творчество, достаточно.

#149
16:02, 28 июля 2017

Mikle
> Похоже на то.
Нет, это оказалось не вибрато. Без него та же картина.
Это сама по себе такая периодическая волна, сгенерированная через IFFT. Я думал она будет более менее ровная, и ради разнообразного звучания на разных каналах сделал разность фаз N/2 - так советовал автор той статьи, который синтезировал звуки таким способом.
А оказалось, что эта периодическая волна не ровная и тут громкость скачет туда сюда. Тогда наверное надо разность фаз поменьше сделать. Какую вообще разность по времени лучше делать для разных ушей, чтобы был нормальный стереоэффект? Расстояние между ушами поделить на скорость звука?

Mikle
> А кто кроме меня да тебя?
Посмотрим, что ответят FordPerfect и Dmitry_Milk.

Страницы: 19 10 11 1219 Следующая »
ПрограммированиеФорумЗвук