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

Физическое моделирование музыкальных инструментов. (12 стр)

Страницы: 111 12 13 14 15 Следующая »
#165
19:58, 27 апр 2013

>Могу помочь перевести на C# или C++, но не раньше послезавтра.
Но если
>Нет, получаются только последовательные семплы, но за счёт этого как раз все формулы сильно упрощаются.
то не надо.
А в сложном виде формул это возможно? И насколько они будут громоздкими?

#166
2:05, 2 мая 2013

практически случайно сделал перегруженную гитару. просто домножил сигнал на слишком большую величину и обрезал. всио. звучит офигенно. завтра студентам на паре сыграю что-нибудь из раммштайна : D

#167
9:19, 2 мая 2013

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

#168
23:47, 3 мая 2013

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

#169
23:56, 3 мая 2013

Mikle
чем бы семпл звуковой записать? в смысле как бы снять прямо системный звук?

#170
9:50, 4 мая 2013

Suslik
> чем бы семпл звуковой записать?
Просто гони в WAV то, что воспроизводишь. Или я вопрос не понял?
}:+()___ [Smile]
В смысле синусом грузить? Это от роста амплитуды будут сильно расти гармоники... можно попробовать.

#171
15:28, 4 мая 2013

Mikle
> Просто гони в WAV то, что воспроизводишь. Или я вопрос не понял?
а, точно. просто у меня же звук в реалтайме генерится, я думал его записывать чем-то, как фрапсом записывают видео. но можно просто писать в wav.

#172
19:26, 4 июня 2013

Mikle, перетащил твой код в си.
Такой вопрос, с какого перепуга волна "ерзает" при циклическом запуске функции? т.е. если повторить просчет, результат будет другой...
Или я чего-то с портированием накосячил?

#173
20:05, 4 июня 2013

1. Там есть RND, то есть при каждом новом запуске результат немного разный.
2. Если ты сделал коэффициент RND равным нулю, то, может быть, просто не очищаешь память массива или какие-то переменные? VB6 это делает автоматом.
Какой именно пример переводил?

#174
22:37, 4 июня 2013

rnd=0, ну и он как-бы инитится, так что последовательность идентична.


>>не очищаешь память массива или какие-то переменные? VB6 это делает автоматом
о, об этом не знал (с vb первый раз сегодня столкнулся, но там у тебя компактно по коду, минут за 10 перетащил на си), гляну сегодня еще. пример - "физическая модель струны"

#175
23:01, 4 июня 2013

f0xx
> rnd=0, ну и он как-бы инитится, так что последовательность идентична.
В том примере инициализируется так:

  Randomize Timer

То есть каждый раз по разному.
А вот эти строки:

  ReDim P(stLen)
  ReDim S(stLen)
  ReDim FdM(stLen)

Делают что-то типа zeromem, даже если значение stLen с прошлого раза не поменялось.

#176
23:06, 4 июня 2013

код сишный вылить сюда? надо кому?

#177
12:00, 5 июня 2013

p.s. от rnd ползет тон. так и надо?

#178
12:03, 5 июня 2013

f0xx
> от rnd ползет тон

Mikle
> коэффициент рэндома лучше всего ставить в пределах от 1/1000 до 1/500 длины
> струны. Меньше - звук электронный, больше - фальшивит.

#179
12:06, 5 июня 2013

еще, вопрос. Как это настраивать, чтобы, скажем, получить ДО (пофиг какой октавы)?

Страницы: 111 12 13 14 15 Следующая »
ПрограммированиеФорумЗвук

Тема в архиве.