New Tool (3.0): Boîte Diabolique

Hello. I’ve cobbled together some functionality I use regularly from other tools (and built some that I couldn’t find elsewhere) into a humble but handy little tool I’ve found very useful. I quite like entering notes via the keyboard, but creating large or uncommon chords can be very difficult in a tracker, especially if your memorization of intervals is based upon the look/feel of a musical keyboard. What’s more, managing the chords you’ve already entered can become cumbersome if you need to select them.

I originally based this off of Ledger’s “Note Properties” tool, so he definitely deserves some credit!

_ Notes: _
You can set a keyboard shortcut for it in preferences. I use the “1” key, since it’s close to escape and I usually need to toggle the window open and closed frequently as I’m writing a progression.

Chords are always generated in the note columns to the right of the selected note. Right now it treats all notes on the same line in the same track as a “chord”.

Some of the more obscure chords have kind of arbitrary voicings… I just based it off how I personally would play those chords and how I think they sound best. …might add an inversion generator/randomizer later, or something

Hold “A” and click on a chord to hear it.

5561 com.knabo.BoîteDiabolique v0.4.2.xrnx

5556 Screen Shot 2015-03-21 at 12.27.23 AM.png

Very nice, simillar to
http://www.renoise.com/tools/scale-finder

But what i miss in both tools is chord inversion. It would be amazing if it can be added.
(and maybe some other things: scale lock, chord preview and chord progression suggestion ^_^)

Top name.

Very nice, simillar to
http://www.renoise.com/tools/scale-finder

But what i miss in both tools is chord inversion. It would be amazing if it can be added.
(and maybe some other things: scale lock, chord preview and chord progression suggestion ^_^)

Right now my hands are still moving back and forth from the keyboard to the mouse too often, so the ability to preview chords without entering them is definitely coming to remedy that.

I want to add a means of doing inversions, but I haven’t come up with a logical way to represent it. The first thing that springs to mind is to let the user set where in the chord they want the initial root to land, and build it around that. I’d like something as minimal as a single slider.

Also, midi mapping needs to be possible… I don’t think it is right now. I loved the Sk-1’s chord keys, would love to emulate that.

Thanks, a great tool and great first post!

Nice to see “note properties” becoming part of something bigger and better!

One thing I found a bit counter-intuitive is the delay nudge buttons seem inverted as in; down increases the delay value. But come to think of it I guess you have done this to represent the direction the notes are being shifted in the pattern, this makes sense too.

Very nice, simillar to
http://www.renoise.com/tools/scale-finder

But what i miss in both tools is chord inversion. It would be amazing if it can be added.
(and maybe some other things: scale lock, chord preview and chord progression suggestion ^_^)

+1 vote for inversions, would be great

Top name.

I had to look this up :slight_smile:

Usefull tool. Knabo… Would be better if it could prehear the chord when you press in any button before to paste in the pattern.True. And an interface bigger with more chords —> Better than Better.

Thanks.

Usefull tool. Knabo… Would be better if it could prehear the chord when you press in any button before to paste in the pattern.True. And an interface bigger with more chords —> Better than Better.

Thanks.

Hmmm, I think I’ll add a key modifier… something like, shift+clicking on a chord previews it, but just clicking on a chord still enters it. As for adding more chords… would anyone actually use them? As it stands, there are already far more chords included than I’ve personally used.

Thanks, a great tool and great first post!

Nice to see “note properties” becoming part of something bigger and better!

One thing I found a bit counter-intuitive is the delay nudge buttons seem inverted as in; down increases the delay value. But come to think of it I guess you have done this to represent the direction the notes are being shifted in the pattern, this makes sense too.

Thank you! I just started adding and altering things here and there and it snowballed. You’re right about the inverted delay nudge. I definitely want to keep this tool in line with the tracker paradigm as much as I can (pitch represented on x axis, time represented on y axis). It’s all about closing the gap between my mental flow and the rigidity of software.

This is incredible, thanks so much for making it.

Hello again Knabo, Thanks for your reply about prehear the chord, I know that sometimes with some chords it´s possible to made good songs, Yes, but have in count that sometimes there are lot of difference betwen chords simples and other complex, that rich your song a lot, I have sent two screenshoots about 2 programs that I made in Visual Basic 6, (The green wallpaper program shots any chord to send to midi out to One Man´s Band program wich recognize the midi data and Plays any Yamaha File Style Keyboard ) It´s like to have a Tyros in a PC with ALL the chords at time!, And the second (Purple) it´s just the same but with more complex chords. Both of them have a Listbox to save the Favourite chords and after load or save that sequence.

Why Do I say this… I have a lot of persons’ envy as you who can programme in Lua, and I would always love doing things as yours related with the topic of chords, I am always seeing here new tools focused always on the same questions, but they are very few those who have constructed themselves environment to learning and visual theory of the piano, and the yours can be great and very complet. Also I would like that someone could create a bigger keyboard where to see the notes pressed according to the choosen track. in end that is quite. Thank you.

P.D. This program can be see in a very poor video demo here:

"http://www.mediafire.com/download/9xaf1ep993eix9l/Chordtombo.swf"

http://www.mediafire.com/download/9xaf1ep993eix9l/Chordtombo.swf

Bye !!!

Alright, v0.3 done. Link in the original post.

-Added the ability to audition chords without entering them by holding down the “a” key while clicking on the chord buttons(A, for Audition!)

-There are some latency issues with sending notes internally via osc (the only way I could find to do it), so with larger chords, expect a slight gap between notes. I will try and tweak it as much as I can to avoid that, but this seems like a case where we absolutely cannot accept dropped notes because it would defeat the purpose, so leaving latency in place seems necessary

-Also started adding midi mapping, to be expanded later… I may actually try and emulate Sk-1 behavior by partitioning an octave or two of midi keys as chord “modifiers”… might end up building that into a separate tool.

-Fixed a bunch of bugs I hope nobody else encountered/noticed

I think next thing will be to add a button that plays the previous chord from the track, so you can hear thetransitions more clearly/speed up workflow… I suppose this could even be built into the audition feature, so that auditioning a chord played both in succession.

@Circe: Wow, very impressive. I’m sure something similar could be done with the renoise api, but I think at the moment it’s a bit beyond the scope of this little tool. Boîte Diabolique has 25 chord variations at the moment, I count 7 more in your first pic, and over double in the second :o. If I need a chord more complex than what I already have, I’ll probably build it note by note using my ears.

Oh, this is getting interesting :slight_smile:

I Like that people like the post of Knabo.

Id like to know where to post a request about a very very simple tool about a Keyboard piano bigger view.

Thanks

Another modest update. I was going to submit this to the site so everyone could update more easily, but now it’s saying “Access Denied”… I swear I had access yesterday. So for now it lives in the original post.

-Added new setting “play from last chord” which, when enabled, will automatically play from the last chord in the track (a chord in this case, being any instance of two or more notes on the same line ) until the same distance past the chord you just entered. So if you add a chord on line 20, and it finds a previous chord on line 10, it will play from line 10 to line 30, then return to the line you’re working on.

-Added new setting “Add note-offs” which fills every column not used by the new chord with note-off commands.

-Strum delay can now strum up AND down. Simply slide to the left to add strum down, slide to the right to add strum up.

-Fixed the audition key modifier to be more reliable (it was ignoring it about 1/10th of the time before). It seems more reliable but still not 100%

-Fixed a bunch of other dumb bugs

I keep thinking of handy features/settings, but I’m starting to think already it’s too much, too complex.

1 Like

Btw why should i enable osc server?
It looks that duplex via osc doesnt work right after it.

And when i try preview chord with ‘a’ key.

‘C:\Users\Akiz\AppData\Roaming\Renoise\V3.0.1\Scripts\Tools\com.knabo.BoîteDiabolique.xrnx\main.lua’ failed in one of its notifiers.

Please contact the author (Knabo) for assistance…

main.lua:402: attempt to index upvalue ‘client’ (a nil value)

stack traceback:

main.lua:402: in function ‘osc_note_on’

main.lua:440: in function ‘play_chord’

main.lua:616: in function ‘generate_chord’

main.lua:982: in function main.lua:981

Btw why should i enable osc server?
It looks that duplex via osc doesnt work right after it.

And when i try preview chord with ‘a’ key.

‘C:\Users\Akiz\AppData\Roaming\Renoise\V3.0.1\Scripts\Tools\com.knabo.BoîteDiabolique.xrnx\main.lua’ failed in one of its notifiers.

Please contact the author (Knabo) for assistance…

main.lua:402: attempt to index upvalue ‘client’ (a nil value)

stack traceback:

main.lua:402: in function ‘osc_note_on’

main.lua:440: in function ‘play_chord’

main.lua:616: in function ‘generate_chord’

main.lua:982: in function main.lua:981

The osc server needs to be enabled in order for the note auditioning to work, which is why you’re getting that error. I’ve updated the code (in original post) to fail more gracefully and output an error message on the status bar when you open the tool without having osc enabled, and when you try and audition a note without having osc enabled. This way the chord auditioning feature can be ignored by those who don’t need it and don’t want to turn on their osc server.

It seems that you’re saying Duplex via OSC stops working after you enable the OSC server? But it works when the OSC server is turned off?

1 Like

Thank you!
I can live without it. “Play from last chord” function is amazing!

Duplex has it own OSC serverand when you enable Renoise OSC server,Duplex stop sending messages.

1 Like