|
|
|
12-13-2023, 07:32 AM
|
#1
|
Human being with feelings
Join Date: Oct 2023
Posts: 243
|
JSFX JSAdditiv
Polyphonic additive synthesizer
Features:
* Wavetable oscillator that reads single cycle waveforms from disk
* Additive synthesis engine that allows to modify the wave
* Wave editors for harmonics amplitude and phase
* 8 voices unison engine
* Pitch, amplitude and filter adsr
Installation
Import the following link into Reapack repositories:
Code:
https://raw.githubusercontent.com/tiagolr/tilr_jsfx/master/index.xml
Last edited by tilr; 01-07-2024 at 12:17 PM.
|
|
|
12-13-2023, 07:33 AM
|
#2
|
Human being with feelings
Join Date: Oct 2023
Posts: 243
|
Note on linux at least it has a bug where on init the first waveform is not loaded by default, let me know if it happens on Mac too, thanks.
|
|
|
12-13-2023, 12:05 PM
|
#3
|
Human being with feelings
Join Date: Feb 2017
Location: Zhytomyr,Ukraine
Posts: 449
|
Hi. Amazing synth. I try add new waves - its work
when change harmonic or phase - on play is reset
(need add to @init ext_noinit = 1
Thanks
|
|
|
12-13-2023, 12:14 PM
|
#4
|
Human being with feelings
Join Date: Feb 2017
Location: Zhytomyr,Ukraine
Posts: 449
|
If add harmonic to custom wave second add same harmonic = noise
|
|
|
12-13-2023, 12:32 PM
|
#5
|
Human being with feelings
Join Date: Oct 2023
Posts: 243
|
Quote:
Originally Posted by SNJUK2
Hi. Amazing synth. I try add new waves - its work
when change harmonic or phase - on play is reset
(need add to @init ext_noinit = 1
Thanks
|
Thanks, it does reset, will try and apply that fix, about your second point about noise when adding a second harmonic I cannot reproduce, maybe its the volume clipping?
|
|
|
12-13-2023, 12:50 PM
|
#6
|
Human being with feelings
Join Date: Feb 2017
Location: Zhytomyr,Ukraine
Posts: 449
|
Behevior (with ext_noinit)change harmonics than touch any knob = harmonics changes (sound change!)
|
|
|
12-13-2023, 01:03 PM
|
#7
|
Human being with feelings
Join Date: Feb 2017
Location: Zhytomyr,Ukraine
Posts: 449
|
"about your second point about noise when adding a second harmonic I cannot reproduce, maybe its the volume clipping?"
first add 1 harm ad many harmonics same level
second change same harm = noise
|
|
|
12-13-2023, 01:11 PM
|
#8
|
Human being with feelings
Join Date: Oct 2023
Posts: 243
|
Quote:
Originally Posted by SNJUK2
"about your second point about noise when adding a second harmonic I cannot reproduce, maybe its the volume clipping?"
first add 1 harm ad many harmonics same level
second change same harm = noise
|
Still cannot replay, does it happen only with that waveform? Maybe its too large for the FFT sizes (I set it to max 4096), can you drop that waveform here?
|
|
|
12-13-2023, 01:16 PM
|
#9
|
Human being with feelings
Join Date: Feb 2017
Location: Zhytomyr,Ukraine
Posts: 449
|
Yes its only with this wave (i load 1 only)
|
|
|
12-13-2023, 01:33 PM
|
#10
|
Human being with feelings
Join Date: Oct 2023
Posts: 243
|
Quote:
Originally Posted by SNJUK2
Yes its only with this wave (i load 1 only)
|
Can you upload it here? Maybe its fixable by increasing the FFT size
|
|
|
12-13-2023, 01:52 PM
|
#11
|
Human being with feelings
Join Date: Feb 2017
Location: Zhytomyr,Ukraine
Posts: 449
|
Its guiro percussion 0.5 sec long
About harmonics - in abletons operator there is user (blank) wave
and if you load any wave and change it -wave becomes user (no harm - no sound)
in additiv that behevior only with sine_1 wave, other : no harm -is sound
|
|
|
12-13-2023, 02:01 PM
|
#12
|
Human being with feelings
Join Date: Oct 2023
Posts: 243
|
Quote:
Originally Posted by SNJUK2
Its guiro percussion 0.5 sec long
About harmonics - in abletons operator there is user (blank) wave
and if you load any wave and change it -wave becomes user (no harm - no sound)
in additiv that behevior only with sine_1 wave, other : no harm -is sound
|
0.5 sec is probably too long for FFT 4096, if you want change the code to higher probably fixes the issue, I may patch aswell and support larger waveforms.
When clearing all harmonics still produces some sound indeed, something to fix.
EDIT: I'm going to wait a few more issues before uploading a new PR
Here is where you can change the FFT size, it will go into new PR
Line 120 change to
Code:
window = 512 >= len ? 512
: 1024 >= len ? 1024
: 2048 >= len ? 2048
: 4096 >= len ? 4096
: 8192 >= len ? 8192
: 16384 >= len ? 16384
: 32768;
Last edited by tilr; 12-13-2023 at 02:10 PM.
|
|
|
12-14-2023, 01:30 AM
|
#13
|
Human being with feelings
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,784
|
Quote:
Originally Posted by tilr
Maybe its too large for the FFT sizes (I set it to max 4096), can you drop that waveform here?
|
Is it based on FFT ?
Does that not introduce too much latency for live playing ?
|
|
|
12-14-2023, 02:48 AM
|
#14
|
Human being with feelings
Join Date: Oct 2023
Posts: 243
|
Quote:
Originally Posted by mschnell
Is it based on FFT ?
Does that not introduce too much latency for live playing ?
|
It computes only when the wave changes, so its pretty smooth. The unison is quite a CPU hog though.
|
|
|
12-14-2023, 08:51 AM
|
#15
|
Human being with feelings
Join Date: Feb 2017
Location: Zhytomyr,Ukraine
Posts: 449
|
Hi.
Code:
function normalize_wave(buf, len)
local (_min, _max, i) (
window = 512 >= len ? 512
: 1024 >= len ? 1024
: 2048 >= len ? 2048
: 4096 >= len ? 4096
: 8192 >= len ? 8192
: 16384 >= len ? 16384
: 32768;
_min = 1;
_max = -1;
loop(i = 0; len,
_min = min(_min, buf[i]);
_max = max(_max, buf[i]);
i += 1;
);
loop(i = 0; len,
buf[i] = 2 * ((buf[i] - _min) / (_max - _min)) -1;
i += 1;
);
);
I change that - nothing changes
|
|
|
12-14-2023, 09:07 AM
|
#16
|
Human being with feelings
Join Date: Oct 2023
Posts: 243
|
Quote:
Originally Posted by SNJUK2
Hi.
Code:
function normalize_wave(buf, len)
local (_min, _max, i) (
window = 512 >= len ? 512
: 1024 >= len ? 1024
: 2048 >= len ? 2048
: 4096 >= len ? 4096
: 8192 >= len ? 8192
: 16384 >= len ? 16384
: 32768;
_min = 1;
_max = -1;
loop(i = 0; len,
_min = min(_min, buf[i]);
_max = max(_max, buf[i]);
i += 1;
);
loop(i = 0; len,
buf[i] = 2 * ((buf[i] - _min) / (_max - _min)) -1;
i += 1;
);
);
I change that - nothing changes
|
Hum there should be a window code on `function synthesize(buf, len)` not `function normalize_wave`, again may be easier if you upload guiro-01.wav here I'll have a look
EDIT: sorry about the wrong line number
|
|
|
12-14-2023, 09:17 AM
|
#17
|
Human being with feelings
Join Date: Feb 2017
Location: Zhytomyr,Ukraine
Posts: 449
|
Ok change function synthesize(buf, len)
if change harm - nothing happens ,sound not changed
|
|
|
12-14-2023, 09:20 AM
|
#18
|
Human being with feelings
Join Date: Feb 2017
Location: Zhytomyr,Ukraine
Posts: 449
|
and CPU Up x 6
|
|
|
12-14-2023, 09:23 AM
|
#19
|
Human being with feelings
Join Date: Feb 2017
Location: Zhytomyr,Ukraine
Posts: 449
|
|
|
|
12-14-2023, 09:34 AM
|
#20
|
Human being with feelings
Join Date: Feb 2017
Location: Zhytomyr,Ukraine
Posts: 449
|
You need lfo ,becouse if use PM lfo not possible save preset
and why needed 31 bookmarks in harm/phase ?
Last edited by SNJUK2; 12-14-2023 at 09:44 AM.
|
|
|
12-14-2023, 09:39 AM
|
#21
|
Human being with feelings
Join Date: Oct 2023
Posts: 243
|
Quote:
Originally Posted by SNJUK2
You need lfo ,becouse if use PM lfo not possible save preset
|
Not sure I follow, can you translate that , saving presets works here with custom waves.
About the other issues, thanks for reporting, I'm also finding the same problem with guiro.wav, the CPU stays normal but editing the partials nothing happens, only thing I notice is that the wave is too big for FFT at 75Kb, still editing should work, will try to fix this and other issues you found. Thanks.
|
|
|
12-14-2023, 09:44 AM
|
#22
|
Human being with feelings
Join Date: Oct 2023
Posts: 243
|
Quote:
Originally Posted by SNJUK2
You need lfo ,becouse if use PM lfo not possible save preset
and why needed 31 bookmarks in harm/phase ?
and need global pitch
|
I understand now the lfo preset, the 31 slots for harm/phase is ceil( 1024 (FFT harmonics) / 34 (displayed harmonics) ) = 31 slots
Global pitch sure I got that request before aswell.
|
|
|
12-14-2023, 10:23 AM
|
#23
|
Human being with feelings
Join Date: Feb 2017
Location: Zhytomyr,Ukraine
Posts: 449
|
about lfo - its sound design
you make sound - need lfo (for example filter cutoff
How to make lfo at cutoff and then save synth preset?
Param Modulation lfo dont saved at preset
|
|
|
12-14-2023, 10:35 AM
|
#24
|
Human being with feelings
Join Date: Feb 2017
Location: Zhytomyr,Ukraine
Posts: 449
|
31 slots for harm/phase is ceil( 1024 (FFT harmonics) / 34 (displayed harmonics) ) = 31 slots
Sorry ,but i think its not user frendly
Its just my opinion. Thanks
|
|
|
12-14-2023, 10:43 AM
|
#25
|
Human being with feelings
Join Date: Oct 2023
Posts: 243
|
Quote:
Originally Posted by SNJUK2
about lfo - its sound design
you make sound - need lfo (for example filter cutoff
How to make lfo at cutoff and then save synth preset?
Param Modulation lfo dont saved at preset
|
Makes sense
Quote:
Sorry ,but i think its not user frendly
|
Agree, for less harmonics would have to truncate the harmonic count, if you look at serum for example it retains all harmonics, its not as user friendly as Operator but still think its good enough.
About the other problems I'm still struggling to figure out what causes them. Guess I'll need to understand the FFT library I'm using better to be able to debug.
|
|
|
12-14-2023, 11:39 AM
|
#26
|
Human being with feelings
Join Date: Oct 2023
Posts: 243
|
Fixed the problem with large wave files (eg. guiro-01.wav), will be uploaded next version.
The problem with no harm no sound is that there is residual harmonics in those waves it just does not show on the display, pressing ctrl+click on the harmonics removes all sound from the wave.
The third problem is when removing all harmonics except fundamental it does not produce a pure sine wave for some reason, not sure I can fix this.
|
|
|
12-14-2023, 02:26 PM
|
#27
|
Human being with feelings
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,784
|
Quote:
Originally Posted by tilr
It computes only when the wave changes,.
|
Perfect !
|
|
|
04-05-2024, 07:47 AM
|
#28
|
Human being with feelings
Join Date: Jul 2008
Posts: 48
|
Love the synth
But alas I'm not synth programmer 😅🤷♂️. Any presets any one can share for some of these synths?
|
|
|
Thread Tools |
|
Display Modes |
Linear Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -7. The time now is 06:16 PM.
|