|
|
|
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,754
|
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,754
|
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,889
|
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,889
|
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, 11:04 AM
|
#7
|
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, 03:04 PM
|
#8
|
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
|
#9
|
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-28-2012, 10:58 AM
|
#10
|
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, 02:34 PM
|
#11
|
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?
|
|
|
02-02-2012, 01:50 PM
|
#12
|
Human being with feelings
Join Date: Jul 2006
Posts: 626
|
arp!0 v0.30beta
ok, "one more thing...": i have not been happy with the transpose dropdown slider. the target range for any particular transposition was just too small. the easy solution was to make the slider longer, and i've done that. but in thinking about the StepMachine sequencer app that sinkmusic mentioned it seemed that it would be really nice if there were some way to make controls for all the steps in a sequence accessible at once. so here is arp!0 v0.30beta with expandable button grids! click the label for a button grid to reveal a control grid for that sequence. (you can also click a step button twice, but not too fast: Js doesn't recognize quick double-clicks.) click the label again, or anywhere left of the control grid, to collapse it back to the buttongrid. the expanded state of a sequence grid is saved and restored in presets, so you can save a default the way you like.
one other very significant change: i am changing sequence lengths a lot more than setting default values, so i switched the mouse logic so that right clicking a sequence step sets the sequence length. alt/option clicking now resets steps to a default value.
hope this ups arp!0's immediacy in a useful way. i'm particularly interested if this makes it more useful as a sequencer substitute?
as always, feedback on the particulars is very welcome. i really appreciate hearing about the small useability issues. i'm a bit of a nut for that.
enjoy! /dan
Last edited by bang; 02-02-2012 at 01:56 PM.
|
|
|
02-02-2012, 02:14 PM
|
#13
|
Human being with feelings
Join Date: Feb 2006
Location: decepticon mothership in a hidden place inside a mountain
Posts: 3,754
|
Wow, it is excellent !
(both expandable button grids & switching the mouse logic so that right clicking a sequence step sets the sequence length).
The mouse logic improves the workflow, and expandable grids are a great feature, thanks a lot.
By the way, yesterday night i ended up spending one full hour listening to autogenerated music fuelled by your arp. It was quite mesmerizing, the independent length for each control sequence allows for a great sense of details, philpglass-esque neverending, always moving music.
|
|
|
02-02-2012, 03:03 PM
|
#14
|
Human being with feelings
Join Date: Feb 2006
Location: decepticon mothership in a hidden place inside a mountain
Posts: 3,754
|
In action :
[img]http://img841.**************/img841/9501/arpbangzerov030.png[/img]
|
|
|
02-02-2012, 03:04 PM
|
#15
|
Human being with feelings
Join Date: Jan 2007
Location: mcr:uk
Posts: 3,889
|
See the breeze blowing softly through my hair where once my hat sat. Respect.
|
|
|
02-02-2012, 03:25 PM
|
#16
|
Human being with feelings
Join Date: Jan 2008
Posts: 1,257
|
Beautiful. Just Beautiful.
So easy and fun to play with.
__________________
Music is the best
เพลง ที่ดีที่สุดคือ
|
|
|
02-02-2012, 03:46 PM
|
#17
|
Human being with feelings
Join Date: Jul 2006
Posts: 626
|
happy! happy! joy! joy!
very glad folks are pleased! know what you mean about just listening to arp!0 go for a while sinkmusic. right now i'm enjoying a little 2-1-2-1 length arp with a bit of -offset on the first 2 and a tiny bit of swing. arp!0 is playing that lovely drum/bell-ish mc Percaluptus Zebra preset and it just rolls along. i have several note clusters stored in the midi_arp_controller Js plugin and every so often i tap a trigger key and shift the tonality. pretty enchanting stuff. and, it is *really* nice to feed arp!0's midi output through IXix's MIDI_KeySnap Js when using transpose to keep everything in a harmonic mode. thanks *very* much for that IXix.
i'd love to hear whatever you folks are doing with arp!0, if anyone is so inclined.
right now arp!0 seems pretty much as i want it to be for a while. i'm ready make some music with it myself. feedback still very welcome though. and any testing or general use over the next couple of weeks would be fantastic. if we can work out any bugs or useability issues in that time i'd like to do a release version and announce it on the general discussion forum. thanks for all your help!
enjoy! /dan
|
|
|
02-06-2012, 01:49 PM
|
#18
|
Human being with feelings
Join Date: Jul 2006
Posts: 626
|
arp!0 v0.33beta
new version at the usual place. this release primarily addresses problems when starting playback in a host. in fact, with negative note offsets arp!0 can't register notes on the beat because it must look ahead to anticipate notes offset before the beat. so i added an option for unipolar, after the beat only offsets. with this selected arp!0 can now start an arp immediately on starting playback. with bipolar offsets selected, notes must be ahead of the beat by at least the offset % to be effective on the beat.
i also tweaked the octaves control to show the current octave and support setting it manually using control click. and arp!0 now saves current notes with presets. since it is not usually desireable to overwrite active notes when presets load, restoring saved notes must be enabled by clicking on the "notes" label. but if you have an extra-hot arp going and want to preserve it for posterity i think arp!0 now saves the whole shebang.
enjoy! /dan
release notes:
Code:
save and optionally restore current notes with presets
save internal octave position with presets
indicate current octave position if > 0 octaves
control-click octaves control sets current octave position
rework timing logic (again) for clarity and to work right when starting
playback in host
add unipolar option to offset sequence: allows pos offsets without 1 tick
latency at start of playback and for notes on the beat.
clean up slider bar logic
|
|
|
02-06-2012, 02:35 PM
|
#19
|
Human being with feelings
Join Date: Jan 2007
Location: mcr:uk
Posts: 3,889
|
Bravo!
|
|
|
02-07-2012, 03:49 AM
|
#20
|
Human being with feelings
Join Date: Jul 2006
Posts: 626
|
quick note: the internal current octave value which is now saved in presets may end up way out of range when loading old presets, and then arp!0 can output extremely high and low notes. i have a fix i'll release rsn, but in the meanwhile if you load an old preset and things seem wacky you can control/command-click one of the octaves buttons to get things back in line.
|
|
|
02-07-2012, 02:24 PM
|
#21
|
Human being with feelings
Join Date: Jul 2006
Posts: 626
|
arp!0 v0.34beta
quick update to address the bogus octave after loading old presets.
release notes:
0.34beta - 7 feb 2012
- limit octpos to octaves on preset loads and when octaves changes
enjoy! /dan
|
|
|
02-07-2012, 04:44 PM
|
#22
|
Human being with feelings
Join Date: Jan 2008
Posts: 1,257
|
+ JS: support MIDI buses, set ext_midi_bus=1 in @init, then midi_bus is used for bus indices
+ JS: updated midi_logger to show bus
This should be interesting.
__________________
Music is the best
เพลง ที่ดีที่สุดคือ
|
|
|
02-08-2012, 12:52 AM
|
#23
|
Human being with feelings
Join Date: Jul 2006
Posts: 626
|
arp!0 v0.35beta
just... one... more... beta... (hah!)
ok. in hopes of reducing arp!0's non-affordances i have added a help/settings pane that collects the various invisible settings mechanisms into one semi-visible place. and once i had that, i couldn't resist just one extra set of options to suggest what kind of things the settings pane might be good for: random order non-sequences. here's a screen shot:
hope this is useful. or at least amusing. suggestion welcome for other settings pane options. but i am determined to resist (even more) feature creep. yes. very determined. i will be strong! :^)
so, as always...
enjoy! /dan
release notes:
0.35beta - 8 feb 2012
- puts{...} & gpt{...} macros
- help/settings pane
- random order option for sequences
Last edited by bang; 02-18-2012 at 10:42 PM.
Reason: new screen shot
|
|
|
02-08-2012, 01:09 AM
|
#24
|
Human being with feelings
Join Date: Jul 2006
Posts: 626
|
arp!0 v0.36beta
oops. right-click to dismiss the help/settings pane revealed a small bug in the right-click to set sequence length logic. v0.36beta fixes that.
|
|
|
02-08-2012, 02:40 AM
|
#25
|
Human being with feelings
Join Date: Jan 2007
Location: mcr:uk
Posts: 3,889
|
Quote:
Originally Posted by bang
- puts{...} & gpt{...} macros
|
What's that?
|
|
|
02-08-2012, 02:45 AM
|
#26
|
Human being with feelings
Join Date: Jul 2006
Posts: 626
|
Quote:
Originally Posted by IXix
What's that?
|
a workaround for the frustrating limitation of gfx_putchar(): i wrote a little php text filter to convert pseudo-puts() function calls into a bunch of gfx_putchar()'s. makes generating Js text quite a bit easier.
|
|
|
02-08-2012, 02:49 AM
|
#27
|
Human being with feelings
Join Date: Jan 2007
Location: mcr:uk
Posts: 3,889
|
Quote:
Originally Posted by bang
a workaround for the frustrating limitation of gfx_putchar(): i wrote a little php text filter to convert pseudo-puts() function calls into a bunch of gfx_putchar()'s. makes generating Js text quite a bit easier.
|
Cheat!
|
|
|
02-08-2012, 02:57 AM
|
#28
|
Human being with feelings
Join Date: Jul 2006
Posts: 626
|
Quote:
Originally Posted by IXix
Cheat!
|
yes! and it feels wonderful so good! :^)
|
|
|
02-08-2012, 02:59 AM
|
#29
|
Human being with feelings
Join Date: May 2006
Location: Surrey, UK
Posts: 19,677
|
__________________
DarkStar ... interesting, if true. . . . Inspired by ...
|
|
|
02-08-2012, 03:00 AM
|
#30
|
Human being with feelings
Join Date: Jan 2007
Location: mcr:uk
Posts: 3,889
|
Can't say I blame you. I can't stand mucking about with gfx code for GUIs, it's too fiddly. I've decided to do something about it though. Can you guess what it is yet?
|
|
|
02-08-2012, 04:31 AM
|
#31
|
Human being with feelings
Join Date: Feb 2006
Location: decepticon mothership in a hidden place inside a mountain
Posts: 3,754
|
Great ! Thank you
|
|
|
02-08-2012, 01:14 PM
|
#32
|
Human being with feelings
Join Date: Jul 2006
Posts: 626
|
so while we're thinking feature requests, i'd like to ask folks to consider voting for: Opening the "preset program change" feature. i think it is cool that arp!0 can continue playing in time across preset changes. but this would so much more useful if we could automate it. currently you can automate vst preset changes, but not Jesusonic. this is not right! :^) please vote if you agree. tia! /dan
ps- i am considering adding the ability to switch between a small number of presets using midi program changes inside arp!0. but this would be a somewhat poor alternative.
|
|
|
02-10-2012, 02:07 PM
|
#33
|
Human being with feelings
Join Date: May 2010
Posts: 1,717
|
Very good arp! Grats
|
|
|
02-18-2012, 10:30 PM
|
#34
|
Human being with feelings
Join Date: Jul 2006
Posts: 626
|
arp!0 - v0.55beta - get it right release
hello all!
new arp!0 release here.
this is primarily to correct some logical flaws in how i was handling sort transforms. previously an arp!0 preset only saved which transform file it used. this meant that if the external file changed the preset was rendered obsolete. so now sort transforms are saved in the arp!0 presets directly. the sort transform files are only used as a source to load transforms into arp!0.
i also cleaned up the preset logic to use all the reasonably easy ways to save space to deal with what looks like a Reaper bug handling large Js presets. we can now save up to 7 variants in an arp!0 preset. presets with 8 just fail to load, so i have made the upper limit on variants 7 right now. i have a post in the bugs forum requesting confirmation of the presets bug here, but so far no replies to that.
by popular demand (!?) i added a dropdown menu when right clicking the sort buttons to load transforms from the main pane. i also added copy & paste for sort transforms and variants. and there's a new flavor of transform spec that supports semi-random sorts. there is a new companion setting for that to control when sorts are rerandomized. and some other bits and fixes i'll leave for the release notes below.
all in all, between compressing presets and reworking sort xforms this revision touched quite a bit of code again. old presets should load ok, but save a copy of js-midi_arpbangzero.ini if you have anything important.
enjoy! /dan
Code:
0.55beta - 18 feb 2012
- tweak sortx logic: support for fixed sortxcnt; avoid inf loop if no
repeats; wraparound sortx pos if notecnt < sortxcnt
- fix failure to restore current variant on startup
- add name section to sort xform
- save sort xform pattern in presets to remove dependancy on txt files
- show current sort xform in settings pane
- update slider/code to reflect new max of 16 swingsteps
- sort xform dropmenu on rightclick sort label: xform on/off; copy/paste;
load xform
- clean up dropdown mouse logic
- reduce saved preset size
- limit number of variants to 7 to avoid large Js preset bug
- tweak clicker/flag chars
- variants dropmenu: copy/paste/apply changes to ALL variants. replaces
edit xxx clicker
- copy/paste for variants & sort xforms
- support "special" sort xform values based on positive type index after
leading 0 value; relative values now required to have negative offset value
after initial 0.
- new sort xform special type 1: probable bounded random step
- new settings for when to redo sort xform to support changing random xforms:
first/last step, octave/note cycles.
- fix failure to update tempo on variant change & paste
- change to right-click labels for toggle random seq order and toggle sortx;
alt/option-click labels for debug;
- new zeta.txt & eta.txt transform files to demonstrate fixed length
output and semi-random transforms.
ps- the sort transform spec did change a bit, so old sort transforms will need to be updated.
Last edited by bang; 02-19-2012 at 12:05 PM.
|
|
|
02-19-2012, 01:55 AM
|
#35
|
Human being with feelings
Join Date: Feb 2006
Location: decepticon mothership in a hidden place inside a mountain
Posts: 3,754
|
Hi
Thanks for the update !
In the newer versions, how do you swap the scolorscheme ?
It used to be by clicking on the arpbang name, but now it displays some informations...
|
|
|
02-19-2012, 11:22 AM
|
#36
|
Human being with feelings
Join Date: Jul 2006
Posts: 626
|
arp!0 - v0.56beta - again? release
Quote:
Originally Posted by sinkmusic
In the newer versions, how do you swap the scolorscheme ?
It used to be by clicking on the arpbang name, but now it displays some informations...
|
all of the text on the settings pane which has a button colored background is clickable. so on the first line labeled "colors:" click the keyword for the color scheme you want. i think you liked "nightshade" sinkmusic. hope this isn't too cryptic.
and... minor new release here that fixes a "child of the wild value" bug and tweaks a bit of text/color.
Last edited by bang; 02-19-2012 at 02:39 PM.
|
|
|
02-19-2012, 11:30 AM
|
#37
|
Human being with feelings
Join Date: Feb 2006
Location: decepticon mothership in a hidden place inside a mountain
Posts: 3,754
|
Thank you, Bang, you're a gentleman
|
|
|
02-19-2012, 11:52 AM
|
#38
|
Human being with feelings
Join Date: Jan 2007
Location: mcr:uk
Posts: 3,889
|
Hehe, you put them out faster than I can test them.
|
|
|
02-20-2012, 12:19 AM
|
#39
|
Human being with feelings
Join Date: Jul 2006
Posts: 626
|
arp!0 - v0.57beta - transformation lingers release
just one more tweak: sort transforms are now listed by the name defined in the spec file, rather than the generic alpha/beta/etc file names. enjoy! /dan
|
|
|
02-20-2012, 03:01 AM
|
#40
|
Human being with feelings
Join Date: Mar 2009
Posts: 243
|
this arp is getting better and better ever so often.
wonderful addon for reaper.
many thanks, bang.
|
|
|
Thread Tools |
|
Display Modes |
Hybrid 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 04:17 AM.
|