Brainstorming: Piano Roll

Would the piano roll be possible to make with new scripting in 2.6? It’s on RC1 now, so it would be available to everyone.

Possibly. Somebody has already made a pretty nice pianoroll-ish script (haven’t tried it yet) but I believe this should be fully integrated into the Renoise GUI with a per-track view toggle switch (as suggested in loads of mockups in this thread).

Some more thoughts
In normal use, you’d probably have only a few tracks in a song in ‘PR Mode’ (chords, pads) and the majority in traditional tracker view (basslines, leads, rhythms), and you’d probably not be hitting the view toggle buttons much at all once you’d made those decisions - ‘OK, this one is a PR track, this one is a Tracker track’ etc.
In those PR tracks, you wouldn’t really care so much about the actual layout of the note data in their tracker-view columns.
Infact, I imagine they would potentially look a total mess if you’d done a lot of PR editing and then switched back to tracker view, but you shouldn’t really care – in the same way that looking at some drum beats in PR mode would be nonsensical.

a display of 15 overlapping instruments

yes I agree, there NEEDs to be a button that hides the piano roll from people “but” the piano roll MUST conform to the rules (snap; “even or odd”) of a real tracker like RENOISE!

DONT forget Renoise is the future! what I mean is, EVOLVE OF DIE! (keep the commands!!!, please!)
compatibility with other trackers is NOT necessary! Grow UP! learn and except this Application man!
IF your going to keep compatibility with older trackers that better put “IT, octaMED and Unwieldly Tracker” commands in there Dammit!

>[0][1][2][3][4][5][6][7][8][9][10][11][12][13][14][15][16][17][18][19][20] ]Pattern Sequencer  
>[2][2][5][8][9][9][10] ]Tabs for viewing overlapping layers. Numbers indicate which patterns layers occur.  
>[---- ---- ------------- ----------------- -------------------------]Instrument Track and Column? Routing per overlap tab. Unlined areas means not used, undefined routes to master ?  
x[0 1 2 3 4 5 6 7 8 9]Octaves  
x[C*D*EF*G*A*BC*D*EF*G*A*BC*D*EF*G*A*BC*D*EF*G*A*BC*D*EF*G*A*BC*D*EF*G*A*BC*D*EF*G*A*BC*D*EF*G*A*BC*D*EF*G*A*BC*D*EF*G*A*B]Notes  
0[- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _]0  
1[- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _]1  
2[- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _]2  
3[- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _]3  
4[- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _]4  
5[- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _]5  
6[- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _]6  
7[- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _]7  
8[- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _]8  
9[- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _]9  
A[- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _]A  
B[- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _]B  
C[- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _]C  
D[- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _]D  
E[- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _]E  
F[- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _]F  

Some thoughts…

Navigating in the piano tab would be similar to the pattern editor, for example, short keys for track to track, column to column, octave to octave, and customizable interval jumps, as in jump every 7 notes or other. Or just hit Edit mode and use the keyboard as usual, to program or record notes.

When editing in the piano tab, notes entered gets transported to current track, so if you have Track Scopes open for example, the user can enter notes in one track, click to a different track and enter notes there. The piano tab keeps these notes in one view, for the purpose of time and space relation. 2.7’s sample keyzone handles layers well and can be used for handling overlaps in terms of both note input and instrument. How to handle columns ?

Currently I’m swaying to the idea that when editing in the pattern editor, nothing gets transported to the piano tab. So the user can still do their ninja tracker tricks. For example, disabling Sample Keyzone’s velocity mapping and doing an entire tune out of C-4, not necessarily in that frequency, but organizing all sample zones in that note.

Thank you Ledger for Ticky Roll for the realistic insights, and Thank You Renoise Team, well, for everything.

http://www.youtube.com/watch?v=1WHX4yyk88g


Imgur

I thought the power of renoise was in the patern editor. Will a Piano roll really add anything or is it just to make renoise more appealing to non tracker uses?

As you can see from the Beethoven piano roll clearly this perspective shows some information tracker view does not. There is something nice about seeing the up and down flow of pitch instead of seeing C-4 D-4 etc. In addition its nice to be able to see the duration of sounds especially if you can view multiple rolls next to each other.

Composing using the piano roll would probably only be handy for non tracker users, but simply viewing it could be a nice analytical tool for the rest of us too. That being said, this feature is really low on my wish list.

If a Piano roll is implemented: keep it vertical!

Well these are all great ideas, very exciting stuff…I hope they decide to make it a regular horizontal piano roll though, I’ve tried the vertical ones and really can’t use them very well.

how about a “note lenght visual” like the ones on sunvox and aodix?!

in this example, in sunvox, hold notes are represented by “////” when you apply a note off, you see the pattern background instead ( “…” )

but i really can live without, same for piano roll

Sorry mate, but that looks awful :D

was just showing how the video would look as a piano roll. it would probably look better with just one track

Yes please devs.

I posted this earlier, but always modifying it.

This is a text editor version I’m using along side Renoise. I don’t notate note lengths because that’s an entire demon of its own. I have a separate text for that…

This one I have note frequencies read from top to bottom, notes from each string lined up with the keyboard from a standard tuned bass and guitar.

The most recent thing I’ve added is a guitar sequencer to coincide with the keyboard.

Next up on the to do list is to do add a chord progression chart.

One of the cool things I can do with this is cut and save certain note sequences, like a clip system.

[SB16Hz-60Hz]B60Hz-250Hz ]M250Hz-2khz ]Hm2kHZ - 6kHz  
[============== ======================= =================================== ============]  
[_ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _-] 0 E A D G B E  
[_ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _-] 1 F a d g F  
[2233333444455566677889911111111111122222223333344445556667788991111111111112222222333334] 2 f B E A c f  
[7902468136815815937272701123345678902346791246914692582593838380112334567890234679135791].3 G C F a D G  
[-----------------------30630865445670361731999250633472989300274074198666679148396322258] 4 g c f B d g  
[51876782629902742474349----------------------------------------6844860810493799730620916].5 A D G E A  
[36040905491073091800998054858586006009616162903018233224996037-------------------------] 6 a d g c F a  
[583881349930056662779930471936110050843863339000685735569910375775590020750530080040310].7 B E A D f B  
[_ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _-] 8 C F a d G C  
[1[G 2 45 7 9+ 2 4 67 9] ].9 c f B E g c  
[2[D 23 5 7 9+ 2 45 7 9] ] + D G F A D  
[3[A 23 5 78 + 2 45 7 9+] ] 1 d g c f a d  
[4[E1 3 5 78 + 23 5 7 9+] ]=2 E A D G B E  
[_ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _-] 3 F a d g C F  
[1[E1 3 5 78 + 23 5 7 9 +] ] 4 f B E A c f  
[2[B1 3 56 8 + 23 5 78 +] ].5 G F a D G  
[3[G 2 45 7 9+ 2 4 67 9] ] 6 g c f B d g  
[_ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _-].7 A D G C E A  
[4[D 23 5 7 9+ 2 45 7 9] ] 8 a d g c F a  
[5[A 23 5 78 + 2 45 7 9+] ].9 B E A D f B  
[6[E1 3 5 78 + 23 5 7 9+] ] = F a d G C  
[_ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _-] notes . left . right . technq  
[_ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _-] - _ _ _ _ _ _ . _ _ _ _ _ . _ _ _ _ _ .  
[_ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _-] - _ _ _ _ _ _ . _ _ _ _ _ . _ _ _ _ _ .  
[_ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _-] - _ _ _ _ _ _ . _ _ _ _ _ . _ _ _ _ _ .  
[_ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _-] - _ _ _ _ _ _ . _ _ _ _ _ . _ _ _ _ _ .  
  
[_ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _- _ __ _ _ _-] -> total notes used per user division  
  

Pianoroll should work the same way as automation panel is working now. I find tracker easy for editing non-human (perfectly in time, fully quanitized) melody lines, but I would like to have something to manage more than 12 notes harmonies. I’m contemporary classical and jazz composer and pianist, I use complex harmonies and I never play on the beat, always slightly after or before. This makes music flexible, a human-like. There is nothing better than pianoroll to handle this. There is no need for translating pianoroll events to tracker notation. I’d keep them separate, and use that one that suits best my actual needs. I could still use effects on the tracker view (for instance vibrato), and still have the classic, fully-feautured left-to-right pianoroll, just before automation lane. That would be quite logic and clean solution. Sorry for my english.

+1

Looks like we have a winner !