Tracker vs. piano roll (How to compose music on the X16?)

Chat about anything CX16 related that doesn't fit elsewhere
User avatar
kliepatsch
Posts: 247
Joined: Thu Oct 08, 2020 9:54 pm

Tracker vs. piano roll (How to compose music on the X16?)

Post by kliepatsch »


Hi everyone,

I am currently working on a sound engine utilizing the 16 voice Programmable Sound Generator (PSG). Later I would like to add a way to compose music with it. I have thought a lot on what is the best format for such a program. Mainly, I can't decide between the piano roll vs tracker approaches, because they both have their strengths.

 

Tracker

Example:





Basically, you have a table with all the "tracks" in the columns, and every row represents either a 16th or a 32th note. When playing back the song, the player moves from row to row and executes all the commands it finds in each row. Often, the tracks represent the channels of the hardware (e.g. the original Amiga trackers had 4 tracks for the 4 hardware channels. AdLib trackers have 9 channels for the 9 FM voices etc.), but it doesn't necessarily have to be that way.

Each cell can contain commands like play a note of instrument X at pitch Y and volume Z, or stop the note currently playing in this channel.

Additionally, each cell can contain an additional command, called "effect", which is used to control volume slides, pitch slides, vibrato, tremolo and various other things.

In a track, there can only be one note playing at a time.

Pros:


  • Nice direct control over every voice, even if several voices of the same instrument are playing (like 3 violinists, but every one can have individual vibrato)


  • More hardware-friendly and easier to implement.


  • Everything that is happening in the song at a given time is there in a single view.


 

 

Piano Roll

Examples:

https://youtu.be/AfDuZ2vHkUQ?t=384

https://www.youtube.com/watch?v=_8PbvMxkIhg

Here, there is also a table. This time, time increases from left to right. And pitch increases from bottom to top. Notes are displayed as bars stretching horizontally from note-on to note-off.

Additional control like pitch bending, volume control etc. need to be done outside of this view. Often, there is an additional area where one can edit the note's velocities and other things.

Pros:


  • The ability to "see" the pitch, and to see chords.


  • The ability to adjust the timing very precisely (as opposed to a very rigid grid in the trackers).


  • The ability to drag and drop (although this would be doable in a tracker, too)


 

I was thinking of maybe combining the pros of those two options. I can live without the visual representation of pitch, but I am not willing to sacrifice freedom of timing. And I really want the freedom to modulate individual voices, because that is one of the few ways you can give expressiveness to chiptune.

So I could try to find a way to make the tracker approach more flexible with timing.

I am thinking out loud. Anyway, your thoughts, ideas, experiences etc. are welcome ?

Have a nice day!

m00dawg
Posts: 346
Joined: Wed Jul 08, 2020 12:41 am
Contact:

Tracker vs. piano roll (How to compose music on the X16?)

Post by m00dawg »


To add more thoughts, I see it as two separate conversations. The preference of the musician for how (s)he likes to compose; and the capabilities of the hardware.

I find trackers make it much easier to exploit the hardware to the fullest ability and presents a lot of information in a nice and compact but easy to manipulate way, although it's less real-time for sure. I was unaware that the PSG would have 16 channels. Last I heard it was still the YM2151 + SAA1099 + DAC solution. But whatever the audio solution, I would guess the channel counts would be fixed and that, to me, tends to make a nod to a tracker interface. To me the piano roll makes more sense in modern DAWs where there are fewer limitations and you tend to manipulate synths as single entities versus manipulating individual channels like you tend to in a tracker. Consider the case where you might play a chord. On a piano roll, you put in the cord in on "track" but on a tracker, you would use 3 channels (ignoring some of the meta channel stuff like what Renoise has, given it's a fully modern tracker).

A standard chord is 3 channels but if the chords are more staccato, I could interleave other sounds in between the chords using the same channels. Doing that via a piano roll style interface seems really complicated, or I've never been able to do that level of precision on any old or new tool. The flip-side for most non-tracker musicians, a piano roll (perhaps in addition to MIDI support for realtime playing) would be a more conventional solution.

I did some of my own thought experiments on a tracker UI and a tracker format (for the FM/PSG/DAC solution) which you might be able to perhaps use, though it's not very far along: https://gitlab.com/m00dawg/commander-x16-programs/-/tree/master/command_tracker

Related aside, I'm looking forward to seeing what folks come up with for a MIDI I/O card. For me it'd mostly be for clock-sync such that, with support from a tracker or song player, I could sync up the x16 for recording should I want to combine it with other external instruments (like my Gameboy, NES, MidiBox gear, etc.).

All told, as the developer, you get to decide on the vision, so don't take my opinions as gospel or anything. They're just my opinions and they weigh about as much as Helium ?

Author of Dreamtracker (https://www.dreamtracker.org/)
Check Out My Band: https://music.victimcache.com/
User avatar
kliepatsch
Posts: 247
Joined: Thu Oct 08, 2020 9:54 pm

Tracker vs. piano roll (How to compose music on the X16?)

Post by kliepatsch »


Thanks for your opinions! Yes, these are some additional thoughts worth considering.

I hope I will also take the courage to look at what you have done. Most of the time I'm glad when I don't need to understand someone else's work, but in this case it might be worth it ?

I can see all the pros for a tracker. Thing is, I never used tracker up until one week ago. I spent my whole life in a piano roll, so using trackers is a big step out of my comfort zone. But finding that "Rolling town the street" song in my post at the top immediately sparked the belief in me that indeed trackers can be of good use. I'm glad, because without it I were probably stuck in cloning whatever MSSIAH seemed to have done. Now that I tried out a tracker myself, I can see all the benefits of that layout, even though it's still very awkward for me to use one.

Since the sound engine adds another layer of abstraction between the hardware and the music, the exploitation of the hardware argument is not as valid as for e.g. Amiga trackers. There are sounds that use multiple PSG voices, so the 1-on-1 equivalence of Tracks and hardware channels is broken.

TomXP411
Posts: 1781
Joined: Tue May 19, 2020 8:49 pm

Tracker vs. piano roll (How to compose music on the X16?)

Post by TomXP411 »


As a musician, I much prefer piano roll style editing, but there are times an event viewer is useful. I do NOT like trackers, as they tend to limit what you can do musically, often being at fixed intervals. 

My favorite program ever for composing music is the old Cakewalk for DOS, and I'd be thrilled to have something similar on the Commander

http://www.vgmpf.com/Wiki/index.php?title=Cakewalk#:~:text=Cakewalk is a MIDI sequencer,being re-branded as Sonar.

 

John Chow Seymour
Posts: 143
Joined: Sun Jul 05, 2020 3:27 pm

Tracker vs. piano roll (How to compose music on the X16?)

Post by John Chow Seymour »


I'm with several other commenters here in that the tracker format tends to lock one in to square rhythms. 

One thing I very much value about piano roll views is their scalability: it's nice to be able to zoom in and out, both vertically and horizontally.  Not sure how difficult arbitrary zoom will be to implement on the X16.  The tracker interface generally doesn't need scalability across its tracks (that's horizontal in a tracker) but if someone could develop a tracker that's zoomable in the rhythm direction (vertical for trackers), and thus allowed for fine rhythmic granularity so you're not locked into a 16th grid, such a design might be the best of both worlds.

I mean, right now some trackers have ugly solutions to the problem of getting out of the grid like a 'delay' property; you can enter a note event on what visually  looks like beat 1 but also add a delay property that pushes is back to the middle note of a triplet.  This is awkward to use and not a great solution.

So yeah, as you design your interface, be it tracker, piano roll, or a hybrid, definately think about the ability to zoom in and out.

On the other hand... the gridlike nature of the tracker interface may feel limiting, but it is also a sensible solution for a computer with keyboard-input and character-grid graphics (as many 8bit computers had).  A zoomable piano roll system may seem nice, but may also be very awkward on a system without a mouse.

 


On 12/16/2020 at 6:33 PM, TomXP411 said:




My favorite program ever for composing music is the old Cakewalk for DOS, and I'd be thrilled to have something similar on the Commander



Me too! The flexibility of the old Cakewalk was just great.  I actually first learned to compose music as a kid by trying things out in Cakewalk Home Studio for Win 3.1 - I didn't know there was a DOS version until you mentioned it just now.  

It used to be, Cakewalk was the software, made by a company called Twelve Tone Systems.  Then for a while, the Company name became Cakewalk and the software was called Sonar (as your article covers).  About two years ago, the IP was bought by a startup called BandLab and now the software is called Cakewalk again.  This modern version is my main DAW.  Elements from the Win 3.1 version that I learned on, which were excellent interface decisions, are still present in the most recent version. 

(Their "Staff View" in particular is well designed: it allows people who are used to reading staff notation to do so in a MIDI sequencer, but it understands that its goal is sequencing and NOT notation; this has always made it better to compose in, in my opionion, than the dedicated notation programs like Finale or Sibelius.  Too bad staff views are such a bear to program, or I'd recommend that to @kliepatsch)


On 12/16/2020 at 11:21 AM, m00dawg said:




... I want to combine it with other external instruments (like my Gameboy, NES, MidiBox gear, etc.).



Not to get off track in the thread, but what strategy/hardware are you using to use the NES as an instrument?  I've been looking for a good solution for that. 

Perifractic
Posts: 511
Joined: Sat Apr 25, 2020 4:53 pm

Tracker vs. piano roll (How to compose music on the X16?)

Post by Perifractic »


[emoji817] piano roll for me, for reasons that are hopefully obvious ☺️





Your friend in retro, Perifractic

 

User avatar
kliepatsch
Posts: 247
Joined: Thu Oct 08, 2020 9:54 pm

Tracker vs. piano roll (How to compose music on the X16?)

Post by kliepatsch »


Hey thanks for all the input! I will take it into account when thinking about what I will do. Of course depends also on how far I will get with the project overall.

Maybe this thread will also be useful for other projects, such as TeamX16, who intended to make music software, too. (But they may have already settled upon a tracker ...)

I see that a piano roll is more popular overall, which I can understand. However, I am scared about the fact that you need more infrastructure around a piano roll than for a tracker. A tracker is song structure and composing of all the parts, in a single view. For a piano roll, you cannot have the whole song in it. Also, the capabilities of a piano roll for editing modulations are near zero, which makes even more infrastructure necessary.

I like the idea of making a tracker with more flexible timing than usual.

A piano roll could still be made available by selecting one or more tracks, which makes the respective notes appear in a piano roll. So there could still be chords, but never more notes at a time than there are tracks selcted. And all the modulation could be done in the tracker. And to make the editing easier, some sort of cross-highlighting would be ideal. Hovering over a note in the piano roll could highlight the corresponding note in the tracker view and vice versa, so one would have to think less while fine tuning the notes.

This would currently be my dream ?



@TomXP411 pretty cool, I didn't know that Cakewalk has been around so early!

@John Chow Seymour thanks also for your thoughts. Yes, Zoom will be nice. I have to think about that. Mouse will be a requirement.

@Perifractic ha, I guessed so ? I didn't know you are a musician before you uploaded that video, though.

TomXP411
Posts: 1781
Joined: Tue May 19, 2020 8:49 pm

Tracker vs. piano roll (How to compose music on the X16?)

Post by TomXP411 »

kliepatsch wrote: Also, the capabilities of a piano roll for editing modulations are near zero, which makes even more infrastructure necessary.
You're just not being creative enough. ?
All of the DAWs I've used recently have a split view mode on the piano roll. The top half of the window shows the note, while the bottom half shows one or more controllers. 

I'll work up a quick mockup of what I mean and post it in a few minutes.

So here's what I mean. Note events are drawn on the piano roll portion at the top and the numbers below are control values applied to each note.
image.png.4a198e8ef92b7222f72ba8890768cf50.png
image.png.4a198e8ef92b7222f72ba8890768cf50.png (232.03 KiB) Viewed 1316 times


Look at something like SID Wizard, with 5 data elements per note, you could stack those data elements below the roll. With 60 rows on the screen, you can afford to have 20 rows dedicated to note data, while still having a linear track on the top... and you can offer different modes, with two or three levels of detail on the data elements part of the screen. 

For detailed editing, you could color code the channels (White=1, Yellow=2, etc), then show just one channel at the bottom and let the user use the TAB key to cycle through the channels.

 
User avatar
desertfish
Posts: 1096
Joined: Tue Aug 25, 2020 8:27 pm
Location: Netherlands

Tracker vs. piano roll (How to compose music on the X16?)

Post by desertfish »


Come to think of it, tracker music is basically just a list of instructions for a sound playback Virtual Machine. The playback overhead for this is minimal. I don't know if the same is true for other types of music representation

TomXP411
Posts: 1781
Joined: Tue May 19, 2020 8:49 pm

Tracker vs. piano roll (How to compose music on the X16?)

Post by TomXP411 »



6 minutes ago, desertfish said:




Come to think of it, tracker music is basically just a list of instructions for a sound playback Virtual Machine. The playback overhead for this is minimal. I don't know if the same is true for other types of music representation



The only difference between piano roll, tracker view, and an event list view is the way the data is presented. 

On a piano roll, you are simply drawing a graph where X=Time and Y=Note. Other information, like velocity (volume), modulation, pitch bend, and other parameters are usually shown as a segment or line graph below the roll. 

On a tracker view, you are listing the events on a grid where Y=Time and X=Channel or effect type.

No matter the display format, the underlying data structure is the same. Each event consists of a time index, an event type (note on, note off, patch change, controller change), and a data value (note number, controller value, patch number)

The rendering time is going to depend more on the size of the display than on the presentation method.  

Post Reply