Old 09-25-2014, 09:13 AM   #41
witti
Human being with feelings
 
witti's Avatar
 
Join Date: May 2012
Posts: 1,216
Default

Cool stuff ! Thanks !
witti is offline   Reply With Quote
Old 09-27-2014, 02:18 PM   #42
whiteaxxxe
Banned
 
Join Date: Jul 2014
Location: United States of Europe, Germany, Mönchengladbach
Posts: 2,047
Default

Quote:
Originally Posted by IXix View Post
I love it when nerds talk dirty.

bruhahaha ... :-))
whiteaxxxe is offline   Reply With Quote
Old 09-30-2014, 03:16 PM   #43
Smashed Transistors
Human being with feelings
 
Smashed Transistors's Avatar
 
Join Date: Jul 2014
Location: Là bas les huîtres (FR)
Posts: 424
Default

A short test/demo of the latest revision of the cXf synth.

Demo cXf synth rev07
(added delay & reverb, no phasing nor flanging, all sounds generated by the cXf synth).

Same core as rev02 but a lot more modulation sources (2 x ADSR, 2 x LFO with ramps and random generator), a second oscillator, better antialiasing, glide, morphing between presets, noise phase distorsion in the filter for dirty sounds...
And the internal oscillators can be replaced by the incoming signal... so that it works like a MIDI controlled effect.
Still i try to limit the number of sliders under 20:

__________________
JSFX plugins and synths. See you here and there: SoundCloud, Youtube, Google Play...

Last edited by Smashed Transistors; 01-28-2015 at 02:17 PM.
Smashed Transistors is offline   Reply With Quote
Old 10-01-2014, 05:52 AM   #44
IXix
Human being with feelings
 
Join Date: Jan 2007
Location: mcr:uk
Posts: 3,891
Default

Cool.
IXix is offline   Reply With Quote
Old 10-01-2014, 10:28 AM   #45
SaulT
Human being with feelings
 
Join Date: Oct 2013
Location: Seattle, WA
Posts: 876
Default

That is dope, I really dig it.
SaulT is offline   Reply With Quote
Old 10-01-2014, 01:39 PM   #46
Smashed Transistors
Human being with feelings
 
Smashed Transistors's Avatar
 
Join Date: Jul 2014
Location: Là bas les huîtres (FR)
Posts: 424
Default

3 voice polyphonic strings: a short test

This is my first attempt to do polyphony with "MIDI stacking".

It is an old trick from the hardware era, it consists in chaining instances of the same js effect.
The first processes and filters one note-on out of three
The second processes and filters one note-on out of two remaining
The last processes whatever remains
Code:
MIDI
    process        process        process
--> 1 out of 3 --> 1 out of 2 --> remains 

Audio
    calc voice1   calc voice2    calc voice3
--> Add to spl --> Add to spl --> Add to spl -->
Even if this is the easiest way to implement polyphony... as I play with it I found it has too many flaws.
The main one being that you have to set all the instances to the same setting...

much like the old Oberheim synth modules..
(http://www.synthmuseum.com/oberheim/obe4voice01.jpg)

The other main flaw being inappropriate voice stealing in many circumstances

So for the moment, I will focus to debugging/releasing this as a nice monosynth.

I will proceed with polyphony afterwards
__________________
JSFX plugins and synths. See you here and there: SoundCloud, Youtube, Google Play...

Last edited by Smashed Transistors; 10-01-2014 at 01:52 PM.
Smashed Transistors is offline   Reply With Quote
Old 10-01-2014, 01:51 PM   #47
SaulT
Human being with feelings
 
Join Date: Oct 2013
Location: Seattle, WA
Posts: 876
Default

Tale posted a way of doing this... IIRC it involved a round-robin of each note getting its own channel. I.e. the first note is on channel 1, the second note on channel 2, etc. Stack x number of effects and have each one listen to a different channel, but listen to all channels for note-offs.
SaulT is offline   Reply With Quote
Old 10-01-2014, 02:14 PM   #48
Smashed Transistors
Human being with feelings
 
Smashed Transistors's Avatar
 
Join Date: Jul 2014
Location: Là bas les huîtres (FR)
Posts: 424
Default

Quote:
Originally Posted by SaulT View Post
Tale posted a way of doing this... IIRC it involved a round-robin of each note getting its own channel. I.e. the first note is on channel 1, the second note on channel 2, etc. Stack x number of effects and have each one listen to a different channel, but listen to all channels for note-offs.
http://forum.cockos.com/showpost.php...87&postcount=7
Yes, I had a look to it (generally speaking Tale's work was a motivation for me to come back to jsfx).

I wanted it to be simpler by integrating it in the synth.
Eventually stacking/filtering is the same thing as round robin. Every unit receives one note-on out of three.

The problem with round-robin is that the older note on is stolen even if another note was released...
With high polyphony it may be OK, but i am dealing with 3 to 6 voices...
when a note is stolen, you hear it.
i will use a better method but it will be trickier to implement (already did it with a simplistic synth).

Anyway, the stack feature is already in the jsfx, it can be useful for punctual need of polyphony so i won't remove it.
__________________
JSFX plugins and synths. See you here and there: SoundCloud, Youtube, Google Play...

Last edited by Smashed Transistors; 10-01-2014 at 02:23 PM.
Smashed Transistors is offline   Reply With Quote
Old 10-01-2014, 02:51 PM   #49
Tale
Human being with feelings
 
Tale's Avatar
 
Join Date: Jul 2008
Location: The Netherlands
Posts: 3,653
Default

Quote:
Originally Posted by Smashed Transistors View Post
The problem with round-robin is that the older note on is stolen even if another note was released...
With high polyphony it may be OK, but i am dealing with 3 to 6 voices...
when a note is stolen, you hear it.
Yeah... BTW, I don't think I use round-robin anymore, but look up the next "free" MIDI channel.

Anyway, that strings demo sounds really good, very "organic".
Tale is online now   Reply With Quote
Old 10-01-2014, 04:05 PM   #50
Smashed Transistors
Human being with feelings
 
Smashed Transistors's Avatar
 
Join Date: Jul 2014
Location: Là bas les huîtres (FR)
Posts: 424
Default

Wow.. it's 1:00 in the morning. I've been experimenting with the IBlit vsti as an input to the cXf. Quite weird sounds.

Quote:
Originally Posted by Tale View Post
Yeah... BTW, I don't think I use round-robin anymore, but look up the next "free" MIDI channel.
Maybe i can do something similar with stacking but it won't be easy.

My other issue is to synchronise the sliders of all the units.
If i change a parameter on a unit, i'd like the others to be set the same way..

Maybe it is possible to design a "Master" unit that will control the others though sysex. I never tried to play with sysex in js...

Quote:
Originally Posted by Tale View Post
Anyway, that strings demo sounds really good, very "organic".
reverb helps...
i added an option that modulates the envelope time depending on the noteon velocity... I also played with the modulation wheel.
__________________
JSFX plugins and synths. See you here and there: SoundCloud, Youtube, Google Play...
Smashed Transistors is offline   Reply With Quote
Old 10-04-2014, 07:05 AM   #51
Smashed Transistors
Human being with feelings
 
Smashed Transistors's Avatar
 
Join Date: Jul 2014
Location: Là bas les huîtres (FR)
Posts: 424
Default

Here is the last stable release.
Will write some tutorial stuff soon.

CXF synth rev09
Feature update:

Added time factor/vel sensitivity to ADSR
Aux oscillator mix is now modulated
External input
- can be used as a MIDI controlled effect.
- select Auxiliary Osc Ratio / Source
- External: the external signal is processed by the cXFilter
- Ring mod External: the external signal is ring modulated and
processed by the cXFilter

cXFilter
- some new noise modulated presets.
- "morphing" between two presets
- 15 modulation sources available for "morphing" (ADSR/lfo...)
Frequency shifter
- coupled with the pitch bend and note pitch
- presets for simplified operation

LFO and VLFO
- LFO : "fast" from 0.1 to 40Hz
- VLFO: "slow" from 0.125s to 32s
- sine/ramp/inv ramp/random
- modWheel controlled vibrato
Glide
- presets
- separate glide effect for aux oscillator for dissonant transients

MIDI stack
- polyphony by stacking (equivalent to round robin)
- set 5 instances in a track
- set them to the same preset
- the first in the chain must have "MIDI Stack 5" as Glide/MIDI stack
- the second, must have "MIDI Stack 4"
- ..
- the fifth must have "MIDI Stack 1"
- the first in the chain (ex Stack5) is the MASTER :
if you tweak its sliders it will send sysex to its slave.
(if you want to automate sliders you only need to automate
the masters sliders).
__________________
JSFX plugins and synths. See you here and there: SoundCloud, Youtube, Google Play...

Last edited by Smashed Transistors; 10-04-2014 at 08:28 AM.
Smashed Transistors is offline   Reply With Quote
Old 10-04-2014, 08:24 AM   #52
IXix
Human being with feelings
 
Join Date: Jan 2007
Location: mcr:uk
Posts: 3,891
Default

Very cool!

edit: but the link is broken... (in your sig too)

Last edited by IXix; 10-04-2014 at 08:31 AM.
IXix is offline   Reply With Quote
Old 10-04-2014, 08:29 AM   #53
Smashed Transistors
Human being with feelings
 
Smashed Transistors's Avatar
 
Join Date: Jul 2014
Location: Là bas les huîtres (FR)
Posts: 424
Default

Quote:
Originally Posted by IXix View Post
Very cool!

edit: but the link is broken...
Just fixed it
__________________
JSFX plugins and synths. See you here and there: SoundCloud, Youtube, Google Play...
Smashed Transistors is offline   Reply With Quote
Old 10-04-2014, 08:43 AM   #54
witti
Human being with feelings
 
witti's Avatar
 
Join Date: May 2012
Posts: 1,216
Default

Yeah, thank you !

It seems that it's only outputting some sound when you press play in reaper.
Is that intended ?

Cheers
witti
witti is offline   Reply With Quote
Old 10-04-2014, 09:10 AM   #55
Smashed Transistors
Human being with feelings
 
Smashed Transistors's Avatar
 
Join Date: Jul 2014
Location: Là bas les huîtres (FR)
Posts: 424
Default

Hello Witti
No, that's not intended at all...


i can't figure out why it happens.
Maybe some optimisation on the Reaper side that shuts up the JS effects while it is not playing.
Maybe there is a way to tell Reaper that this is a synth ?

As far as i can tell, i don't know, i browsed all the options/Preferences but i didn't find something.

For the moment, i just set a void loop and let reaper play while i tweak the presets.
__________________
JSFX plugins and synths. See you here and there: SoundCloud, Youtube, Google Play...
Smashed Transistors is offline   Reply With Quote
Old 10-04-2014, 09:24 AM   #56
witti
Human being with feelings
 
witti's Avatar
 
Join Date: May 2012
Posts: 1,216
Default

First i looked if you've added something like 'play_state'... hope you are investigating further... Cool stuff, as i already said !
witti is offline   Reply With Quote
Old 10-04-2014, 11:12 AM   #57
Smashed Transistors
Human being with feelings
 
Smashed Transistors's Avatar
 
Join Date: Jul 2014
Location: Là bas les huîtres (FR)
Posts: 424
Default

Quote:
Originally Posted by witti View Post
First i looked if you've added something like 'play_state'... hope you are investigating further... Cool stuff, as i already said !
Added pin_in and pin_out... doesn't changed anything. :-/
__________________
JSFX plugins and synths. See you here and there: SoundCloud, Youtube, Google Play...
Smashed Transistors is offline   Reply With Quote
Old 10-05-2014, 01:36 AM   #58
witti
Human being with feelings
 
witti's Avatar
 
Join Date: May 2012
Posts: 1,216
Default

Has it to do with the gate thingy in the TiaR_KBD_03.jsfx-inc file ?
witti is offline   Reply With Quote
Old 10-05-2014, 02:24 PM   #59
Smashed Transistors
Human being with feelings
 
Smashed Transistors's Avatar
 
Join Date: Jul 2014
Location: Là bas les huîtres (FR)
Posts: 424
Default Found the Bug :)

Thanks for your debbug help witti.

I found it: i forced expression to zero when the plug received an all notes off signal... and reaper sends an all notes off when it stops !!

I updated the stash. https://stash.reaper.fm/21993/TiaR_CXF_synth_09.zip

Sorry for the bug.
BTW it doesn't work with ReaJS since i use midirecv_buf.. all idea are welcome (i like to use reaJS along with SAVIHost to have standalone synths)
__________________
JSFX plugins and synths. See you here and there: SoundCloud, Youtube, Google Play...

Last edited by Smashed Transistors; 10-05-2014 at 03:03 PM.
Smashed Transistors is offline   Reply With Quote
Old 10-06-2014, 01:31 PM   #60
Smashed Transistors
Human being with feelings
 
Smashed Transistors's Avatar
 
Join Date: Jul 2014
Location: Là bas les huîtres (FR)
Posts: 424
Default

Just uploaded it to the stash. It's still basic but i plan to update it from time to time.
A short user guide to the cXf synth rev09
__________________
JSFX plugins and synths. See you here and there: SoundCloud, Youtube, Google Play...
Smashed Transistors is offline   Reply With Quote
Old 10-09-2014, 01:59 PM   #61
Smashed Transistors
Human being with feelings
 
Smashed Transistors's Avatar
 
Join Date: Jul 2014
Location: Là bas les huîtres (FR)
Posts: 424
Default

Here is the cXf synth "deluxe". It is the same as before with x4 oversampling. Very low aliasing, higher CPU.
__________________
JSFX plugins and synths. See you here and there: SoundCloud, Youtube, Google Play...
Smashed Transistors is offline   Reply With Quote
Old 10-09-2014, 02:05 PM   #62
IXix
Human being with feelings
 
Join Date: Jan 2007
Location: mcr:uk
Posts: 3,891
Default

Thanks! All my spare time is being eaten by DIY so I haven't had time to play with the synth yet but I'm looking forward to trying it when I get my life back.
IXix is offline   Reply With Quote
Old 10-11-2014, 04:01 PM   #63
Smashed Transistors
Human being with feelings
 
Smashed Transistors's Avatar
 
Join Date: Jul 2014
Location: Là bas les huîtres (FR)
Posts: 424
Default

Have a great DIY week end IXix ;-)

Here is a short demo of the "deluxe"(x4 oversampled) edition. I think the bass sounds is more "punchy" than what i formerly had.
__________________
JSFX plugins and synths. See you here and there: SoundCloud, Youtube, Google Play...
Smashed Transistors is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 12:01 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.