Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /storage/content/49/145849/famitracker.com/public_html/forum/classes/dbHandler.php on line 29 FamiTracker
Login:
Menu:
Post: Author:
FamiTracker > General > Bug Reports & Feature Requests > Intuitiveness of Loop / Release sequences... Owner: Stratelier New post
Page 1 of 1 Sort:  
Intuitiveness of Loop / Release sequences... Posted: 2014-06-25 05:25 Reply | Quote
Stratelier



Member for: 2954 days
Status: Offline

#58618
No technical problem here besides some un-intuitiveness that constantly gnaws at the back of my mind every time I have to work around it, but maybe some discussion will help....

[u]First example[/u]

Say I have a simple 2A03 instrument with this volume curve:

[b]0 5 10 15 | 12 11 12 / 15 12 9 6 3 0[/b]

My mind breaks it down into non-overlapping parts:

- Attack (0 5 10 15)
- Sustain (12 11 12)
- Release (15 12 9 6 3 0)

But what actually plays is:

- Attack (0 5 10 15)
- Sustain (12 11 12 [b]15[/b])
- Release (15 12 9 6 3 0)

Apparently the first note in the Release sequence is also included in the sustain/looping. So instead of a sharp attack and very subtle tremelo in the sustain, I get a sharp attack (good) and a noticeable tremelo in the sustain (bad). (The proper definition is [b]0 5 10 15 | 12 11 / 12 15 12 9 6 3 0[/b])

[u]Second example[/u]

Or, say I have a 2A03 instrument (intended for use solely on the Triangle channel) with the following arpeggio:

[b]0 / 12 9 6 3 0[/b]

The idea here is that instead of defining toms as a separate instrument, whenever I need a tom I can just release (instead of cut) whatever note is playing on this instrument. But (again) when actually played, the instrument sustains after the release mark, so the above definition results in sustaining the wrong octave. (The proper definition is [b]/ 0 12 9 6 3 0[/b])

I don't know whether this little quirk is imposed by the actual NES hardware spec or just how FamiTracker does it, but it is a little unintuitive to look at: I keep wanting to assume that | and / cleanly divide attack from sustain from release -- with attack/sustain they do, but with sustain/release they do not.

Is this just me? Could it be made an option (sustain before/after release mark) ? ...does my description even make sense?

_______________________
Where to find me:
YouTube: [url=http://youtube.com/user/stratelier]http://youtube.com/user/stratelier
DeviantArt: [url=http://stratadrake.deviantart.com/]http://stratadrake.deviantart.com/
Posted: 2014-06-26 01:44 Reply | Quote
GEVEN

Avatar

Member for: 3046 days
Location: Kentucky
Status: Offline

#58652
yeah i was confused at first too. i thought it was a bug, and an easy one to work around.

_______________________
https://soundcloud.com/stevie-ray-2
Posted: 2014-06-26 04:33 Reply | Quote
Stratelier



Member for: 2954 days
Status: Offline

#58662
Additional thoughts on the matter -- this is not about how the end result sounds (as mentioned, it's easy to work around and get the desired effect) but more about how the Instrument Editor displays things.

One idea is to define a new token (a \ perhaps?) which works very similar to the / divider except that the number following it is NOT played outside of an actual note-release command. This would maintain backwards compatibility with existing FTM files (as well as text exports) because if Famitracker simply changed how the / token works (even as a user configurable option) this could throw a lot of existing songs off (depending on the Famitracker version used to build them).

Of course, a side effect to not including the first note of the release sequence is that a loop containing less than two notes is effectively the same as no loop at all (when in the current versions, such a thing never happens because then the Loop divider would be positioned simultaneously with the Release marker).

_______________________
Where to find me:
YouTube: [url=http://youtube.com/user/stratelier]http://youtube.com/user/stratelier
DeviantArt: [url=http://stratadrake.deviantart.com/]http://stratadrake.deviantart.com/
Page 1 of 1 Sort: