https://ru.wikipedia.org/wiki/%D0%94%D0 ... 1%88%D0%BD
listen
https://yadi.sk/d/zqzgX73iStnRNA
programm
https://djdnkey.blogspot.com/2018/11/am ... decay.html
java source
concept:
mixed two sounds:
1 clear
2 distortion
can you make this plugin in lmms?
listen
https://yadi.sk/d/zqzgX73iStnRNA
programm
https://djdnkey.blogspot.com/2018/11/am ... decay.html
java source
Code: Select all
for(int i = 1;i < data.length;i++){
//destortion
if(data[i] > 0){
if(data[i] > (127 - (byte)Main.slider)){
dataTemp[i] = (byte) ((byte)127 - (byte) Main.slider);
// System.out.println("after data[i]: " + data[i]);
}
}
if(data[i] < 0){
if(data[i] < (-127 + (byte)Main.slider)){
dataTemp[i] = (byte) (-127 + (byte)Main.slider);
}
}
// System.out.println("slider " + Main.slider);
// data[i] = data[i];
}
if(frame.reberbSelected){
int delaySamples = (int)((float)frame.delay * 44.1f); // assumes 44100 Hz sample rate
for (int i = 0; i < data.length - delaySamples; i++){
// WARNING: overflow potential
dataTemp[i + delaySamples] += (short)((float)data[i] * frame.decay);
}
}
if(frame.amplitudeDecay){
//частота изменения амплитуды
int frequency = data.length / frame.decayFrequency;
//текущее значения инкремента k если k = frequency значит делаем изменение амплитуды обнулямем к и считаем заново
int k = 0;
//текущий щаг изменения амплитуды
int steps = 0;
//на сколько изменить амплитуду c каждым шагом 127.
byte amplitudeChange = (byte)(127/frame.decayFrequency);
int distortion = 127;
for (int i = 0; i < data.length; i++){
// WARNING: overflow potential
// dataTemp[i] += (short)((float)data[i] * frame.decay);
k++;
if(frequency == k){
k = 0;
steps++;
distortion = distortion - amplitudeChange;
System.out.println("distortion " + dataTemp[i]);
}
if(data[i] > 0){
if(data[i] > (127 - (byte)distortion)){
dataTemp[i] = (byte) ((byte)127 - (byte) distortion);
}
}
if(data[i] < 0){
if(data[i] < (-127 + (byte)distortion)){
dataTemp[i] = (byte) (-127 + (byte)distortion);
}
}
}
}
mixed two sounds:
1 clear
2 distortion
can you make this plugin in lmms?