Login:
Menu:
Post: Author:
FamiTracker > General > Bug Reports & Feature Requests > Version 0.4.3 bug list Owner: jsr New post
Page 5 of 7 Sort: Goto Page: << Previous [1] [2] [3] [4] [5] [6] [7] Next >>
Posted: 2014-08-10 16:57  (Last Edited: 2014-08-10 17:49) Reply | Quote
Stratelier



Member for: 4363 days
Status: Offline

#60662
Discovered a bug in one of my songs -- verified against 0.4.3, sample file attached.

Play frame 00 from the beginning and notice when it encounters the 320 (portamento) command it drops the current note by 5 semitones (e.g. an RF5). However, if you play the frame from any other row (01, 20, etc.) it does not and everything plays correctly. So it seems to be related to the Q12 used to provide a bend on that first note -- but that was a slide of only 2 steps, not 5. (It was, however, a slide to an E3, which the other note bends to.)

Next, play frame 02; this is what I want the measure to sound like. But compare frame 04: When the portamento command is issued after the note is initially played, it bends the note oddly. Not just that note itself, but the pickup notes at the end of the measure are bent oddly too.

And just to complicate matters ... go to frame 00 and add a Q00 at row 28 -- now the note plays fine. But add a Q00 to row 14 instead, and the behavior is now worse. It's like, when you issue a Q/R command FT remembers the target note (as if it's a persistent effect) and this messes up any portamento commands that occur other than at the start of a new note.

_______________________
Where to find me:
YouTube: http://youtube.com/user/stratelier
DeviantArt: http://stratadrake.deviantart.com/
Attachments:
testing.ftm (5 Kb)
Posted: 2014-08-10 17:51 Reply | Quote
poodlecock

Avatar

Member for: 4807 days
Location: !wow
Status: Offline

#60665
Stratelier wrote:
Discovered a bug in one of my songs -- verified against 0.4.3, sample file attached.

Play frame 00 from the beginning and notice when it encounters the 320 (portamento) command it drops the current note by 5 semitones (e.g. an RF5). However, if you play the frame from any other row (01, 20, etc.) it does not and everything plays correctly. So it seems to be related to the Q12 used to provide a bend on that first note -- but that was a slide of only 2 steps, not 5. (It was, however, a slide to an E3, which the other note bends to.)

Next, play frame 02; this is what I want the measure to sound like. But compare frame 04: When the portamento command is issued after the note is initially played, it bends the note oddly. Not just that note itself, but the pickup notes at the end of the measure are bent oddly too.

And just to complicate matters ... go to frame 00 and add a Q00 at row 28 -- now the note plays fine. But add a Q00 to row 14 instead, and the behavior is now worse. It's like, when you issue a Q/R command FT remembers the target note (as if it's a persistent effect) and this messes up any portamento commands that occur other than at the start of a new note.

Don't know if it really matters, but confirmed for 0.4.2 as well.

_______________________
"im going to continue making this crazy stuff then after a while my style will be so sick that you will be like damn suuun that shit is so sick i dont even get it. i will be like bro its ok.. you dont have to." -omgdonut
Posted: 2014-08-11 00:10 Reply | Quote
jsr
Administrator

Avatar

Member for: 7334 days
Location: Sweden
Status: Offline

#60672
za909: The sample loop setting is overwritten by the DPCM pitch commands. A secret workaround is to add 40 to all pitch commands, that will set the looping bit again.

Stratelier: The effects gets messed up because the portamento effect is used internally to do the note slides. I think the solution here is to clear the internal state once the note slide is done, I'll add a fix for this as well.

_______________________
Programmer and developer
Posted: 2014-08-11 15:55  (Last Edited: 2014-08-12 19:15) Reply | Quote
Stratelier



Member for: 4363 days
Status: Offline

#60690
Question: Is the arpeggio counter supposed to be iterating when it's not actually in use?

E.g. I have a tempo 180 song and if I issue a 077 for just one row (exactly 5 engine frames) then turn it off with a 000, exactly one-third of the time it ends up holding the base note, the remaining time it is holding the +7 note. This isn't consistent, predictable behavior, but it is caused by not having a multiple-of-three cycles per row (otherwise it would consistently be holding the +7 note). In this particular case I want it to hold the +7 note, but I guess I'll have to bundle that as part of an instrument definition....

PS: I just discovered that the Gxx command works not only on notes but release commands too. I don't know if it's supposed to, but I like it.

_______________________
Where to find me:
YouTube: http://youtube.com/user/stratelier
DeviantArt: http://stratadrake.deviantart.com/
Posted: 2014-08-12 20:11 Reply | Quote
jrlepage
Moderator

Avatar

Member for: 6392 days
Location: Canada
Status: Offline

#60778
Gxx will delay anything that's on the row it's used on: notes, note cuts, volume, effects, etc.

_______________________
Follow me on Twitter.
I record (some) NSFs on hardware. Feel free to request a hardware render.
Posted: 2014-08-16 15:10 Reply | Quote
mmkthecoolest

Avatar

Member for: 4383 days
Status: Offline

#60984
I don't like how the Sxx command behaves on 0.4.4 beta 1 with the VRC7 (it behaves like 0.4.2 which fades out the note rather than abruptly muting it). Will this be final?

_______________________
It's 2026. You shouldn't be here.......
YouTube
Dropbox
Posted: 2014-08-16 15:12 Reply | Quote
poodlecock

Avatar

Member for: 4807 days
Location: !wow
Status: Offline

#60985
mmkthecoolest wrote:
I don't like how the Sxx command behaves on 0.4.4 beta 1 with the VRC7 (it behaves like 0.4.2 which fades out the note rather than abruptly muting it). Will this be final?

I would love a release command that acts like a note cut on VRC7 and the abrupt cut that's there now.

_______________________
"im going to continue making this crazy stuff then after a while my style will be so sick that you will be like damn suuun that shit is so sick i dont even get it. i will be like bro its ok.. you dont have to." -omgdonut
Posted: 2014-08-16 19:07 Reply | Quote
Xyz_39808

Avatar

Member for: 5589 days
Location: South Texas
Status: Offline

#60990
It would be difficult to have a standard.

Note cut to begin with makes no sense on the vrc7, as does Sxx. Release should make sense to activate the release portion of ADSR, and the often requested Lxx command for release delay should handle that. But there doesn't seem to be an easy say to handle the input for the special "change release rate to $5 then release", which, I think we should make up a name for it. I propose "Hardware Release" and proper documentation for its exact behavior to be included in the manual.

I think note cut and Sxx should coincide with setting volume to -63dB aka vol 0. If you are planning for software volume/arp/pitch/patch envelopes like the other chip instrument editor windows, then I think this is would be the most logical behavior. It might freak out people who don't know the chip well that note cut and vol 0 don't silence the channel; maybe that too should be well documented in FT's help files.

The last thing to sort out is maybe there should be a new button and new command in the pattern editor to initiate hardware release. I'm thinking
Note cut> single line
Release > double line
hardware release > triple line

Backwards compatibility may be fucked but hey, such is the case for when FT emulated ym2413 instead

Posted: 2014-08-16 19:24  (Last Edited: 2014-08-16 19:28) Reply | Quote
za909

Avatar

Member for: 5371 days
Location: Hungary
Status: Offline

#60991
mmkthecoolest wrote:
I don't like how the Sxx command behaves on 0.4.4 beta 1 with the VRC7 (it behaves like 0.4.2 which fades out the note rather than abruptly muting it). Will this be final?


That will be fixed if we get a delayed command like Sxx, but for triggering release instead. The VRC7 channels can be silenced in two ways. One of them is by simply sending them a key off command, in this case the note is faded out with the release speed of the instrument's carrier. The other one is pretty much the same, although there's an extra sustain bit that can be set in the audio registers to overwrite the release speed by a hardwired value of 5.

What Famitracker seems to be doing now though is upon a note cut, or Sxx it drops the channel volume to 0 and probably triggers a key off as well.

Posted: 2014-08-16 21:14 Reply | Quote
jsr
Administrator

Avatar

Member for: 7334 days
Location: Sweden
Status: Offline

#60996
Sxx is meant to be identical with the note cut command for all chips, anything else was a mistake.

The VRC7 sound chip has a gate bit that controls sound on/off, it's not controlled by the volume register as for the other chips.

_______________________
Programmer and developer
Posted: 2014-08-16 23:07  (Last Edited: 2014-08-16 23:12) Reply | Quote
Xyz_39808

Avatar

Member for: 5589 days
Location: South Texas
Status: Offline

#61001
But that "gate" bit is more akin to a key-on/key-off bit. And bits 0 to bits 3 on internal registers $30 to $35 do allow volume attenuation. As far as I can tell current FT use of "release" is to set that "gate" bit to 0 and key-off and begin the release portion of ADSR. The whole concept of key-on key-off is not used in other chips and anything dealing with volumes or note cuts for other chips deal strictly with the volume bits, so why are they treated differently for vrc7 which also has 4bits of volume (though they are attenuation)?

So I do not understand why you are saying this.

@za909, sxx and note cut do not set volume to 0. They key-off which is most evident if you use it on an instrument with the release set to 0

Posted: 2014-08-16 23:44  (Last Edited: 2014-08-17 15:07) Reply | Quote
jsr
Administrator

Avatar

Member for: 7334 days
Location: Sweden
Status: Offline

#61002
Well it was an explanation how it's supposed to work. The volume column controls the volume bits, so if you want to set the volume to zero then you can already do that. The note cut / release commands controls the key on/off and sustain bits only.

_______________________
Programmer and developer
Posted: 2014-08-17 04:44 Reply | Quote
mmkthecoolest

Avatar

Member for: 4383 days
Status: Offline

#61009
So, is it possible that a volume 0 delay command can be available in the next version? If that's what Sxx is meant to be used for then it almost makes no sense for me to use it.

_______________________
It's 2026. You shouldn't be here.......
YouTube
Dropbox
Posted: 2014-08-17 07:12  (Last Edited: 2014-08-17 07:14) Reply | Quote
jrlepage
Moderator

Avatar

Member for: 6392 days
Location: Canada
Status: Offline

#61013
Use Gxx on a row with just volume 0 command.

Problem solved.

_______________________
Follow me on Twitter.
I record (some) NSFs on hardware. Feel free to request a hardware render.
Posted: 2014-08-17 09:50  (Last Edited: 2014-08-17 10:07) Reply | Quote
mmkthecoolest

Avatar

Member for: 4383 days
Status: Offline

#61016
That may mean I will have to use more patterns if I put the notes in the first row to perform that function. But hey, we still have copy and paste. And if I have to put notes row by row while performing that function, that's also a problem (I do not like speed 1 or having to go at speeds higher than the actual song with note delays taken into consideration).

_______________________
It's 2026. You shouldn't be here.......
YouTube
Dropbox
Page 5 of 7 Sort: Goto Page: << Previous [1] [2] [3] [4] [5] [6] [7] Next >>