Forums

Sega Master System / Mark III / Game Gear
SG-1000 / SC-3000 / SF-7000 / OMV
Home - Forums - Games - Scans - Maps - Cheats - Credits
Music - Videos - Development - Hacks - Translations - Homebrew

View topic - vgm tracker

Reply to topic
Author Message
  • Joined: 16 May 2002
  • Posts: 1356
  • Location: italy
Reply with quote
vgm tracker
Post Posted: Wed May 15, 2002 12:26 pm
some times ago I read a message asking for a vgm tracker... maybe if I have some loss time I'll try to assemble something working about it. I don't know if I will really make it, but I can try. Expect good news, maybe it will be really possible. if I'll make it, I'll post it on this forum or I'll submit it to smspower!'s staff. surely I'll try to get it.
Bye!
  View user's profile Send private message Visit poster's website
  • Joined: 06 Mar 2002
  • Posts: 49
Reply with quote
Post Posted: Wed May 15, 2002 12:58 pm
Quote
> some times ago I read a message asking for a vgm tracker... maybe if I have some loss time I'll try to assemble something working about it. I don't know if I will really make it, but I can try. Expect good news, maybe it will be really possible. if I'll make it, I'll post it on this forum or I'll submit it to smspower!'s staff. surely I'll try to get it.

Actually, I've been trying to do an SMS music tracker for a while. I was writing is as a music/sfx engine for the SMS/GG, which could also export to VGMs. Maybe we could compare ideas?
  View user's profile Send private message
  • Joined: 16 May 2002
  • Posts: 1356
  • Location: italy
Reply with quote
Post Posted: Thu May 16, 2002 11:13 am
Quote
> Actually, I've been trying to do an SMS music tracker for a while. I was writing is as a music/sfx engine for the SMS/GG, which could also export to VGMs. Maybe we could compare ideas?

Sure the help is always a good thing, but I don't understand what you mean for engine...
I am not start working yet because of my school (I'll soon have final exams), but I think to build the tracker just like fast tracker or (at least) like Midi orchestrator plus... in my mind I want to put time (in samples or in /60 seconds) on the left side, displaying the events divided in 1 column for each channel on the right side of the screen...
Surely, I'll make it under Dos environment. It's difficult to see me programming something similar for Win32 because I think that Dos is very better for this gender of things. Am I right? Just tell me. My e-mail address is . Please don't fill up my e-mail, just tell me if you have some hints. And please remember: I am Italian, so my English isn't very good.
Bye.
  View user's profile Send private message Visit poster's website
  • Joined: 06 Mar 2002
  • Posts: 49
Reply with quote
Post Posted: Thu May 16, 2002 11:37 am
Quote
> Sure the help is always a good thing, but I don't understand what you mean for engine...

I wanted to make a music editor so that I can play the music in a real Master System game/demo. The engine is just the program on the SMS that plays the music. For just a tracker, you wouldn't need to worry too much about it.

Quote
> I am not start working yet because of my school (I'll soon have final exams)

Same as me, then. I've got some work to do before I can really get started.

Quote
> but I think to build the tracker just like fast tracker or (at least) like Midi orchestrator plus...

Yes, that's what I had in mind. The Amiga-style tracker is a good method for computer music. And it should make the playing software much simpler that MIDI-style editors. I've never used Midi orchestrator plus, so I can't comment on that.

I thought that I'd have each note last a certain number of frames/samples (the same as the old Amiga trackers). Each note can have a frequency and a volume, and maybe a volume envelope (basically an instrument like the Amiga trackers used).

I'd store the songs in a format similar to the .MOD format, with options to export to .VGM and a real Master System ROM. From there it shouldn't be too difficult to code a tracker/player for any system with good sound hardware.

Quote
> Surely, I'll make it under Dos environment. It's difficult to see me programming something similar for Win32 because I think that Dos is very better for this gender of things.

I disagree, but then again I HATE programming in DOS. I prefer a proper 32-bit operating system for everything. Just make it in whatever you feel most comfortable with. Even better would be to make the tracker on a real SMS!

Quote
> And please remember: I am Italian, so my English isn't very good

I'm English, and I bet that my Italian is far worse that your English! I can name a few foods, and that's about it.

Quote
> Bye.
Bye!
  View user's profile Send private message
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 14745
  • Location: London
Reply with quote
Post Posted: Fri May 17, 2002 11:12 am
Quote
> > but I think to build the tracker just like fast tracker or (at least) like Midi orchestrator plus...

> Yes, that's what I had in mind. The Amiga-style tracker is a good method for computer music. And it should make the playing software much simpler that MIDI-style editors. I've never used Midi orchestrator plus, so I can't comment on that.

> I thought that I'd have each note last a certain number of frames/samples (the same as the old Amiga trackers). Each note can have a frequency and a volume, and maybe a volume envelope (basically an instrument like the Amiga trackers used).

Handling volume envelopes is quite tricky, although that's what a lot of games' music engine does. Frequency and volume is, of course, a lot simpler.

Quote
> I'd store the songs in a format similar to the .MOD format, with options to export to .VGM and a real Master System ROM. From there it shouldn't be too difficult to code a tracker/player for any system with good sound hardware.

Hmm... have you played with MOD2PSG at all? Obviously MOD -> PSG is a downgrade in capabilities so it would take some playing with, and it would take at least a little expertise to turn it into a playable rom, which is probably why it's not so popular.

Also, how about FM? The YM2413 is far closer to the MIDI/musical notation pardigm, which is probably easier to compose for.

Quote
> > Surely, I'll make it under Dos environment. It's difficult to see me programming something similar for Win32 because I think that Dos is very better for this gender of things.

> I disagree, but then again I HATE programming in DOS. I prefer a proper 32-bit operating system for everything. Just make it in whatever you feel most comfortable with.

In terms of making it using a language like C, DOS is easier because the Win32 API is horrible, and MFC (which was designed to make it easier) is also apparently horrible. Personally, I would do it in Delphi because it's much easier - just drop a TImage on a form and you have a bitmap you can draw on easily. VB can probably do a similar thing, albeit with a 5MB runtime requirement...

Quote
> Even better would be to make the tracker on a real SMS!

*cough* Well, yes, but...

Maxim
  View user's profile Send private message Visit poster's website
  • Joined: 16 May 2002
  • Posts: 1356
  • Location: italy
Reply with quote
Post Posted: Fri May 17, 2002 12:19 pm
Quote
> > > but I think to build the tracker just like fast tracker or (at least) like Midi orchestrator plus...

> > Yes, that's what I had in mind. The Amiga-style tracker is a good method for computer music. And it should make the playing software much simpler that MIDI-style editors. I've never used Midi orchestrator plus, so I can't comment on that.

Amiga style is always the best one. We can make several zoom levels to see each frame by frame or the whole song as well like the piano role in old westerns...

Quote
> > I thought that I'd have each note last a certain number of frames/samples (the same as the old Amiga trackers). Each note can have a frequency and a volume, and maybe a volume envelope (basically an instrument like the Amiga trackers used).

> Handling volume envelopes is quite tricky, although that's what a lot of games' music engine does. Frequency and volume is, of course, a lot simpler.

I hope that Maxim or some other music genius will help me with the output engine... is it true?

Quote
> > I'd store the songs in a format similar to the .MOD format, with options to export to .VGM and a real Master System ROM. From there it shouldn't be too difficult to code a tracker/player for any system with good sound hardware.

> Hmm... have you played with MOD2PSG at all? Obviously MOD -> PSG is a downgrade in capabilities so it would take some playing with, and it would take at least a little expertise to turn it into a playable rom, which is probably why it's not so popular.

> Also, how about FM? The YM2413 is far closer to the MIDI/musical notation pardigm, which is probably easier to compose for.

> > > Surely, I'll make it under Dos environment. It's difficult to see me programming something similar for Win32 because I think that Dos is very better for this gender of things.

> > I disagree, but then again I HATE programming in DOS. I prefer a proper 32-bit operating system for everything. Just make it in whatever you feel most comfortable with.

> In terms of making it using a language like C, DOS is easier because the Win32 API is horrible, and MFC (which was designed to make it easier) is also apparently horrible. Personally, I would do it in Delphi because it's much easier - just drop a TImage on a form and you have a bitmap you can draw on easily. VB can probably do a similar thing, albeit with a 5MB runtime requirement...

I think to do (at least the ß version) with QuickBasic because it's my favourite language, but maybe I'll write some routines in ASM or other low-level languages...

Quote
> > Even better would be to make the tracker on a real SMS!

Maybe...

Quote
> *cough* Well, yes, but...

> Maxim

But remember: I'll have soon final examinations, so don't expect great things in a quick period... let me work this summer, ok?

Bye.
  View user's profile Send private message Visit poster's website
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 14745
  • Location: London
Reply with quote
Post Posted: Fri May 17, 2002 12:42 pm
Quote
> > Handling volume envelopes is quite tricky, although that's what a lot of games' music engine does. Frequency and volume is, of course, a lot simpler.

> I hope that Maxim or some other music genius will help me with the output engine... is it true?

Well... I don't know. The SMS has a lot of processing time when you're not doing a game at the same time, so the code doesn't even need to be particularly optimised. It's just a matter of coding the required features and making the data format to specify frequency, volume, vibrato, amplitude modulation, envelope, channel, etc. Plus noise, of course. I think the most important thing is to make it easy to preview the music, either by a fast VGM export and multitasking in Windows (another reason not to do it in Dos) or inside the program (even harder).

And remember... hardly anyone will want your program. It won't be very popular. There are a handful of people writing original NSF music, the SMS fanbase is far smaller.

Quote
> I think to do (at least the ß version) with QuickBasic because it's my favourite language, but maybe I'll write some routines in ASM or other low-level languages...

Hmm. If you can code in ASM then why code in Basic? Aim for something between the two... although I understand that once you've settled on a language you don't want to change.

Maxim
  View user's profile Send private message Visit poster's website
  • Joined: 16 May 2002
  • Posts: 1356
  • Location: italy
Reply with quote
Post Posted: Sat May 18, 2002 1:44 pm
I started programming... now I can read VGM headers. For the rest... I need time...
  View user's profile Send private message Visit poster's website
  • Joined: 06 Mar 2002
  • Posts: 49
Reply with quote
Post Posted: Sat May 18, 2002 2:38 pm
Quote
> Handling volume envelopes is quite tricky, although that's what a lot of games' music engine does. Frequency and volume is, of course, a lot simpler.

Indeed it is. Anyone have any ideas on this? The only (rubbish) idea I've had is to store it like a waveform. Obviously having specified envelopes (Attack, Decay, Sustain, Release or whatever) would be better. Maybe other instrument parameters, like vibrato and, erm, thingy. What's it called? Like vibrato, but with volume (tremolo?). Or is vibrato with volume?

Quote
> Hmm... have you played with MOD2PSG at all? Obviously MOD -> PSG is a downgrade in capabilities so it would take some playing with, and it would take at least a little expertise to turn it into a playable rom, which is probably why it's not so popular.

I have. Don't like it. Too hard, only uses Amiga trackers. However (interesting idea coming up) a dedicated PSG tracker/player could be built with modified MOD2PSG stuff. Hmm... An interseting idea...

Quote
> Also, how about FM? The YM2413 is far closer to the MIDI/musical notation pardigm, which is probably easier to compose for.

Hmm... Yes, I was thinking of that, but I don't actually know how to program the chip. Also, having more than one song that uses both sound chips would be nice.

Quote
> In terms of making it using a language like C, DOS is easier because the Win32 API is horrible, and MFC (which was designed to make it easier) is also apparently horrible. Personally, I would do it in Delphi because it's much easier - just drop a TImage on a form and you have a bitmap you can draw on easily. VB can probably do a similar thing, albeit with a 5MB runtime requirement...

I could actually do all of it in VB, but it's just too slow to emulate a PSG. I've tried: 50% CPU use on an Athlon 800Mhz. Ouch! And that was compiled as native code. Try that with, say, a tracker running too, and it's just too slow.

I'd use C, and use the same sound/graphics library that my emulator uses. That neatly gets around the Win32 API being horrible, because I hardly have to use it! And I can use my PSG engine too, and have in-tracker playback.

I'm planning a re-write of my emulator anyway, partly to get rid of one serious bug that I can not track down, and partly to improve the Win32 code (which is OK, but I don't like it much) and GUI code (which is currently non-existant). With my planned GUI/System code, I would have no trouble writing an SMS tracker. I could even build it into the emulator! Hmm... another interesting idea...

I agree that the Win32 API sucks. I like some of the Java runtime librarys, but the problem with those is that you HAVE to use Java (which is as slow as VB).

Quote
> > Even better would be to make the tracker on a real SMS!

> *cough* Well, yes, but...

*cough* Yes, but... what?

BlackAura
  View user's profile Send private message
  • Joined: 06 Mar 2002
  • Posts: 49
Reply with quote
Post Posted: Sat May 18, 2002 2:42 pm
Quote
> And remember... hardly anyone will want your program. It won't be very popular. There are a handful of people writing original NSF music, the SMS fanbase is far smaller.

Why? Granted, few people will actually want the editor for it's own sake, but it'd be usefull (spelt incorrectly?) for demos. Most of the demos/games we have are either silent, or have bad sound effects and that's it. The only exception that springs to mind is Copyright Violation. And it's music was, erm, 'borrowed' from a commercial game. Failing that, I'd use it!
  View user's profile Send private message
  • Joined: 16 May 2002
  • Posts: 1356
  • Location: italy
Reply with quote
Post Posted: Sat May 18, 2002 4:30 pm
Quote
> > And remember... hardly anyone will want your program. It won't be very popular. There are a handful of people writing original NSF music, the SMS fanbase is far smaller.

> Why? Granted, few people will actually want the editor for it's own sake, but it'd be usefull (spelt incorrectly?) for demos. Most of the demos/games we have are either silent, or have bad sound effects and that's it. The only exception that springs to mind is Copyright Violation. And it's music was, erm, 'borrowed' from a commercial game. Failing that, I'd use it!

I will be happy if my tracker will have a large target... but remember that it does not exist yet, and I don't know if I'll really make it in a quick time. (I have final examination this year... haaah, the school!)
And I think that it will edit&compose only... it won't play sound unless someone tell me something more about SBlaster utilization... at least I will play ONE psg channel via pc-speaker... yes, I think I'll do in this way.

Bye!
  View user's profile Send private message Visit poster's website
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 14745
  • Location: London
Reply with quote
Post Posted: Sun May 19, 2002 7:13 am
Quote
> > And remember... hardly anyone will want your program. It won't be very popular. There are a handful of people writing original NSF music, the SMS fanbase is far smaller.

> Why? Granted, few people will actually want the editor for it's own sake, but it'd be usefull (spelt incorrectly?) for demos. Most of the demos/games we have are either silent, or have bad sound effects and that's it. The only exception that springs to mind is Copyright Violation. And it's music was, erm, 'borrowed' from a commercial game. Failing that, I'd use it!

Because... most of us have *no* musical skill. And MOD2PSG was written exactly for that purpose, and how many times has it been used?

I imagine that if someone ever gets a big homebrew project going, they will require artists and musicians. For now, it's always 1-person efforts so you get what we can do...

Maxim
  View user's profile Send private message Visit poster's website
  • Joined: 16 May 2002
  • Posts: 1356
  • Location: italy
Reply with quote
Help needed
Post Posted: Sun May 19, 2002 9:32 am
To everyone that know VGM format...
the public specs on this site doesn't help me very much. Does anybody can tell me something more about note events (how to calculate frequency, duration, volume, ecc...) and some other details?
Thank you.
  View user's profile Send private message Visit poster's website
  • Joined: 06 Mar 2002
  • Posts: 49
Reply with quote
Post Posted: Sun May 19, 2002 10:23 am
Quote
> Because... most of us have *no* musical skill. And MOD2PSG was written exactly for that purpose, and how many times has it been used?

Granted. All we really need is ONE composer, though. Or just to translate the music to PSG format (which I think even I could do).

Quote
> I imagine that if someone ever gets a big homebrew project going, they will require artists and musicians. For now, it's always 1-person efforts so you get what we can do...

Yeah, I know. Even so, some music (even such rubbish as could be done by a programmer) would be better than silence in most cases. And remember, most games of the early '80s were make by one person alone. And we could build this tracker to also work on other systems. At least for BBCs and MSXs. If we were to use the other FM chips too, we could also support Mega Drive music. That combined fanbase is larger.
  View user's profile Send private message
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 14745
  • Location: London
Reply with quote
Re: Help needed
Post Posted: Sun May 19, 2002 3:41 pm
Quote
> To everyone that know VGM format...
> the public specs on this site doesn't help me very much. Does anybody can tell me something more about note events (how to calculate frequency, duration, volume, ecc...) and some other details?
> Thank you.

The VGM file format is basically a raw PSG data dump. See the relevant docs for information on how the PSG works. I'm something of a PSG expert I think, so I can answer any questions - email me if you like.

Maxim
  View user's profile Send private message Visit poster's website
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 14745
  • Location: London
Reply with quote
Post Posted: Sun May 19, 2002 4:02 pm
Quote
> > Handling volume envelopes is quite tricky, although that's what a lot of games' music engine does. Frequency and volume is, of course, a lot simpler.

> Indeed it is. Anyone have any ideas on this? The only (rubbish) idea I've had is to store it like a waveform. Obviously having specified envelopes (Attack, Decay, Sustain, Release or whatever) would be better. Maybe other instrument parameters, like vibrato and, erm, thingy. What's it called? Like vibrato, but with volume (tremolo?). Or is vibrato with volume?

Vibrato is frequency modulation, tremolo is something else entirely. Dunno what the volume one's called.

I was thinking of having predefined volume envelopes, available as "numbers" (like, #1 = sustain, #2 = decay, or something), looking up the volume data in tables. The speed at which to read through the tables could also be defined (maybe x steys per y frames, allowing a large speed variation). Extra envelopes could be easily added.

Quote
> > Also, how about FM? The YM2413 is far closer to the MIDI/musical notation pardigm, which is probably easier to compose for.

> Hmm... Yes, I was thinking of that, but I don't actually know how to program the chip. Also, having more than one song that uses both sound chips would be nice.

It's musically very sensible. You have 9 bits of frequency resolution per octave and 3 bits setting the octave. Then you set the instrument number (4 bits) and volume (4 bits), and there's 2 bits for sustain and key. All squeezed into 3 bytes.

Quote
> I could actually do all of it in VB, but it's just too slow to emulate a PSG. I've tried: 50% CPU use on an Athlon 800Mhz. Ouch! And that was compiled as native code. Try that with, say, a tracker running too, and it's just too slow.

Heh :D As a Delphian, I'm glad to hear that... the first few version of in_vgm were made in Delphi and were about 10% on a K6-400. C is about twice as fast as that, but considering Delphi is comparable to VB in terms of programming style... ah, I'm getting away from the point.

Quote
> > > Even better would be to make the tracker on a real SMS!

> > *cough* Well, yes, but...

> *cough* Yes, but... what?

But... it's be hellish entering data, it'd be the most complex program yet written by a fair distance, and I'm not going to do it...

Maxim
  View user's profile Send private message Visit poster's website
  • Joined: 16 May 2002
  • Posts: 1356
  • Location: italy
Reply with quote
Work in progress
Post Posted: Mon May 20, 2002 2:38 pm
I am programming. For now my tracker can only play tunes via pc-speaker and w/o graphics...
Just for say to all of you that I am programming. Just be patient.

Bye
  View user's profile Send private message Visit poster's website
Martin Skog
  • Guest
Reply with quote
Kind of made my own...
Post Posted: Wed May 22, 2002 7:09 am
Kind of made my own VGM tracker, but it doesn't count. I use FT2 and then I use only my own Square Waves (including 4 different frequencies to make it sound true to the original - "harder" at low notes and "softer" on higher notes).
My own NOISE sound in the fourth channel.

Then I only allow myself to use volume scaling effects, vibrato and pitchbending effects. Other samples are not used. The NOISE is not sampled emulated noise drums from any game, but just a long noise that I use with volume scaling effects to create those kinda drum sounds. Listen to my version of "Phantasy Star Them", anyone wanna upload it anywhere?

- Martin
 
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 14745
  • Location: London
Reply with quote
Upload?
Post Posted: Wed May 22, 2002 4:44 pm
Quote
> Listen to my version of "Phantasy Star Them", anyone wanna upload it anywhere?

I can add a "home-made VGM" section or something, if there's enough demand for it. And if Bock agrees :) he's the boss...

Maxim
  View user's profile Send private message Visit poster's website
  • Site Admin
  • Joined: 08 Jul 2001
  • Posts: 8653
  • Location: Paris, France
Reply with quote
Sure
Post Posted: Wed May 22, 2002 7:43 pm
Quote
>> Listen to my version of "Phantasy Star Them", anyone wanna
>> upload it anywhere?

> I can add a "home-made VGM" section or something, if
> there's enough demand for it. And if Bock agrees :) he's
> the boss...

Martin was referring to a module.
But a "non-VGM" section was planned, as shown from the menu.
  View user's profile Send private message Visit poster's website
  • Joined: 16 May 2002
  • Posts: 1356
  • Location: italy
Reply with quote
I am a musician
Post Posted: Thu May 23, 2002 12:58 pm
Quote
> >> Listen to my version of "Phantasy Star Them", anyone wanna
> >> upload it anywhere?

> > I can add a "home-made VGM" section or something, if
> > there's enough demand for it. And if Bock agrees :) he's
> > the boss...

> Martin was referring to a module.
> But a "non-VGM" section was planned, as shown from the menu.

Well... I have some remixes and other stuff in non-vgm format... and I also am something like a musician. So I can help (if you want) in the limits of my (very poor!) free time.

Bye!
  View user's profile Send private message Visit poster's website
Reply to topic



Back to the top of this page

Back to SMS Power!