Well, I did say "in Famitracker", where there are no consequences for a new note.
Well, I said Game Boy because I could not say that there are "no consequences" for rapid new-note commands in the NES, I should done some tests in order to affirm this, but it is very probable that there WILL BE consequences. Apart from that, you are triggering a note only to change the volume, it is simply not right, anyway.
FT should have a decent way to rise the volume after the end of an envelope, I think that it is a fact.
rainwarrior wrote:
On another note, is there really a problem with writing volume every frame?
No, but if it is THE SAME value you are actually using the bus for nothing useful.
rainwarrior wrote:
What kind of sounchip wouldn't handle that?
I did not say that the soundchip could not handle this, I said that it will send rapid commands for nothing (remember that we are talking about looping the latest value in a Volume Macro, the same value over and over again).
Ah, I think I had misread your post when I asked about a soundchip not handling writes every frame. (I was sure you had said something else, but you didn't.)
For the NES there kind of is a concept of a note-on; when you write the length-counter/high-pitch register, the phase, length counter, and envelope all reset. FamiTracker disables length counter and envelope, and suppresses high-pitch writes that won't change the pitch, so note-on is a mostly unused concept for FamiTracker.
I suppose you could also just stick a 15 on the end of your envelope in FamiTracker if you want it to return to full volume? Depends what kind of control you need over it and with what timing.e.
I suppose you could also just stick a 15 on the end of your envelope in FamiTracker if you want it to return to full volume? Depends what kind of control you need over it and with what timing.e.
That's the point, the timing and where you want to actually return to full volume. You are attached to the envelope for a volume return. I mean, if you want to rise the volume after 6 rows, and after that you trigger another note with a rise after 3 rows, you should done 2 different instruments!, or trigger with a blank instrument the same note (and if you are using an arpeggio macro this can be a nightmare, etc).
I hate this "issue" with the volume column in FT, and the solution that I applied to DefleMask was to return to absolute volume after an envelope. This can be annoyng for a FT user but it is a lot better, I think, the volume column returns to the soundchip range and you could rise and lower the current volume without prohibitons.
I'll go on a limb here and say he probably meant stuff like GBS, HES, and (eventually) NES, SID etc.
How open would you be to a complete revision of the GameBoy pitch table, by the way? A lot of the pitches sound really really off. I've got perfect pitch so I could easily help you pinpoint which notes should be corrected, if you want.
I'll go on a limb here and say he probably meant stuff like GBS, HES, and (eventually) NES, SID etc.
Like the NSF importer for FT?, that is not a priority, maybe in a future.
jrlepage wrote:
How open would you be to a complete revision of the GameBoy pitch table, by the way? A lot of the pitches sound really really off. I've got perfect pitch so I could easily help you pinpoint which notes should be corrected, if you want.
I am using the next formula:
GB_Freq = 2048 - (131072(clock) / NOTE_FREQ_HZ)
And using a list of notes with floating point precision, I don't know where is the problem if actually exist one. I don't hear any problem with the pith for the notes however.
I'll go on a limb here and say he probably meant stuff like GBS, HES, and (eventually) NES, SID etc.
Like the NSF importer for FT?, that is not a priority, maybe in a future.
An importer would be nice, but as you say it isn't a priority. I think he meant using DefleMask as a GBS/HES/NSF/whatever player, loading them in a similar fashin to how you load MMF files for instance.
I think he meant using DefleMask as a GBS/HES/NSF/whatever player, loading them in a similar fashin to how you load MMF files for instance.
That idea seems more probable. However I should include a "complete" emulator of the systens, and not only the sound emulation how I'm doing now. I think that this will include some garbage into the code of DefleMask, more maintenance and this is "outside" from the tracker scope. It is a nice addon maybe, but it will have very low priority.
And let me say that I included the MMF player because it is a format that has a very low popularity and it is undocumented (I reversed engineered it), in the other hand GBS/NSF/VGM are formats that can be played successfully without problems. So don't include its inside DefleMask does not create a problem of re-playability.
...
Btw, tell me more about the pitch errors in Game Boy, I should fix that if there are some errors, however I don't hear any problems with that. Thanks.
I'm in the process of creating a DMF file for you. I'll keep you posted!
EDIT: Yikes, I had no idea the Gameboy had such poor resolution in the higher pitches. I kind of expected to be suboptimal but it turns out it's quite poor! Perhaps your formula isn't to be blamed after all... :p
Okay, here's the DMF. Channel 1 plays the "corrected" pitch table on the left stereo channel, while Channel 2 plays the unaltered pitches on the right stereo channel. It turns out some of the changes I thought affected the pitch didn't actually do anything, but, whatcha gonna do. Hopefully this will be useful for you...
Thanks to a bugs report from a Russian user, I corrected some things:
The "instant" mode, that was disabled by accident in a previous version, now works, this means that if you modify some values, the emulator engine will react immediately, just the way it should be (for example, enabling and disabling the FMS in Genesis while you are pressing notes now is a live event).
Another thing, by accident, I left enabled the ALPHA VERSION ROM BUILDER for the Game Boy, now it is disabled because it is very buggy and unfinished.
Also I added 3 new 32x32 wavetables (Bell, Synth1 and Bass).