Welcome to Tribbeck.com

FahZhi Tracker

FahZhi Tracker is something that I've been working on for the Equinox music. It isn't ready for release yet, but here's some screenshots - just after I've got it playing tunes (you can't save yet!).

Why FahZhi?

It's something that probably doesn't mean anything - it's a mostly-remembered phrase one of my electronics tutors at University mentioned in a class. I think it's Japanese for "Fast Thinking", but I could be wrong!

Its development

Beforehamd

My first commercial application was MIDITracker - something that plays Tracker tunes on MIDI keyboards. Later on, I co-developed Desktop Tracker.

The sequencer

A good while ago (around 14 years), I started work on a sequencer. This has been on-and-off development since then, and this is the first time it's approached usability.

It's meant to function in much the same way that a PC or Mac sequencer works. While I've got Logic and Cubase to play with, it's closer to Cubase.

Some of the graphics have been reused for this application.

The playroutine

I developed a playroutine called "CoreTracker" that is very fast. It could play 4 voices with less CPU than others playing 3. This is because it was a heavily optimised piece of work. Unfortunately, it doesn't work on 16-bit sound systems, and a lot of the techniques aren't transferrable.

For Dune II and ArcCommand, I wrote a very basic MIDI-style player, with 8 or 16 voices for Dune II, and 8 voices for ArcCommand. Dune II actually uses MIDI files, while ArcCommand uses a programming language, similar in some respects to AMPLE (BBC Micro Music 500 system if you've not come across this before).

FahZhi also uses a MIDI player - however, it is much closer to the MIDI standard than the others I've done. It also does things in a different way due to the design goals:

  • Capability to run at any available sample rate (and automatically adjust)
  • Up to 32 voices (could be more - it's just a compile-time directive) - even on an 8-bit sound system
  • Up to 32 tracks (again, it's a compile-time directive)
  • Up to 32 channels (hard limit is 128)
  • Up to 64 samples loaded (like the others, it can be easily extended)
  • Play different sample formats natively (mono/stereo 8-bit mu, 8-bit linear and 16-bit linear)
  • Internally calculated to 32-bit and then reduces down
  • Multiple songs per file (this is so that for Equinox, the tune is loaded once - the samples are around 3M at this moment in time)

Now the screen shots!

The song editor - you can create patterns on this, arranging the tune as you want.
Song editor

The transport - this is where you stop/play the tune, and set up loop points. It needs some work.
Transport

The pattern editor - this is what you see when you edit a pattern. The section at the bottom shows the velocities being used, but the window can be altered to show pitch bend, pan, volume and so forth.
Pattern editor

The sample editor - this is a basic sample editor that allows you to set the sample repeat locations, sample rate, transposition and so forth.
Sample editor

New screenshots for 9th January 2005

FahZhi has had quite a bit of work done to it, fixing bugs, adding features and improving usability:

  • Load and save tunes (one of the first things to be done)
  • You can now delete patterns
  • You can select different songs within a tune
  • Different types of controllers can be viewed in pattern editor
  • Menus added almost everywhere
  • Colours and names of tracks/patterns can be changed
  • You can zoom in and out horizontally
  • A 'drum' channel has been created

Song editor - in colour
Song editor - patterns in colour

Song editor - with tune settings
Song editor - with information

Song editor - with pattern settings
Song editor - patterns in colour

Pattern editor - showing modulation
Pattern editor - modulation

Pattern editor - showing pitch bend
Pattern editor - pitch bend

The grey rectangles on bottom part of the pattern editor that look like a redraw bug are meant to be there - they show you where a controller event has taken place so if it's visible even if it's too small to see. For example, on the pitch bend, when the second note starts, there's a grey bar at the bottom with a black line in the middle. If it wasn't there, you may not see that there's an event recorded at that point.

Copyright © Jason Tribbeck 2004-2005

Updated: 2011-06-08 20:40:59 | Comments: 0 | Show comments | Add comment
© Copyright 1997-2013
Tribbeck.com / Jason Tribbeck
All trademarks are the property of their respective owners.