Musetracker

This is an archive of a topic from NESdev BBS, taken in mid-October 2019 before a server upgrade.
View original topic
Musetracker
by on (#70207)
I released a new NES music tracker yesterday, called Musetracker (previously Pornotracker):

http://kkfos.aspekt.fi/projects/nes/tools/musetracker/

Image

Any feedback is welcome.

by on (#70215)
Tried it a bit. It was quite cool! Although I noticed that I have been too used to using mouse in FamiTracker. Anyway, reading the documentation helped me find the right keys!

by on (#70220)
http://truechiptilldeath.com/blog/2010/ ... -appeared/

by on (#75339)
Version 1.1 beta released: http://kkfos.aspekt.fi/2011/03/11/porno ... v1-1-beta/

by on (#79846)
great music tracker! good job

by on (#79855)
Stupid name, though. :?

by on (#79856)
Thanks for that constructive criticism :roll:

by on (#79859)
qbradq wrote:
Thanks for that constructive criticism :roll:


Yeah, I like to avoid pointless unnecessary references to Godless sleaze in my music trackers. So sue me. :roll: It would benefit from a name change. And that's all the criticism I can give, because I won't touch this thing as it is. I feel that strongly about it. Not that I expect any of you care.

by on (#79871)
Prawno Tracker would be fine. Then you could have a shrimp icon.

by on (#79894)
GawdTracker.

by on (#79896)
KGN-004 wrote:
Yeah, I like to avoid pointless unnecessary references to Godless sleaze in my music trackers. So sue me. :roll: It would benefit from a name change. And that's all the criticism I can give, because I won't touch this thing as it is. I feel that strongly about it. Not that I expect any of you care.

From the tracker doc:
Quote:
You can change the tracker background image by placing a file named "user-background.bmp" (736x592) in the same directory as the Pornotracker executable.

Also, the name in the app window changes to Pxxxxtracker.

by on (#79908)
KGN-004 wrote:
qbradq wrote:
Thanks for that constructive criticism :roll:


Yeah, I like to avoid pointless unnecessary references to Godless sleaze in my music trackers. So sue me. :roll: It would benefit from a name change. And that's all the criticism I can give, because I won't touch this thing as it is. I feel that strongly about it. Not that I expect any of you care.

I appreciate your opinion, but I'm not going to change the name. It's just a joke and nothing else.

by on (#80923)
I keep meaning to try this out but keep forgetting. I'm not to the point where I need music yet I suppose.

Anyhow, I do have one question: Is there a playback library included that is suitable for a game? Like something supporting multiple songs, and the ability to play sound effects while a song is running?

by on (#80929)
qbradq wrote:
Anyhow, I do have one question: Is there a playback library included that is suitable for a game? Like something supporting multiple songs, and the ability to play sound effects while a song is running?

Not yet, however that is on the TODO-list (because I plan to use this tracker for my own game-in-progress). Of course it will not support raw PCM samples, but I do plan to add DPCM support soon(ish). Too bad DPCM really complicates the NSF export a lot... as if it wasn't complicated enough already because of raw PCM.

by on (#80932)
I don't plan on using DCPM anyhow. I'm hoping to use it for scrolling effects.

by on (#82882)
Version 1.3 is out. Get it from http://kkfos.aspekt.fi/projects/nes/tools/pornotracker/

New features:

- FamiTone text export
- Software synthesized pulse/saw on the PCM channel
- Max. number of instruments increased to 255
- Max. envelope length increased to 250
- PCM samples are loaded in normal instrument slots
- DPCM sample support
- Cycle perfect NSF timing
- Changeable instrument colors
- Instrument envelopes can be copied to Windows clipboard

by on (#83853)
Version 1.4 released: http://kkfos.aspekt.fi/projects/nes/tools/pornotracker/

This version also includes a new 6502 playback library, called MUSE.

Changes:

- MUSE (6502 playback library for games and demos)
- Linear frequency handling (note slide speed and vibrato is not dependent on the note frequency anymore)
- Glissando
- Max. channel volume was changed from 15 to 63
- Modifier keys don't hang when using Alt+Tab to switch windows (SDL fix)
- Support for display drivers that don’t support non-power-of-two textures
- Fix to copy/pasting from the triangle channel
- Fixed (bad!) bugs in autodelay
- Volume envelope ending in 0 with loop is now considered a note off
- Fixed note slides/etc in the example songs
- Various other bugfixes

by on (#94704)
Hi, I don't know if you plan on releasing another version, but I had a couple of requests in mind for DPCM: note delay, and Z effect (delta counter). Thanks...this is a great tracker.

by on (#94705)
cak wrote:
Hi, I don't know if you plan on releasing another version, but I had a couple of requests in mind for DPCM: note delay, and Z effect (delta counter). Thanks...this is a great tracker.

A new version is not likely to happen anytime soon (sometime in the future is possible), but thanks for the suggestions.

by on (#94717)
Ah ok, I understand. Also, I was wondering if integral tempi are possible in NTSC mode? 150 bpm seems to skip a frame here and there.
edit: Nevermind, I found this at your website:
Quote:
I added NTSC mode to Pornotracker so that the user knows exactly how the song would sound when exported to NTSC NSF. Multimode NSF is too much work so it won’t be supported. Currently all the mode flag does is set the CPU clock rate, so note frequencies and tempos are off. I will certainly fix the note frequencies but still undecided on the tempo issue, as there are some problems with that.

Actually that would be great if you could fix that someday. The other things I mentioned are inessential in comparison. Anyway, thanks for the reply.

by on (#94749)
cak wrote:
Ah ok, I understand. Also, I was wondering if integral tempi are possible in NTSC mode? 150 bpm seems to skip a frame here and there.

Yeah this is unfortunately true, you can't use 150 bpm to get a integral tempo. The reason is that NTSC mode isn't a true NTSC mode in the sense that it doesn't run at 60Hz. Why? Because the NSF code is completely cycle timed for PAL machines, and I didn't want to rewrite it for NTSC. So the ratio between the speeds of PAL/NTSC modes in Musetracker is not 60/50 = 1.2, but 1789773/1662607 = 1.0765 (based on CPU frequencies).

So, theoretically, the base "integral" tempo for NTSC would then be 125 * 1.0765 = 134.5625 (unfortunately not an integer :(). So a tempo of 135 bpm should get you pretty close to an integral tempo.

What I really should do, is add another NTSC mode based on the 60/50 ratio. This wouldn't work with NSF export (unless I add another NSF export option based on MUSE, without raw PCM and auto-delay support). Maybe some day.

by on (#94754)
cak wrote:
edit: Nevermind, I found this at your website:
Quote:
I added NTSC mode to Pornotracker so that the user knows exactly how the song would sound when exported to NTSC NSF. Multimode NSF is too much work so it won’t be supported. Currently all the mode flag does is set the CPU clock rate, so note frequencies and tempos are off. I will certainly fix the note frequencies but still undecided on the tempo issue, as there are some problems with that.

Actually that would be great if you could fix that someday. The other things I mentioned are inessential in comparison. Anyway, thanks for the reply.

That blog quote was based on an older version that had no note frequency and tempo compensation at all. So it doesn't apply here.

Anyway, thanks again for all the feedback.

by on (#94814)
Ok I understand now...the actual NSF rate is somewhere around 53.8 fps, which affects the real world tempo accordingly. What's weird though is I'm now having no trouble at all with frameskip at F96/F01. I don't know if yesterday I ran into a bug or what, it was like each pattern added an extra cpu frame at the end.
Thanks.
Re: Musetracker
by on (#109536)
Currently on a Mac and not able to do much in the way of NES music tracking. FamiTracker freezes a lot in a lot of the API wrapper programs. MuseTracker works great but there is no Right-Ctrl key on a MacBook so it becomes severely cripped; being not able to play the whole song.

Possible to remap keys or make a Mac port?

Btw, I use CrossOver right now as it requires little configuration and just works for most applications I try. WINE and WineBottler are very glitchy.
Re: Musetracker
by on (#109555)
B00daW wrote:
Currently on a Mac and not able to do much in the way of NES music tracking. FamiTracker freezes a lot in a lot of the API wrapper programs. MuseTracker works great but there is no Right-Ctrl key on a MacBook so it becomes severely cripped; being not able to play the whole song.

Possible to remap keys or make a Mac port?

You can remap the keys by modifying musetracker.ini. Search for SDLK_RCTRL. You can find the available SDL key constants here: http://wiki.libsdl.org/moin.fcg/SDL_Keycode (some of them may not work as advertised).
Re: Musetracker
by on (#121001)
I have issue (probably of ID ten tee kind): No matter what I do, I can't get instruments to play on triangle channel.
Re: Musetracker
by on (#121017)
darkhog wrote:
I have issue (probably of ID ten tee kind): No matter what I do, I can't get instruments to play on triangle channel.

Make sure the volume envelope has a value that is greater than or equal to 8.
Re: Musetracker
by on (#211781)
hey thefox,

looks like the PCM PWM stuff doesn't want to export properly (located at the "end" of the track). doesn't work on nsfplay, virtualnsf, or nintendulator. mesen goes nuts at that time.
Re: Musetracker
by on (#211802)
Seems like a bug yeah. I'll check it out at some point (could take a while).
Re: Musetracker
by on (#212369)
No other channel or command seems to influence the bug behavior. The PCM volume decays and then doesn't continue. The Cxx volume command works as programmed on the PCM channel until the bug happens as well. Looks like some sort of issue in the generative PCM playback routine in relation to engine play routine frames?
Re: Musetracker
by on (#212393)
The NSF playback code is quite a hackjob since it is completely cycle timed to play samples at the correct frequency. Probably something is going wrong in the data conversion from the internal format to the one used in NSF playback.