New machine: Snowglobe Channel Surfer (was MIDI Manager)

snowglobe
Posts: 356
Joined: Wed Nov 23, 2011 12:36 pm

New machine: Snowglobe Channel Surfer (was MIDI Manager)

Post by snowglobe »

MIDI Manager is now redacted and replaced with Channel Surfer, which requires the SnowglobeCore library
download (Updated 2014/11/24)

updates
2014-12-6B ** toggle target machines on and off from pattern
2014-12-6 ** global note, global trigger, track trigger (suggestions welcome for what the track triggers do)
2014-11-27 ** sequential n-sized groups mode; rearrange targets via drag-drop and alpha-sort options
2014-11-26 ** probabilistic reset for sequential counter, bugfixes
2014-11-25 ** default track velocity and humanization sliders display values again

**************************
Snowglobe Channel Surfer
**************************
Tagline: Channanigans for fun and profit!

Basic idea: take notes from MIDI-in or patterns and scatter them back out on various MIDI channels any old which way you like.

Caution! Until this line disappears, consider this a (possibly buggy) beta release (so might be subject to major revisions without regard to considerations of backward compatibility).

<insert standard disclaimer about free software here>

Drop SnowGlobe Channel Surfer.NET.dll and SnowglobeCore.dll into your Generators folder
(if you're upgrading from an old version, be sure to replace the old SnowglobeCore as well)

No audio or peer output, just MIDI.

Nothing to connect. Choose one or more target machines from the list (right-click anywhere in the list for show-hide options).

Fire notes via pattern and/or use notes from MIDI-in.

All input via Midi in is processed using global settings.

Each track parameter can obey its corresponding global setting or implement track-specific values.

Hush button sends an all-notes-off message to all targets in the pool.
Hold button prevents note-offs from being sent ('Sustain' was too long for the space ;p).

---------------------------------------------
Parameters and Settings
---------------------------------------------

"In" channel check boxes (one for each channel): triggers arriving via MIDI In are ignored if received on a disabled channel

"Out" channel toggle buttons: select a "channel pool" to be used in any sleight-of-channel maneuvers

== Channel Selection Modes ===
*All -> output will be sent to every selected target
*Random Single -> one channel will be selected at random
*Random Multi -> one or more channels will be selected at random
*Sequential -> step through selected channels one-by-one as notes are fired/received
*Sequential by n -> step through channels n-by-n
*Take exactly n -> randomly choose exactly n channels from the pool
*0 to n -> randomly select between 0 and n channels
*1 to n -> randomly select between 1 and n channels
*At least n -> randomly select between n and 16 channels
*Global -> obey the global setting

n-value: used by selection mode (if needed)
Reset Probability: percent-wise probability that the sequential counter will reset to 0.

== Honor MIDI Channel Filters ==
*On -> output will only be sent to a target if the channel is a match for the target's MIDI In Channel setting.
*Off -> MIDI In Channel settings are disregarded.

== Offsets, Humanization, and Global Channel ==
*Octave Offset -> transpose all output by specified amount
*Semitone Offset -> same as Octave, except at semitone granularity
*Velocity Offset -> boost or lower velocity of all output by the specified amount
*Velocity Humanization Range -> +/- range within which velocity might be randomly adjusted
*Default Track Velocity -> used by tracks with no explicit velocity settings or with velocity set 0
*Track Channel / Global Channel -> IGNORED

==Delay Stuff==
*Delay (amount) -> 0 to 255
*Delay Mode -> p=100%, p=90%, p=80%, p=70%, p=60%, p=50%, p=40%, p=30%, p=20%, p=10%, range 0 to value, use global
*Delay Unit -> subtick, tick, millisecond, beat/128, beat/64, beat/32, beat/16, beat/8, beat/4, beat/3, beat/2, beat, use global

== Track-Specific Settings Having no Global Counterpart ==
*Probability (0 - 100) -> percent-wise chance that current and subsequent notes on the track will fire
*Cut Mode:
1. auto -> new notes in the track cut off old ones
2. off all -> 'off' kills all notes currently sounding via track
3. off oldest -> 'off' kills the oldest currently sounding note
4. off newest -> 'off' kills the most recent note

Please direct any questions / report any bugs to snowglobe on the Buzz forum (forums.jeskola.net)
Last edited by snowglobe on Sun Dec 07, 2014 12:38 am, edited 19 times in total.
esp81
Posts: 139
Joined: Mon Jun 17, 2013 2:44 am

Re: New machine: Snowglobe MIDI Manager

Post by esp81 »

This is very cool, I'm having a lot of fun with it already. Thanks Snowglobe!

A note probability command for each row/column in a pattern (like polac vst or matilde tracker) would make this thing create some incredibly complex patterns!
Is there any chance you could have option to use more than +/- 15 on velocity humanization? Maybe a range slider?
Could you add an option to cut the previous note when a new note is triggered in a note column? Right now the notes will keep sustaining if you don't add note-offs..I'm not sure if that's intentional or not, I suppose it may actually be useful in certain cases.
snowglobe
Posts: 356
Joined: Wed Nov 23, 2011 12:36 pm

Re: New machine: Snowglobe MIDI Manager

Post by snowglobe »

esp81 wrote:This is very cool, I'm having a lot of fun with it already. Thanks Snowglobe!
:dance:
A note probability command for each row/column in a pattern (like polac vst or matilde tracker) would make this thing create some incredibly complex patterns!
Feel like I should have thought of this myself.
Is there any chance you could have option to use more than +/- 15 on velocity humanization? Maybe a range slider?
Another good idea.
Could you add an option to cut the previous note when a new note is triggered in a note column? Right now the notes will keep sustaining if you don't add note-offs..I'm not sure if that's intentional or not, I suppose it may actually be useful in certain cases.
Definitely by design, but it's easy enough to add a yes-no column so you can turn auto-cut behavior on and off.
User avatar
IXix
Posts: 1113
Joined: Wed Nov 23, 2011 3:24 pm

Re: New machine: Snowglobe MIDI Manager

Post by IXix »

Sounds cool. 8-)
snowglobe
Posts: 356
Joined: Wed Nov 23, 2011 12:36 pm

Re: New machine: Snowglobe MIDI Manager

Post by snowglobe »

IXix wrote:Sounds cool. 8-)
:) (Thanks again for all the "how to get started" advice you gave me way back when, man)
rav
Posts: 140
Joined: Fri Sep 14, 2012 3:35 pm

Re: New machine: Snowglobe MIDI Manager

Post by rav »

Simple one bar pattern with 3 generators gave me very cool effect. Great idea :>

Try to reload file, where parameter window of SMM is closed. Playing pattern doesn't send any MIDI signals to machines. You need to open it to tell which machines are selected.

Would be nice to have this offset params not only globally, but per track too, if it's not overstatement.
It definitely lacks delay parameter and features related to it. :p
mridlen
Posts: 432
Joined: Sun Apr 15, 2012 8:55 am
Contact:

Re: New machine: Snowglobe MIDI Manager

Post by mridlen »

So... how do you hook it up exactly? I've been poking around at it, but I can't get any machines to populate in the list. I've set midi channels like on the video.

It seems to be working... but the text is not populating in the list. It's just showing up as little invisible bars I can click on.
User avatar
tinga
Posts: 526
Joined: Tue Nov 22, 2011 5:25 pm

Re: New machine: Snowglobe MIDI Manager

Post by tinga »

Great, it make the thing more clear for midi, I will use mostly the random midi channel, i like it, add IX_Split for more fun with all generators.
snowglobe
Posts: 356
Joined: Wed Nov 23, 2011 12:36 pm

Re: New machine: Snowglobe MIDI Manager

Post by snowglobe »

"esp81 update":
  • auto_cut option (on by default)
    probability parameter for notes
    humanization range slider instead of checkbox
    revised demo.bmx that uses the new probability parameter
rav wrote: Try to reload file, where parameter window of SMM is closed. Playing pattern doesn't send any MIDI signals to machines. You need to open it to tell which machines are selected.
Should be fixed now.
rav wrote: Would be nice to have this offset params not only globally, but per track too, if it's not overstatement.
I kind of want this, too. In fact, I implemented it, but there are issues on the pattern view side of things that made me take it back out. It could end up back in, though.
rav wrote: It definitely lacks delay parameter and features related to it. :p
Seems like when you're tracking you just place the note-ons where you want them. Are you thinking in terms of recording? Tell me more. (humanization-like delay range could be interesting)
mridlen wrote:the text is not populating in the list. It's just showing up as little invisible bars I can click on.
Weird. Anybody? Bueller?
snowglobe
Posts: 356
Joined: Wed Nov 23, 2011 12:36 pm

Re: New machine: Snowglobe MIDI Manager

Post by snowglobe »

tinga wrote:Great, it make the thing more clear for midi, I will use mostly the random midi channel, i like it, add IX_Split for more fun with all generators.
I thought you might enjoy the channel shenanigans, my friend (and there's some more stuff coming down the pike that may be of even more interest to you).
esp81
Posts: 139
Joined: Mon Jun 17, 2013 2:44 am

Re: New machine: Snowglobe MIDI Manager

Post by esp81 »

Thanks for the update! I'm getting some strange behavior with the probability command, where sometimes a note won't trigger even when probability is set to 100, and sometimes it does trigger when set to 0. Everything else is working perfectly though.
snowglobe
Posts: 356
Joined: Wed Nov 23, 2011 12:36 pm

Re: New machine: Snowglobe MIDI Manager

Post by snowglobe »

esp81 wrote:Thanks for the update! I'm getting some strange behavior with the probability command, where sometimes a note won't trigger even when probability is set to 100. Everything else is working perfectly though.
Duh (he said to himself). Try it now that I've moved the note column to the right of probability.
esp81
Posts: 139
Joined: Mon Jun 17, 2013 2:44 am

Re: New machine: Snowglobe MIDI Manager

Post by esp81 »

It's working perfectly now, I'm getting some really amazing results. :shock:
rav
Posts: 140
Joined: Fri Sep 14, 2012 3:35 pm

Re: New machine: Snowglobe MIDI Manager

Post by rav »

snowglobe wrote:
mridlen wrote:the text is not populating in the list. It's just showing up as little invisible bars I can click on.
Weird. Anybody? Bueller?
I've had this issue, too. Are you using custom theme? Is it strobotone's simplon maybe? :) I like it the most, because it adds some extra functionality, but looks like it needs some updates... Try default theme instead.
snowglobe wrote:
rav wrote: It definitely lacks delay parameter and features related to it. :p
Seems like when you're tracking you just place the note-ons where you want them. Are you thinking in terms of recording? Tell me more. (humanization-like delay range could be interesting)
Sure, but what if you want to add some notes imperfectly embedded in timeline?
Recording would be nice feature, random delay like velocity humanization, also.
I was thinking about swing control possibility. Something like in jeskola arpeggiator, but for adding groove to pattern/track (output MIDI?) would be super awesome.

Thanks for the update.
cheers 8-)
mute
Posts: 417
Joined: Mon Nov 21, 2011 8:30 pm

Re: New machine: Snowglobe MIDI Manager

Post by mute »

havent had a chance to use this yet, but it looks extremely cool and i look forward to trying it out this weekend.
User avatar
bomgaroto
Posts: 22
Joined: Thu Dec 22, 2011 7:44 pm

Re: New machine: Snowglobe MIDI Manager

Post by bomgaroto »

Red "CRASHED" label on machine as soon as it is added.

I have the DLL in my Generators folder and using Buzz version 1498 (x86) on Windows 7 Professional, .NET installed, updated, all other machines, songs, etc. working fine.

Anyone having the same issue?

The idea is great, i'm agog to try it. So any help greatly appreciated. Will keep trying in the meantime.

Cheers!
snowglobe
Posts: 356
Joined: Wed Nov 23, 2011 12:36 pm

Re: New machine: Snowglobe MIDI Manager

Post by snowglobe »

I'll upload a new build later that might solve it for you
Done.
(no new features or anything - just disabled the calls that I think might be causing your issue - let me know!).
User avatar
bomgaroto
Posts: 22
Joined: Thu Dec 22, 2011 7:44 pm

Re: New machine: Snowglobe MIDI Manager

Post by bomgaroto »

Couldn't make it work. Clean Buzz install (1498) solved the issue though. Sorry I missed your patch.
It is working perfectly now.

It is a great machine! Thanks!
snowglobe
Posts: 356
Joined: Wed Nov 23, 2011 12:36 pm

Re: New machine: Snowglobe Channel Churner (was MIDI Manage

Post by snowglobe »

Snowglobe MIDI Manager is now redacted in favor of Snowglobe Channel Surfer (SnowglobeCore library required).
Last edited by snowglobe on Wed Nov 26, 2014 8:49 am, edited 1 time in total.
rav
Posts: 140
Joined: Fri Sep 14, 2012 3:35 pm

Re: New machine: Snowglobe Channel Surfer (was MIDI Manager

Post by rav »

In some channel select modes, like random single and sequential. Window pops with information about division by zero, if no outs are selected.
Sometimes it's possible to trigger not selected output. For example, if n = 0 on modes "take exactly n" and "1 to n". Is it intentional, to act like that?

This update unfortunately introduces some bugs:
- sequencing sometimes go right, sometimes left, sometimes in queues like this: 1, 3, 2, 4, 5, 7, 6 (after some changes it goes random also),
- output channels are not always visualized by red dot,
- sometimes some notes are omitted randomly.

Anyway, it was fun to play.
Btw, is it possible to move SnowglobeCore to folder or outside the generators to the Gear folder, like other not loadable modules in buzz?
Post Reply