Support

If you have a problem or need to report a bug please email : support@dsprobotics.com

There are 3 sections to this support area:

DOWNLOADS: access to product manuals, support files and drivers

HELP & INFORMATION: tutorials and example files for learning or finding pre-made modules for your projects

USER FORUMS: meet with other users and exchange ideas, you can also get help and assistance here

NEW REGISTRATIONS - please contact us if you wish to register on the forum

How Can I Split MIDI Channels

For general discussion related FlowStone

How Can I Split MIDI Channels

Postby JWP » Sat May 30, 2020 11:01 am

In relation to the request made on the Facebook group, I'm asking the question here as well.

How can I split MIDI channels to control a voice algorithm per channel.

I've tried intercepting a splitter and event:
MIDIChannel.png
MIDIChannel.png (46.48 KiB) Viewed 20041 times

and the scheme here:
DSP Robotics Support Forum: Process MIDI data?

Both seem to do nothing to effect the output downstream.

I've also been messaging Nix who says it has to be ruby coded, which is doable. Any suggestions for Ruby online campuses?

My goal is a MIDI guitar synth, which has each string as a channel. The big barrier here is the pitch bend per string. Most synths and samplers (with a single timbre) only have one pitch bender and dumps all the pitch bends across the played notes; which makes for a wrong and unrealistic performance.

I started a project in SynthEdit to realize this dream but 64bit doesn't allow for channels and recording pitch bend data internally to a parameter is not possible at this time; in fact, recording a single pitch bend's data internally is not possible at this time, as far as I can determine:
SynthEdit@Groups.io: #bug Using "Bender" from The "Assign Controller" Menu Crashes Builds
SynthEdit@Groups.io: #Bug #MIDI 64bit Plug-ins Are Only Receiving MIDI Channel 1
SynthEdit@Groups.io: How Can I Record Pitch Bend Data?

The only work around I have is to bring in 6 "MIDI Outs" (FL Studio) and link each pitch bend channel to each pitch bender, but then the notes are spread across multiple Channels/Piano rolls.

This is also only a workaround for FL Studio, I prefer to conceptualize compositions in Tracktion's Waveform, as it has the ability to change the root, key, and mode for the whole composition on the fly.

I also use Cubase but that's mostly for vocal processing.

I've attached a very simple schematic that has the selector intercepting a splitter and event, with a single oscillator downstream. This is as far as I made it after watching a few youtube videos and poking around the manual.

I know, I have to read the manual! :D

Thanks for any consideration.
Attachments
Multi-Channel.fsm
(18.64 KiB) Downloaded 1060 times
JWP
 
Posts: 22
Joined: Wed May 27, 2020 1:26 am

Re: How Can I Split MIDI Channels

Postby kortezzzz » Sun May 31, 2020 1:06 pm

Hi,
didn't understood what is your most final goal. You'd like to stream the midi channels to some outsider channel in the DAW to power other vsti or you just wanna keep the stream internal to power your own synth?

And which version of Flowstone you used for this example? It doesn't get opened with 3.0.6 version.
User avatar
kortezzzz
 
Posts: 763
Joined: Tue Mar 19, 2013 4:21 pm

Re: How Can I Split MIDI Channels

Postby JWP » Sun May 31, 2020 1:23 pm

The basic outline of the algorithm is:
6 channel selectors/splitters splitting 6 of the channels of incoming MIDI data to a separate oscillator with pitch bend data as a automate able parameter.

Alpha 2782
JWP
 
Posts: 22
Joined: Wed May 27, 2020 1:26 am

Re: How Can I Split MIDI Channels

Postby tulamide » Sun May 31, 2020 3:17 pm

I'm focusing on the bare basics here, and tell things that you probably know. But I want us to talk about the same things, so let's find the common ground.

1) Every Flowstone plugin has a midi input.
2) Which channel this midi in stream represents, is determined by the DAW.
3) You can create a plugin that provides 6 midi inputs (actually any number, but here for the 6 strings), but the DAW must be able to handle multiple inputs per plugin
4) Which channel is used per input is determined by the DAW.

What you will never have is one midi input that carries 6 different midi channels in parallel. In serial progression it would be possible, but that defeats the purpose here.
"There lies the dog buried" (German saying translated literally)
tulamide
 
Posts: 2687
Joined: Sat Jun 21, 2014 2:48 pm
Location: Germany

Re: How Can I Split MIDI Channels

Postby JWP » Sun May 31, 2020 8:56 pm

Figured out an algorithm, thanks.
JWP
 
Posts: 22
Joined: Wed May 27, 2020 1:26 am

Re: How Can I Split MIDI Channels

Postby Spogg » Mon Jun 01, 2020 8:20 am

JWP wrote:Figured out an algorithm, thanks.


I can’t add anything to what tulamide said, but I would really like to see what you come up with.

Cheers

Spogg
User avatar
Spogg
 
Posts: 3323
Joined: Thu Nov 20, 2014 4:24 pm
Location: Birmingham, England

Re: How Can I Split MIDI Channels

Postby JWP » Mon Jun 01, 2020 2:00 pm

Thanks for the interest Spogg. I got a long way to go.
JWP
 
Posts: 22
Joined: Wed May 27, 2020 1:26 am

Re: How Can I Split MIDI Channels

Postby ErvSoft » Thu Jan 14, 2021 7:43 am

I managed to do a midi separation by input channels with Flowstone version 3.0.6, however I have another scheme with the same structure in the same version and it is not working, I attach the first scheme that works:

I tested it with SpringBeatsvMIDI to virtually communicate Flowstone with Fl Studio and thus test the channels
Attachments
4 osc Midi Split.fsm
4 osc midi channels Split - FlowStone v3.0.6
(96.39 KiB) Downloaded 860 times
User avatar
ErvSoft
 
Posts: 31
Joined: Sun Jul 31, 2016 11:59 pm
Location: Chile

Re: How Can I Split MIDI Channels

Postby JWP » Fri Jan 15, 2021 7:11 am

That's interesting!

Way cleaner than what I have, I haven't tested yours yet.

I've been spending most of my time in SynthEdit after hitting a wall in Flowstone. Currently -in Synthedit- I'm looking at anti-aliasing distortion techniques. All the distortion type modules by default have aliasing, and I'm just now finding out. I imagine the same techniques applied to Flowstone will yield the same result.
The main idea is to not oversample and keep latency off the table, but it looks like it's the only way, then again Flowstone has Ruby and Assembler.

I've been fiddling with phase cancellation but it's not happening and I'm done!

Interesting to see one of my threads float back up, I'll have to start scaling that wall again.

Thanks. :D
JWP
 
Posts: 22
Joined: Wed May 27, 2020 1:26 am

Re: How Can I Split MIDI Channels

Postby ErvSoft » Wed Jan 20, 2021 11:27 pm

@JWP I have worked with synthedith for many years, it was my first development software, and there I learned many things too, that I have been able to apply methodically in FS as well,

JWP wrote:Currently in Synthedit, I am looking for anti-aliasing distortion techniques. All the default distortion type modules are aliased, and now I'm figuring it out.


for antialising on both SE and FS, you can try a low or medium pass filter or a Smooth (De-Zip) and experiment somewhere in the chain,

I imagine the same techniques applied to Flowstone will produce the same result.


the truth, each program has its virtues, and sometimes what is learned in one, can be applied in another, the schematic methods can serve to enrich and simplify the logical way of elaborating them,
just to think that it took me 3 years to understand and learn FS to start developing serious projects in it, you can see that everything is possible,
I love how graphic it is and that makes things much easier for me, and also saves me a lot of time, and that is important,
has the support of the members, so we help each other overcome those walls :ugeek:
User avatar
ErvSoft
 
Posts: 31
Joined: Sun Jul 31, 2016 11:59 pm
Location: Chile


Return to General

Who is online

Users browsing this forum: No registered users and 42 guests