I have an idea. A music sequencer using the 'tracker' (fast tracker, pro tracker, milky tracker, octamed etc) style GUI. Basically a music box sheet/pianola. In my mind it would need redpower 2.

Side 1; Rythm section;

Black Wire = Kick
Red Wire = Snare
Green Wire = Hihat
Brown Wire = Stick
Side 2 (Piano Oct 1)

Black Wire = F#/G
Red Wire = G
Green Wire = G#/A
Brown Wire = A
Blue Insulated Wire = A#/B
Purple Wire = B
Cyan Wire = C
Light Gray Wire = C#/D
Gray Wire = D
Pink Wire = D#/E
Lime Wire = E
Yellow Wire = F
Light Blue Wire = F#/G

Side 3 (Piano Oct 2)

Black Wire = F#/G
Red Wire = G
Green Wire = G#/A
Brown Wire = A
Blue Insulated Wire = A#/B
Purple Wire = B
Cyan Wire = C
Light Gray Wire = C#/D
Gray Wire = D
Pink Wire = D#/E
Lime Wire = E
Yellow Wire = F
Light Blue Wire = F#/G

etc…

As for the basic layout of the program. I suggest 5 individual parts. Arrangement, Rhythm. Bass. Solo piano. Piano Chords. I am not very technically minded so here is how I imagine the functionality of the program. As you boot the program (and have build the music machine around it) up you are met with something like;
——————————–

Welcome to MineTracker
[load][new]

——————————-

You press [new]

——————————-


Filename:_


——————————-

Filename:Newsong_

——————————
Newsong

Rhythm|Bass| Solo|Chord
00 — | — | — |
01 — | — | — |
02 — | — | — |
03 — | — | — |
04 — | — | — |
05 — | — | — |
06 — | — | — |
07 — | — | — |
[Save][Instrument edit][X]
—–

[Instrument edit]
[Rhythm][Bass][Solo][Chord]

If you wanted to make a techno song. You would start by making the [Rhythm] parts.

Rhythm: Part1
Kick |snare|hihat|Stick|
00 -*- | — | — | — |
01 — | — | — | — |
02 — | — | -*- | — |
03 — | — | — | — |
04 -*- | -*- | — | — |
05 — | — | — | — |
06 — | — | -*- | — |
07 — | — | — | — |
[Save][/..][>>]

Rhythm: Part2
Kick |snare|hihat|Stick|
00 -*- | — | — | — |
01 — | — | — | — |
02 — | — | -*- | — |
03 — | — | — | — |
04 -*- | -*- | — | — |
05 — | — | — | — |
06 -*- | — | -*- | — |
07 — | — | — | — |
[Save][/..][<<|>>]

Rhythm: Part3
Kick |snare|hihat|Stick|
00 -*- | — | — | — |
01 — | — | -*- | — |
02 — | — | -*- | — |
03 — | — | -*- | — |
04 -*- | -*- | — | — |
05 — | — | -*- | — |
06 — | — | -*- | — |
07 — | — | -*- | — |
[Save][/..][<<|>>]

etc. Basic drum machine stuff. Then we would make our bassline

Bass: part 1
Bass|
00 — |
01 — |
02 C#3|
03 — |
04 — |
05 C#3|
06 — |
07 C#3|
[Save][/..][>>]

Bass: part 2
Bass|
00 — |
01 — |
02 C#3|
03 — |
04 — |
05 — |
06 C#3|
07 — |
[Save][/..][<<|>>]

Then we would make a couple more where we change key etc.

When we have constructed the parts for rythm, bass and piano we want, we can go back to the arrangement window`.


Rhythm |Bass|Solo |Chord
00 -P1 | -p2 | — |
01 -P1 | -p2 | — |
02 -P1 | -p2 | — |
03 -P2 | -p1 | — |
04 -P1 | -p2 | — |
05 -P1 | -p2 | — |
06 -P1 | -p2 | — |
07 -P2 | -p1 | — |
[Save][Instrument edit]

this play one whole part per line unlike the individual parts which is read faster with a break between each line, how this break is timed dictate the style (4/4 3/4…). The arrangement window simply read one line after the other timed after the duration of the parts. If bass, rhythm and piano have a part at the same time, obviously, they play at the same time. no breaks between the lines. I dont think the individual parts should be limited to 8 lines, it could be 16 or 64. thats just for example here and because it works with a beat and a simple bassline. Also the arrangement window should scroll down as far as you need to for the length of your song.

Chords section. Will be the most time consuming I reckon but I can help with all the individual notes for each chord. Same basic functionality as the other channels. What you type, it plays. Alternatively it could be 5-6 rows in which you can arrange your own chords. Chord and lead could be merged into a handful of channels and both are arranged in the same window.

I could write a script for each song, that is within my capability but imagine a real music program in which you dont have to fiddle with timings and can just place notes in a sheet thats being read in a timed manner.

I hope some of it made sense and that some talented programmer with too much free time on their hands and not enough projects would take up the task for the sake of challenge.