 |
|
|
01-28-2012, 12:48 AM
|
#1
|
Human being with feelings
Join Date: Jul 2006
Posts: 626
|
arp!0 - groovy midi arp
hello all!
here is my first major jump into Js scripting. big fun for me! hope it's useful.
the quick reference has gotten too big for a forum post, but can be found in arpbangzero_documentation.pdf in the zip. here are the feature list and some very important credits:
Code:
arp!0 noteable features:
- independent length for each control sequence. parameter polyrhythms!
- all real-time controls visible at once. change anything immediately.
- expandable control grids for even more immediacy!
- accent and offset sequences can create cool rhythmic grooves.
- step length and voices sequences for uneven, chordal arpeggios.
- step type sequence for quick changes to input note order.
- variants for quick change arps with mouse or midi program changes.
- user definable sort transforms rearrange input notes in unique ways.
- syncs to the beat when the host is playing or recording.
- plays in time as settings change, and through variant & preset changes!
- all arp parameters saved in Reaper presets.
- real-time display of active notes, played notes, and current steps.
- pronounced "arp!-oh" (the bang is silent :^)
___
credits:
first and formost, highest praise and thanks to Justin Frankel and
the Cockos team for Jesusonic, the audio/midi hacker's paradise. it is
*so* cool to be able to create & customize fx plugins that integrate
with the Reaper ecosystem. heya! hey!
arp!0 was largely inspired by the arpeggiator in Urs Heckmann's amazing
Zebra2 software synthesizer, <http://www.u-he.com/cms/zebra>, and by the
many cool arp presets available for Zebra. in addition to the powerful
step and voices options, the way the entire Zebra arp is visible and
accessible makes it exceptionally *useable*. i wanted this useability
with other softsynths, and also the option to record and postprocess arp
output.
i have wanted the groovy accent and offset features for a long time.
seeing these realized in Arto Vaarala's Kirnu arp was inspiring. Kirnu
has many unique capabilities of its own:
<http://www.artovaarala.com/index.html>.
the arp!0 user interface mostly grew out of the natural possibilities of
the Jesusonic graphics api. but a major inspiration for the clean, flat
look are Sean Costello's beautiful interfaces for his awesome ValhallaDSP
fx: <http://www.valhalladsp.com/>.
a quick heyah! to sound design craftsman Michael Cavallo, who's marvelously
mutable mc Percaluptus Zebra preset was good company as i developed
arp!0. Michael's Zebra soundbanks are great, and his arp patches are
especially luminous: <http://www.monomo-sounddesign.com/>.
finally, all praise and honor to **** O'Riley and all the rhythmic synth
pioneers. we stand on the shoulders of giants in this teenage wasteland.
stash download page here.
i've also uploaded a companion midi arp controller Js here. much smaller effort, but still big fun.
i would greatly appreciate testing and feedback. one person's perspective is just so limited.
anywho, thanks for your consideration, and...
enjoy! /dan
ps- one more screenshot, since the settings pane has become more significant. but "that's all folks!" - just two panes:
pps- well, ok: two more screenshots. :^) pretty colors:
Last edited by Jeffos; 05-24-2013 at 07:52 AM.
Reason: title changed following bang request
|
|
|
01-28-2012, 03:29 AM
|
#2
|
Human being with feelings
Join Date: Jan 2008
Posts: 1,257
|
Absolutely fantastic.
Very musical in use. Works like a sequencer as well.
Brilliant. Love this arp.
More adjustment to the length of note would be good.
Cant seem to save presets though, i get transpose down an octave on all steps, gate zero voices zero.
Using windows 7 64.
__________________
Music is the best
เพลง ที่ดีที่สุดคือ
Last edited by zappadave; 01-28-2012 at 03:55 AM.
|
|
|
01-28-2012, 03:40 AM
|
#3
|
Human being with feelings
Join Date: Feb 2006
Location: decepticon mothership in a hidden place inside a mountain
Posts: 3,717
|
Oooh : excellent ! Thank you !
The best arps all came from Reaper users ! :P (i'm thinking Kirnu and Argee's JSArp, and now this one, with a nice skin)
THanks a lot, very much appreciated
|
|
|
01-28-2012, 03:48 AM
|
#4
|
Human being with feelings
Join Date: Feb 2006
Location: decepticon mothership in a hidden place inside a mountain
Posts: 3,717
|
By the way, are you up for some FR ?
I haven't tried it yet, but a couple of things come to mind :
- please consider adding "3" as octave ;
- Is it possible to change all the gate values at once, or do we need to edit them all individually ?
This thinkg looks very promising
Ah, i don't know if you plan to make some more Midi JS Plugins, but i am after a simple (but a bit advanced) step seq to play quickly with "hardware stepseq alike" sequences (think Korg SQ-10 & alikes).
I am enjoying the free Rozzer StepMachine plugin, but it is a bit buggy and crashes quite often. Sadly, it is not supported anymore, so i'm stuck with it, and still use it at the price of unstability...
So, would you have any plan to program a similar JS plugin ?
|
|
|
01-28-2012, 05:17 AM
|
#5
|
Human being with feelings
Join Date: Jan 2007
Location: mcr:uk
Posts: 3,842
|
Cool! Looking forward to trying this one out.
|
|
|
01-28-2012, 05:50 AM
|
#6
|
Human being with feelings
Join Date: Jan 2007
Location: mcr:uk
Posts: 3,842
|
Excellent work, especially the GUI. After a quick play around, my sole disappointment is that the settings aren't automatable. Any chance you could expose the controls to REAPER with hidden sliders?
|
|
|
01-28-2012, 10:58 AM
|
#7
|
Human being with feelings
Join Date: Jul 2006
Posts: 626
|
Quote:
Originally Posted by zappadave
Absolutely fantastic.
Very musical in use. Works like a sequencer as well.
Brilliant. Love this arp.
More adjustment to the length of note would be good.
Cant seem to save presets though, i get transpose down an octave on all steps, gate zero voices zero.
Using windows 7 64.
|
oh yeah. should have mentioned that preset save/recall is broken in Reaper 4 < v4.16pre2.
|
|
|
01-28-2012, 11:04 AM
|
#8
|
Human being with feelings
Join Date: Jul 2006
Posts: 626
|
Quote:
Originally Posted by sinkmusic
By the way, are you up for some FR ?
I haven't tried it yet, but a couple of things come to mind :
- please consider adding "3" as octave ;
|
probably doable. i'm going to let the dust settle just a bit before an update. i'd like to get some sort of consensus on what changes are best.
Quote:
Originally Posted by sinkmusic
- Is it possible to change all the gate values at once, or do we need to edit them all individually ?
|
use shift when selecting a new value for the leftmost gate slider. shift-clicking generally sets values for everything right of the item clicked.
Quote:
Originally Posted by sinkmusic
Ah, i don't know if you plan to make some more Midi JS Plugins, but i am after a simple (but a bit advanced) step seq to play quickly with "hardware stepseq alike" sequences (think Korg SQ-10 & alikes).
I am enjoying the free Rozzer StepMachine plugin, but it is a bit buggy and crashes quite often. Sadly, it is not supported anymore, so i'm stuck with it, and still use it at the price of unstability...
So, would you have any plan to program a similar JS plugin ?
|
no immediate plans for new plugins i'm afraid. i'll check out StepMachine out though.
Last edited by bang; 01-28-2012 at 11:12 AM.
|
|
|
01-28-2012, 11:12 AM
|
#9
|
Human being with feelings
Join Date: Jul 2006
Posts: 626
|
Quote:
Originally Posted by IXix
Excellent work, especially the GUI. After a quick play around, my sole disappointment is that the settings aren't automatable. Any chance you could expose the controls to REAPER with hidden sliders?
|
oh! so *that's* why i've seen invisible sliders! :^) thanks for the info, IXix. will definately do this one way or another. but what needs to be automatable? there are 144 grid values, which seems a bit much? maybe everything except that, but including sequence lengths and play positions?
|
|
|
01-28-2012, 11:46 AM
|
#10
|
Human being with feelings
Join Date: Jan 2007
Location: mcr:uk
Posts: 3,842
|
Quote:
Originally Posted by bang
but what needs to be automatable?
|
Anything that reasonably could be. Order, sync, swing, octaves, channel and play-state all look like likely candidates. Anything else where feasible (but I suspect it's mostly not).
Edit: Oh and definitely GUI colour scheme. That's a must.
|
|
|
01-28-2012, 12:03 PM
|
#11
|
Human being with feelings
Join Date: Aug 2009
Location: Sweden
Posts: 1,347
|
|
|
|
01-28-2012, 12:03 PM
|
#12
|
Human being with feelings
Join Date: Jan 2007
Location: mcr:uk
Posts: 3,842
|
Is the swing control supposed to react to mouseover when the button isn't pressed?
|
|
|
01-28-2012, 12:05 PM
|
#13
|
Human being with feelings
Join Date: Jul 2006
Posts: 626
|
Quote:
Originally Posted by Boray
Does it need this installed?[...]
|
nope. just needs Reaper. or maybe the free ReaJs vst. (windows only, alas. :^( ) i haven't tried that yet. has anyone else?
Last edited by bang; 01-28-2012 at 12:10 PM.
|
|
|
01-28-2012, 12:08 PM
|
#14
|
Human being with feelings
Join Date: Jul 2006
Posts: 626
|
Quote:
Originally Posted by IXix
Is the swing control supposed to react to mouseover when the button isn't pressed?
|
it updates the text value on mouseovers to show what will happen when clicked. but it shouldn't actually change the swing value until clicked. is this confusing?
|
|
|
01-28-2012, 01:00 PM
|
#15
|
Human being with feelings
Join Date: Jul 2006
Posts: 626
|
actually, it updates the swing value when the left mouse button is down and the mouse pointer is in the swing slider. this is so you can click and drag in the slider. but it does also change the value if you click elsewhere and drag into the swing slider. perhaps i should add logic to only update sliders if the previous click was actually in the slider. or is it good enough?
Quote:
Originally Posted by bang
it updates the text value on mouseovers to show what will happen when clicked. but it shouldn't actually change the swing value until clicked. is this confusing?
|
|
|
|
01-28-2012, 02:34 PM
|
#16
|
Human being with feelings
Join Date: Jul 2006
Posts: 626
|
Quote:
Originally Posted by zappadave
More adjustment to the length of note would be good.
|
missed this bit: how much more adjustment would you like? and, do you understand that the "length" values control the length of the *step* in integer multiples. the "gate" values control the length of notes, in continuous amounts from 0-2x. which needs more adjustment?
|
|
|
01-28-2012, 03:04 PM
|
#17
|
Human being with feelings
Join Date: Jul 2006
Posts: 626
|
Quote:
Originally Posted by sinkmusic
Ah, i don't know if you plan to make some more Midi JS Plugins, but i am after a simple (but a bit advanced) step seq to play quickly with "hardware stepseq alike" sequences (think Korg SQ-10 & alikes).
I am enjoying the free Rozzer StepMachine plugin, but it is a bit buggy and crashes quite often. Sadly, it is not supported anymore, so i'm stuck with it, and still use it at the price of unstability...
So, would you have any plan to program a similar JS plugin ?
|
took a quick look at StepMachine. seems like you could do most of what it does by sending a sustained root note at mid-velocity to arp!0, and then use the arp!0 transposition sequence instead of the StepMachine note grid, yes? arp!0's voices can simulate the StepMachine gate sequence. the accent sliders would control velocity. arp!0 doesn't have the per step octave sequence, but does transpose +/- 1 octave. the main difference is that the arp!0 transp button grid is less accessible than the StepMachine note grid. it *might* be possible to add an option to display the transposition sequence as a grid. would that work for you sinkmusic?
|
|
|
01-28-2012, 04:02 PM
|
#18
|
Human being with feelings
Join Date: Jan 2008
Posts: 1,257
|
Maybe 8 steps instead of 4 for Length, but I am getting used to it now that I've played with it a bit more. So I wouldn't worry about it
I'm happy with the transpose for sequencing........but soneone's going to ask, so it might as well be me how about going to 32 steps?
Anyway, got to say again, it's fantastic.
__________________
Music is the best
เพลง ที่ดีที่สุดคือ
|
|
|
01-29-2012, 07:42 AM
|
#19
|
Human being with feelings
Join Date: Jan 2007
Location: mcr:uk
Posts: 3,842
|
Quote:
Originally Posted by bang
is this confusing?
|
Not confusing, just unexpected.
Quote:
Originally Posted by bang
perhaps i should add logic to only update sliders if the previous click was actually in the slider.
|
That would make more sense to me.
|
|
|
01-29-2012, 09:06 AM
|
#20
|
Human being with feelings
Join Date: Nov 2010
Posts: 2,433
|
This looks and plays great! GUI is really awesome, clean and simple but at the same time powerful.
Thanks man!!!
The only thing I miss (and maybe it`s there but I can`t find it) is HOLD option. If you plan to add it could have two modes:
#1 When you press any new midi note it removes everything and uses just those new notes
#2 When you press any new midi note it just adds it to a sequence. If you press midi note that`s already in the sequence it removes it.
|
|
|
01-29-2012, 05:04 PM
|
#21
|
Human being with feelings
Join Date: Feb 2006
Location: decepticon mothership in a hidden place inside a mountain
Posts: 3,717
|
This plugin is awesome, and it even includes several colorschemes !
THank you so much
|
|
|
01-30-2012, 02:17 AM
|
#22
|
Human being with feelings
Join Date: Jul 2006
Posts: 626
|
update: 0.20beta
i'm back with an update that fixes some bugs and adds most of the features folks had requested. most important note is that adding automation support broke presets. i've tried to arrange things so i can avoid that in the future. do let me know if you turn up any problems. and...
enjoy! /dan
release notes:
Code:
0.2beta - 30 jan 2012:
fix length seq active step hilighting
improve easter egg
debug evmsgs view for rt click notes
bumped max octaves to 3
tweak dropdown rightmost pos logic
bumped len range to 8
add automation logic using invis js sliders. NOTE: this breaks presets
add note hold logic/ui
rework timing/offset logic so ui is more responsive (& timing better?)
stress testing fixes: note send ordering, swing calcs, hanging notes
after pause, ...
tweak swing slider behavior
new stash download page here.
Last edited by bang; 01-30-2012 at 02:45 AM.
Reason: add dl link
|
|
|
01-30-2012, 02:27 AM
|
#23
|
Human being with feelings
Join Date: Jul 2006
Posts: 626
|
Quote:
Originally Posted by zappadave
...but soneone's going to ask, so it might as well be me how about going to 32 steps?
|
there is one variable, maxsteps, that controls the number of sequence steps throughout the code. i did a quick check and changing that to 32 seems to work at first glance. makes the gui *really* wide though, and i can't think of how to squeeze things down much just now. if you have a big display, you can try this yourself: maxsteps is near the beginning of the @init section. and you also need to change all the invisible steps sliders to run from 1-32. but this seems like it could be hard to do right. do i dunno...
|
|
|
01-30-2012, 02:35 AM
|
#24
|
Human being with feelings
Join Date: Jul 2006
Posts: 626
|
Quote:
Originally Posted by Breeder
The only thing I miss (and maybe it`s there but I can`t find it) is HOLD option.
|
i did add hold, because it *is* a very convenient option. but fwiw, in general i'm trying not to do things in arp!0 that can be done with pre or post processing. hold can be done better i think in a preprocessing plugin like the midi_arp_controller i uploaded as a companion to arp!0. also, i'm running out of space in the gui. :^P and i'd really like to keep things simple and clear there. hope that make sense.
|
|
|
01-30-2012, 02:42 AM
|
#25
|
Human being with feelings
Join Date: Jul 2006
Posts: 626
|
Quote:
Originally Posted by sinkmusic
This plugin is awesome, and it even includes several colorschemes !
THank you so much
|
oh goody! sinkmusic found the easter egg! although i think IXix did too. didn't want to keep it a secret for too long. and the eggs got prettier in 0.2 i think.
|
|
|
01-30-2012, 03:33 AM
|
#26
|
Human being with feelings
Join Date: May 2009
Location: Germany
Posts: 184
|
Thank you! Cool plugin!
|
|
|
01-30-2012, 07:00 AM
|
#27
|
Human being with feelings
Join Date: Jan 2007
Location: mcr:uk
Posts: 3,842
|
Cool thanks!
|
|
|
01-30-2012, 07:49 AM
|
#28
|
Human being with feelings
Join Date: Jan 2007
Location: mcr:uk
Posts: 3,842
|
This is ace fun! The hold is very useful and the swing slider behaviour makes more sense now.
I have a suggestion regarding the gate sliders. At the moment you have to click the button to display the slider, move the mouse over the slider to adjust the value, then click the slider to accept the value. I think it would feel much nicer if you could click and drag on the button to change the value and then release the button to accept it. Perhaps a right-click mid-drag could cancel the operation?
Having said that, I know that GUI code is a huge PITA so if you can't be bothered I won't think any less of you.
|
|
|
01-30-2012, 07:50 AM
|
#29
|
Human being with feelings
Join Date: Jan 2007
Location: mcr:uk
Posts: 3,842
|
Oh and the extra colour schemes are nice too. I like the dark one best.
|
|
|
01-30-2012, 12:38 PM
|
#30
|
Human being with feelings
Join Date: Jul 2006
Posts: 626
|
Quote:
Originally Posted by IXix
I have a suggestion regarding the gate sliders. At the moment you have to click the button to display the slider, move the mouse over the slider to adjust the value, then click the slider to accept the value. I think it would feel much nicer if you could click and drag on the button to change the value and then release the button to accept it. Perhaps a right-click mid-drag could cancel the operation?
|
i generally don't like click & drag for making precise settings on sliders. over time the small effort of holding the mouse button down is stressful. also, i think it helps a lot when mousing to a target setting if there is a visible target like a slider or buttons to aim for. click once to show the target. click again to set the value as shown. that's my preference.
that said, choice is good. it wasn't hard in the code to add support for clicking & dragging onto the dropdown and letting the mouseup in the dropdown set the value. so click, drag, release now works. i hope that satisfies your preference IXix.
so i've just uploaded a v0.21 point release that enables this. it also enables experimental support for 24 and 32 step modes that zappadave asked about : right click the [arp!0] logo to change the number of steps. i *think* i've got this so presets and automation will work independent of the number of steps.
as always, please test and report problems. big tia!
enjoy! /dan
|
|
|
01-30-2012, 12:51 PM
|
#31
|
Human being with feelings
Join Date: Jul 2006
Posts: 626
|
now at v0.22beta to make factory defaults work right w/ 24/32 step modes. you will need to resave old presets with the right number of steps since otherwise they keep the step count of whatever they load over. and you may need to manually reset steps >16 to default values in old presets.
Quote:
Originally Posted by bang
so i've just uploaded a v0.21 point release that enables this. it also enables experimental support for 24 and 32 step modes[...]
|
|
|
|
01-30-2012, 01:00 PM
|
#32
|
Human being with feelings
Join Date: Feb 2006
Location: decepticon mothership in a hidden place inside a mountain
Posts: 3,717
|
Thank you !
Yes, the new features are great (more octave range, new colorschemes, etc)
My flashy laptop loves darker colorschemes like this one 
[img]http://img190.**************/img190/9876/bangzeroarpo2.png[/img]
[img]http://img252.**************/img252/3869/bangzeroarpo.png[/img]
Last edited by sinkmusic; 01-30-2012 at 01:17 PM.
|
|
|
01-30-2012, 01:57 PM
|
#33
|
Human being with feelings
Join Date: Jan 2008
Posts: 1,257
|
Great update. Thanks.
I can't set 24/32 steps, don't know if this is due to me being 64bit reaper v4.14 though.
__________________
Music is the best
เพลง ที่ดีที่สุดคือ
|
|
|
01-30-2012, 02:06 PM
|
#34
|
Human being with feelings
Join Date: Jul 2006
Posts: 626
|
Quote:
Originally Posted by zappadave
Great update. Thanks.
I can't set 24/32 steps, don't know if this is due to me being 64bit reaper v4.14 though.
|
did you get version 0.22beta? does right clicking a sequence label like "step" show debug info? does *left* clicking "[arp!0]" work?
|
|
|
01-30-2012, 02:42 PM
|
#35
|
Human being with feelings
Join Date: Jan 2008
Posts: 1,257
|
I have 0.22 beta and Yes they all work, except the 24/32 steps.
__________________
Music is the best
เพลง ที่ดีที่สุดคือ
Last edited by zappadave; 01-30-2012 at 04:29 PM.
|
|
|
01-30-2012, 03:54 PM
|
#36
|
Human being with feelings
Join Date: Jan 2007
Location: mcr:uk
Posts: 3,842
|
Quote:
Originally Posted by bang
so click, drag, release now works. i hope that satisfies your preference IXix.
|
I'm sure it will, thanks! Downloading now but won't be able to play until late tomorrow  .
|
|
|
01-30-2012, 04:17 PM
|
#37
|
-blänk-
Join Date: Jun 2008
Posts: 11,313
|
Woot! This is easily the coolest arpeggiator I ever tried! Truely deserves it's name, 'cause it's groovy as hell. Thanks for loads of fun
|
|
|
01-30-2012, 04:51 PM
|
#38
|
Human being with feelings
Join Date: Jul 2006
Posts: 626
|
Quote:
Originally Posted by zappadave
I have .22 beta and Yes they all work, except the 24/32 steps.
|
that's very odd. i don't suppose you are missing the extra steps because they run off the right side of the fx window? i don't know a way to expand this window from Js, so you need to do that manually. other than that i'm stumped right now. you could click the "Edit..." button in the fx window and see if the maxsteps variable gets changed to 24/32 when you right click "[arp!0]". or can anyone else test this on 64bit Reaper for us? is that win or mac zappadave? also, i guess you could manually edit the Js source. the only thing you would need to change at this point is the "maxsteps= 16;" line. everything else follows from that.
ps- noticed i didn't update the version number in the fx title, so v0.22beta still says v0.20 fwiw.
|
|
|
01-30-2012, 11:34 PM
|
#39
|
Human being with feelings
Join Date: Jul 2006
Posts: 626
|
Quote:
Originally Posted by bang
also, i guess you could manually edit the Js source. the only thing you would need to change at this point is the "maxsteps= 16;" line. everything else follows from that.
|
as an alternative to this, try clicking Param in the arp!0 fx window, select FX parameter list and Show in track controls. in the submenu check maxsteps. this should add a control for maxsteps to the fx track. first see what value it gets when you right click "[arp!0]". it should cycle between 16/24/32. if it changes to 24/32 and the gui doesn't, something truly strange is happening. if the maxsteps track control doesn't change when right clicking "[arp!0]", you can try clicking and dragging up on the maxsteps track control. it will take a fair bit of mouse movement, but you should be able to change maxsteps to 24/32 doing that. that *should* change the arp!0 gui. let me know what happens zappadave.
|
|
|
01-30-2012, 11:53 PM
|
#40
|
Human being with feelings
Join Date: Jul 2009
Location: Fort Worth TX
Posts: 1,757
|
this'll be a definite download for me as soon as it's released (i don't do beta  ). keep up the good work.
|
|
|
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 12:40 AM.
|