Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
 Welcome to our latest new user Harvey ! (Registered 2024-11-25) You are not logged in - nap
CSDb User Forums


Forums > C64 Productions > Music Trackers - what should a new one be able to handle?
2003-07-06 16:34
St0fF

Registered: Oct 2002
Posts: 40
Music Trackers - what should a new one be able to handle?

Hi All!
As I'm working on a new tracker and have some sort of concept done, I guess it's best to ask for some comments.

Basic Concept:
-tracking of up to 32 tunes
-> out of memory error included!
->consisting of 4 tracks - one for each voice and one for the filter
- completely reconfigurable speed, two speed-steps
- up to 128 sectors for voices 1..3
- up to 128 filter-sectors
- duration-dependant player, duration independent editor (evry note occupies 1 tick while editing)
- up to 128 instruments (defined by adsr, wave-pointer, pulse-pointer)
- up to 256 Wave-effects
- up to 255 Pulse-effects
- up to 128 Filter-effects
- multispeed-capabilities, handled by the player, you just have to supply the right music-calls ;)
- Player-Calls:
JMP PLAYER ... Akku = tune_num: initialise tune
JMP PLAYER+3 ... standard play_call
JMP PLAYER+6 ... set Global volume to #Akku (for fadein/fadeout purposes)

Tracks: normally point to sectors
Commands: Transpose up/down -$1f..+$1f Halftones
loop track
end track
set global volume (D418)
play song X (so you can make a song out of subtunes ;)
repeat following sector N times

Sectors: do play Notes with Instruments ;)
one tick can consist of the following parts:
- Instrument selection
- ADSR - tuning
- wavepointer - tuning
- pulsepointer - tuning
- global tickspeed - tuning
- Note - Description:
can B: pure Note - just play note using the settings above
glide Note - glides from one note to another with a precalculated glide-add-value
tied Note - just play without restarting the Instrument ... like a freq-change
slide Note - slides from the actual playing frequency to the new note's frequency without restarting the Instrument using a precalculated slide-add
wait tick - just waits
switch gate - switches the gate's status
voice off - turns off the Instrument, resets $d404+(voice_offset) to (09 & gate_status)

huh ... and that was just the upper level ...

Instruments: consist of ADSR, Wavepointer, Pulsepointer
- the Pointers point to Effect numbers.

Wave-effects:
consist of lines ...
which consist of:
- Commands:
- change instrument update speed
- tremor (halftone offset,speed)
- vibrate -> with a given vibrato-width, vibrato-speed, vibrato-delay, and vibrato-direction
- slideaway -> a function dedicated to drum'n'bass music, using vibrato parameters
- off -> works like voice_off, but from inside the instrument
- loop -> loops to another line of the waveeffect
- a Waveform prepared for $d404+(voice_offs), with the Drum-Mode coded into the reset bit (bit3), #8
- a transpose value to be added to the played note to gain the actual frequency __or__ the HIbyte of the frequency if the drum mode was specified

PulseEffects:
also consist of lines
consisting of:
- pulse_set (adjusts $d402/3+(voice_offs))
- pulse_add (sets an 8bit adder and an 8 bit counter)
- pulse_fine_add (16bit adder, 8 bit counter)
- set_delay (sets a 4 bit value of playcalls to wait until the next pulsemodification takes place; none of the following commands are possible if set_delay is specified
- end_pulse
- loop_pulse

Filter-stuff ... it's better to show this on its own
Filter-Tracks ... equal to normal tracks
Filter-Sectors ... do play Notes with Filters ;)
one tick can consist of the following parts:
- Filtereffect selection
- Filterinput selection (which voices 2 filter)
- Note - Description:
can B: pure Note - just play note using the settings above
wait tick - just waits
NOTICE: due to the fact, that the filter itself is regarded as a voice, we supply the basic filter cutoff frequency with the note we play. We can now do Filter-Arpeggios instead of just making some linear motions. We can also do logarithmic motions thru filter-arpeggios ;)

Filtereffects:
consist of lines ...
consisting of any of the following functions combined:
- frq-mode selection (how to translate freqs - as notes or linear)
- Filtertype & -Resonance set
- Frequency set (depending on the frq-mode this is either a halftone_steps_to_add_to_actual_note or a hibyte of a cutoff-freq.)
- set Add - supplying an adder and a counter, some motion is established (for linear: you supply a 16bit addvalue (i know only 11 bits are used for cutoff-freq.); for note_mode: you supply an 8bit adder of how many halftones to add each step)
- set Delay: number of calls to deleay the next filterchange (none of the following commands can be used if this one is used!)
- set freq Fine - sets the 16bit value supplied as filtercutoff, regardless of actual freq-mode
- end filter - stops working on this filtereffect
- loop filter - jumps to another line in the fltfx

Well, this was a damn lot of stuff regarding the structure of 'upcoming' musicdata. A few things left:
The editor manages music memory dynamically, so a sector only takes what it needs while it is not edited. This way we should be able to manage even 32 songs.

Ok, any comments are welcome,
St0fF/Neoplasia
.
 
... 43 posts hidden. Click here to view all posts....
 
2003-10-16 16:44
LordNikon

Registered: Dec 2001
Posts: 42
I would say it should have have the same edditing like protracker on amiga or odin tracker on the C64... and it would be too bad if you could save your instruments..
2003-10-25 21:17
Pater Pi
Account closed

Registered: Jan 2002
Posts: 121
hm. did you mean it the way you wrote or would you like to have the possibility to save instruments? i'd like the last one .
2003-10-25 21:31
dalezy

Registered: Apr 2002
Posts: 476
saving instruments? why for?
it's not that it's hard to do new instruments from scratch or remember how to do a certain sound. tweaking is the key, you know. =)
and unless you're going to do a 40 rows long drum sound for a 12-speed tune that you want to use more than one time, i don't really see a reason to save instruments.
2003-10-26 08:36
Stryyker

Registered: Dec 2001
Posts: 468
One of the DMC 5's saves them I think. future Composer does too.
2003-10-26 09:55
cadaver

Registered: Feb 2002
Posts: 1160
When instruments share common tables for wave,pulse etc. the code to load/save them might become quite hairy. :) Especially when same table entries can be re-used between multiple instruments and you're loading over an existing instrument..
2003-10-26 09:56
Pater Pi
Account closed

Registered: Jan 2002
Posts: 121
Well the reason could be described in one single word: lazyness.
Why to make a new basedrum etc. for every tune? And you can also use the instrument as a basic for a new one.
I somehow do miss this in SDI for example (:
2003-10-26 14:29
Dane
Account closed

Registered: May 2002
Posts: 421
Pah. Don't recycle your instruments.
2003-10-26 16:46
dalezy

Registered: Apr 2002
Posts: 476
paterpi, but laziness doesn't get you anywhere, imho. always the same sounds make your tunes boring, whatever different melody/bassline the whole thing is based on.

i think so far i've recycled exactly one bassdrum, because i was excited that it turned out that way, but other than that all my sounds are beeing done from scratch, which maybe makes the tunes unique in a certain way (plus the production way always turns out different =).
2003-10-26 17:38
6R6

Registered: Feb 2002
Posts: 245
Pater pi: Free Memory left in SDI is around $0300 bytes, I'd rather use that for other things than a save-instrument routine.
2003-10-27 08:12
LordNikon

Registered: Dec 2001
Posts: 42
@ParterPI: Hehe, right. I wanted to say "it would(N´T) be to bad.... "

Previous - 1 | 2 | 3 | 4 | 5 | 6 - Next
RefreshSubscribe to this thread:

You need to be logged in to post in the forum.

Search the forum:
Search   for   in  
All times are CET.
Search CSDb
Advanced
Users Online
Bob/Censor Design
Alakran_64
Holy Moses/Role
Shake/Role
Higgie/Kraze/Slackers
Scooby/G★P/Light
celticdesign/G★P/M..
wil
MagerValp/G★P
Facet/G★P ^ Bonzai
Flex/Artline Designs
CA$H/TRiAD
Airwolf/F4CG
zbych
Guests online: 125
Top Demos
1 Next Level  (9.7)
2 13:37  (9.7)
3 Coma Light 13  (9.7)
4 Edge of Disgrace  (9.6)
5 Mojo  (9.6)
6 The Demo Coder  (9.6)
7 What Is The Matrix 2  (9.6)
8 Uncensored  (9.6)
9 Wonderland XIV  (9.6)
10 Comaland 100%  (9.6)
Top onefile Demos
1 Layers  (9.6)
2 Party Elk 2  (9.6)
3 Cubic Dream  (9.6)
4 Copper Booze  (9.6)
5 Libertongo  (9.5)
6 Rainbow Connection  (9.5)
7 Onscreen 5k  (9.5)
8 Morph  (9.5)
9 Dawnfall V1.1  (9.5)
10 It's More Fun to Com..  (9.5)
Top Groups
1 Performers  (9.3)
2 Booze Design  (9.3)
3 Oxyron  (9.3)
4 Nostalgia  (9.3)
5 Triad  (9.2)
Top Coders
1 Axis  (9.8)
2 Graham  (9.8)
3 Crossbow  (9.8)
4 Lft  (9.8)
5 HCL  (9.8)

Home - Disclaimer
Copyright © No Name 2001-2024
Page generated in: 0.059 sec.