"MiNT" - MidiNES Tracker concept

This is an archive of a topic from NESdev BBS, taken in mid-October 2019 before a server upgrade.
View original topic
"MiNT" - MidiNES Tracker concept
by on (#63016)
Hi all,

I'm posting this up here, to get constructive feedback on my idea, and maybe point out possible obstacles or impossibilities before this goes too deep in development.. :)

I have the idea of an interface running on pc/mac, with controls for all of midiNES' parameters, + a tracker to sequence it all. Basically FT2 style, or whatever tracker have you. I do want though, every available parameter of the MidiNES to be resetable for every new line in the tracker, meaning that all parameters should be "trackable".

Here is a preview of the controller section (inspired by image-lines plugins)

Big JPEG picture

The tracker section is being drawn nowadays.

Will midi bandwith be a problem? I'm currently looking at midi.org for info, so maybe I'll find it there.

I'm not the one going to program this, as I wouldn't have a clue how.. I make music, and are into graphics as a side-interest, so I just write down my thoughts and do the graphics for the GUI. My brother and a friend are the ones starting to program this.

I have a relatively big (and growing) google document with sort of a spec/design requirement up and running between us three, but if anyone wants in to read, let me know.

I'm thinking this should really be possible, because basically the program will just send midi messages through a midi interface and into the midiNES. Everything is "there", it just needs to be put into a tracker system :)

Currently we're just experimenting with some GUI stuff, like how to do the knobs for example.. I've made a sprite system for this, with a stationary knob base, a pointer + knob texture spread out over 60 slots, from min to max value, and a gauge layer, with the same 60 slots.. Check it out here:

http://flipside.ono.no/nesdev/mint/knob

(I didn't add it to the post, as it is 3200px wide..)

Any input is greatly appreciated! :)

Best,
Alex

by on (#63018)
Oh and I forgot to mention the whole reason for doing this:

As of now, I have my midiNES hooked up to Pro Tools.. and frankly it's horrible.. Just getting simple vibrato requires me drawing in the tiiinies automation, for each note.. and It's hopeless. Also, doing those fast arpeggios - pain.

For the tracker, I'm thinking a few additional things should be available than the controls.. I want to include traditional arpeggio tables, pulse tables, LFO tables.. and everytime a new note is triggered, you can say that for example arpeggio table 05 should be used.. and then the next note could use arpeggio table 03.. Make sense?

:)

Best,
Alex

by on (#63019)
I had to do a double-take to figure out whether you were selling something (in mint condition) you had a picture of, or whether it was a realistic-looking GUI. Very nice looking. :)

by on (#63087)
It's looking pretty nice. Pretty interesting too. I have a MidiNES, but never really used it, and haven't used MIDI much at all until the last couple months or so.

I'm actually putting MIDI on my next NES cart design, and that's mostly what I've been coding lately. As it is currently, it's entirely different from midiNES however. I'm writing a software synth (planned to have some hardware acceleration in the final design for better sound quality).

Right now I'm just setting up the very most basic features, now that I have a working setup compiling in Windows with realtime MIDI-in and audio. I recently picked up a BCR2000 and am sure to have all sorts of fun creating all the instrument parameters with this.

But that being said, I have used trackers for a long time and it would be just awesome if my sound expansion could be supported in a tracker like this. Before long I should be able to have it playing General MIDI files (through a MIDI messaging filter though for now). I use the program Guitar Pro for some stuff, I can easily export to MIDI with that, but it would be big fun if there was a tracker to play with.
My dis am bigger than yours
by on (#63104)
Atari ST users might find the name confusing.

by on (#63224)
blargg wrote:
I had to do a double-take to figure out whether you were selling something (in mint condition) you had a picture of, or whether it was a realistic-looking GUI. Very nice looking. :)


Haha.. Yeah would be nice as a hardware controller ;) Thanks!


Memblers wrote:
It's looking pretty nice. Pretty interesting too. I have a MidiNES, but never really used it, and haven't used MIDI much at all until the last couple months or so.

I'm actually putting MIDI on my next NES cart design, and that's mostly what I've been coding lately. As it is currently, it's entirely different from midiNES however. I'm writing a software synth (planned to have some hardware acceleration in the final design for better sound quality).

Right now I'm just setting up the very most basic features, now that I have a working setup compiling in Windows with realtime MIDI-in and audio. I recently picked up a BCR2000 and am sure to have all sorts of fun creating all the instrument parameters with this.

But that being said, I have used trackers for a long time and it would be just awesome if my sound expansion could be supported in a tracker like this. Before long I should be able to have it playing General MIDI files (through a MIDI messaging filter though for now). I use the program Guitar Pro for some stuff, I can easily export to MIDI with that, but it would be big fun if there was a tracker to play with.


Thanks! Yours sound like an interesting project too! So you're basically doing your own midiNES? And you're thinking the tracker could be used for output to your own NES cart design? What's fun about it is that that would totally be possible.. Basically you'd have the arpeggio features and stuff and could send that to another midi synth than the NES too..


tepples wrote:
Atari ST users might find the name confusing.

What the.. I wasn't aware of that.. And the name is right down to the way I wrote mine.. Sigh! Well for now the work title will be MiNT anyways, but thanks for the heads-up! :)

by on (#63231)
One thing which bother me with MIDI is that there is a minimum of 7 bytes per note (key on mesage - pitch, velocity then delta-time value, then key off message - pitch -velocity). Which is damn inefficient.

by on (#63233)
Yeah.. Do you suppose it will cause timing issues/problems? We have yet to do tests with this..

Alex

by on (#63305)
Bregalad wrote:
One thing which bother me with MIDI is that there is a minimum of 7 bytes per note (key on mesage - pitch, velocity then delta-time value, then key off message - pitch -velocity). Which is damn inefficient.

Delta time exists only in MIDI files, they are not part of the MIDI specs. Also, using running statuses, you can save a byte, reusing note on message but with 0 velocity.

So a delimited note can use only 5 bytes: note on + channel, key, velocity, then key, 0 later, if no other status message came between.

by on (#63306)
~J-@D!~ wrote:
Delta time exists only in MIDI files, they are not part of the MIDI specs.

Even if you're representing the wire protocol directly, any log of MIDI data would still might need a byte to show how long the line has remained in the "stop bit" state.

Running status works best in format 1 MIDI files or other single-channel environments.

by on (#63308)
flipside wrote:
Thanks! Yours sound like an interesting project too! So you're basically doing your own midiNES? And you're thinking the tracker could be used for output to your own NES cart design? What's fun about it is that that would totally be possible.. Basically you'd have the arpeggio features and stuff and could send that to another midi synth than the NES too..


Yeah, it is sorta my own midiNES. xik and I years ago had talked about combining our projects (midiNES and Squeedo), but now that I've upgraded the MCU I'm using I wouldn't be able to use his asm code directly. But when I get closer having it on an NES cart (or maybe put an NES sound emu into the PC version) I'll contact him and see about making it compatible.

Recently I got my synth able to work decently and sounding great when playing some general MIDI files (I need to create more instruments though). I still have to add proper polyphony, as it is now it dedicates an audio channel to each of the 16 MIDI channels, but of course MIDI is allowed to play several notes over one MIDI channel. But I should have that solved pretty soon, then it should play virtually every general MIDI file properly. :D


Quote:
Yeah.. Do you suppose it will cause timing issues/problems? We have yet to do tests with this..


I think it will be OK, as long as your not trying to do arpeggios on every channel at some extremely high rate. The PIC in MIDINES is reasonably fast, I'm not sure what the code is doing in there exactly but there is surely a FIFO buffer. On my old Squeedo version using the same MCU I had a 256 byte FIFO buffer and it was communicating at 115.2kbs just fine (whereas MIDI is something like 31kbs). However the MCU->NES communications are totally different between those 2 projects, I still think it'll be OK though.

by on (#63857)
i registered for this site just to say that i would LOVE a program like this.