Difference between revisions of "SideTracker"

From Jeskola Buzz Wiki
Jump to: navigation, search
(Created page with 'This machine does not exist yet, but I have decided to write a design document on it, in order to highlight some of my thoughts. It's an attempt to get a tracker that doesn't cli…')
(No difference)

Revision as of 15:37, 7 October 2009

This machine does not exist yet, but I have decided to write a design document on it, in order to highlight some of my thoughts. It's an attempt to get a tracker that doesn't click, doesn't kill the attack of percussion and resamples properly unlike MTrk and UTrk.

Over-all goals

  • High quality output with no sound artifacts
  • Easy to use
  • Fairly decent performance overhead
  • Works in the current version of Buzz (with clone compatibility as an added bonus)
  • Once the project has taken shape and has matured, it will become open-souce

Need to have features

  • An intelligent method of avoiding clicks. When switching to or from audio that has lots of treble, no de-clicking needs to take place at all.
  • All commands should exist in two versions placed at adjacent numbers so that it is easy to remember both: Sticky and temporary. Temporary commands (even command numbers) affect the tick or local area they're applied to. Sticky commands (same number but +1) are active until you specifically stop it. An example of this could be "vibrato": Let's say this command is called "14", then the permanent way to enable vibrato would be 14+1 = the "15" command.
  • This tracker must be able to handle sample offset and positive/negative note-delay on the same note.
  • Different resampling algorithms: Fast, Medium, Good. This setting must be stored in a global way, so that if you move Buzz to a new PC, you can easily change this setting for all songs at once.
  • Better envelope controls. I want a "volume decay" command where you can change both the length (in milliseconds) and the decay curve (see graphics).

Nice to have features

  • Being able to handle any combination of commands.