Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
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....
 
2004-08-25 21:40
Soren

Registered: Dec 2001
Posts: 547
What I want from a player:
64 instruments
ADSR settings
2 wave+freq tables (2*(256+256) bytes)(END and JMP commands included ofcourse) (these have to be able to handle both note-freqs (values 00 to $5F) and high-/drum-freqs (simply take the freq byte and store it in the freq-highbyte address.
Arpeggio-speed, set-able for each instrument.
1 pulse program table (not just the usual boring way of doing simple pulse programs, but a system that works more or less like the JCH-system.
filtertype + resonance for each instrument
1 filter program table (again like in the pulseprogram, you need to be able to do all kinds of different speeds, widths and having time-settings for these)
Also you need a jump command for both pulse+filterprograms, for jumping around in the tables to do more interesting stuff.
1 additional filter program that is being added to the normal filter program, in order to be able to make more interesting filters with more variation etc.
A must is also the Continuous pulse/filter, so you can start a pulseprogram with 1 instrument and let it move along in the program it's set to, no matter if you set new notes etc.
detune settings for each instrument
different hard restart settings that you can change for each instrument (you need to be able to switch hard restart off atleast).
Also you can do nice things if you skip oscillator reset (a nice thing for doing really soft leads, like Tim Follin's flute leads)
the track+sequence system should also be quite simple, like the JCH system, but the "Insert command" table should have more advanced commands... like commands that can do several things. I won't reveal what commands I have, just yet, you'll have to wait with that ;-) (have to keep some secrets to myself ;-)
I'd say atleast 128 sequences and 3 tracks of 256 byte.
minimum a 2-byte tempo-table, so you can do shuffle stuff. GRG's SDI has a very cool system that allows you to do it as you like, with more than just 2 bytes.


Well, all this and more is already in my newest player ;-)
working a bit on the userfriendly editor for it when I have the time.
But I don't want to have more features than I need it my players, no need to waste memory+rastertime on more than is needed.
2004-08-26 06:51
HCL

Registered: Feb 2003
Posts: 716
@Jeff: Sounds really promising!! But you also mention the major problem in the end: "But I don't want to have more features than I need". Everyone seems to have their own ideas of what needs to be included and what should be left out. So everyone starts coding their own custom player which will be used by noone but themselves (i'm there too). E.g. i want multispeed for the irascible pulse it gives, will you include that :)?

However don't get me wrong. I'd really like to encourage you to work on your player.
2004-08-26 09:49
Ninja

Registered: Jan 2002
Posts: 404
Or make the players + editors open source, so anyone can do as wanted.
2004-08-26 10:20
St0fF

Registered: Oct 2002
Posts: 40
@ninjadrm: i don't see your point - changing an editor to completely different music-mem-layout could be even harder than rewriting an editor ...
I dont think i could use Jeffs editor to edit atmds-musics...
2004-08-26 19:03
Soren

Registered: Dec 2001
Posts: 547
HCL: Yeah we all have our different needs. I am mainly doing my new player(s)+editor for my own needs, but if other people find them usable, that's just great.
Sorry, didn't quite understand that "irascible pulse..." thing you mentioned.
But as you know yourself it's also very satisfying to code players on your own, instead of using other people's tools.

Ninja: I don't plan to make my player+editor open source, as I want to have the total control of my own tools, so strange modded versions won't be around and possibly not work together with the tools I am doing. :-)

St0fF: I just try to keep things as simple as possible. I don't find the need of doing "FastTracker 2"-like patterns as they take too many bytes - I simply try to keep it in the wellknown c64 style, like JCH's editor, but with extra features ofcourse. But we all have different needs/taste. Best wishes with your work on your tracker :-)
2006-07-16 18:35
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Interesting thread here ... :D
It seems that nothing is released so far...

Btw.

@'everyone who is interested'

Well, personally I don't like JCH's style (neither SDI-style) since it isn't very optimal for ME. I always will prefer "FastTracker 2" style.
Sure, patterns take a lot of memory, but WHO CARES? For people which mainly compose for own pleasure memory/rastertime doesn't matter. :P
I like simple & intuitive interfaces & easy handling. (Of course, and a GOOD hardrestart)
One of my BIGGEST dislikes of common c64-editors/trackers is that you have to enter note-numbers always by hand. This is everything but not flexible.
Tons of cryptic cmd's are useless, since NOBODY will be able to use them.

... just my opinion :)
2006-07-16 21:11
Linus

Registered: Jun 2004
Posts: 638
i think everybody got your preferences now. what are you after?
ever thought about giving vst-related music making a try? after all it's much easier to use contemporary pc-trackers/sequencers without 'tons of cryptic commands', channel limitations, 'bad' hard-restart etc. plus there are millions of presets available, no need to bother with wavetable programming and improper siddump outputs.
2006-07-16 22:50
cadaver

Registered: Feb 2002
Posts: 1153
Improper siddump output? Where?
2006-07-17 07:02
TNT
Account closed

Registered: Oct 2004
Posts: 189
Quoting nata
Tons of cryptic cmd's are useless, since NOBODY will be able to use them.

... just my opinion :)

You just called a lot of talented C64 musicians nobodies. But that's just your opinion, right?
2006-07-17 08:55
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: Quoting nata
Tons of cryptic cmd's are useless, since NOBODY will be able to use them.

... just my opinion :)

You just called a lot of talented C64 musicians nobodies. But that's just your opinion, right?


I don't think that I have meant it in that way.
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
Higgie/Kraze/Onslaught
MAT64
iceout/Avatar/HF
Sentinel/Excess/TREX
Zartan/Unit 5
goto80/HT
Ghost/Quantum
Guests online: 139
Top Demos
1 Next Level  (9.8)
2 Mojo  (9.7)
3 Coma Light 13  (9.7)
4 Edge of Disgrace  (9.6)
5 Comaland 100%  (9.6)
6 No Bounds  (9.6)
7 Uncensored  (9.6)
8 Wonderland XIV  (9.6)
9 Bromance  (9.6)
10 Memento Mori  (9.6)
Top onefile Demos
1 It's More Fun to Com..  (9.7)
2 Party Elk 2  (9.7)
3 Cubic Dream  (9.6)
4 Copper Booze  (9.5)
5 TRSAC, Gabber & Pebe..  (9.5)
6 Rainbow Connection  (9.5)
7 Onscreen 5k  (9.5)
8 Wafer Demo  (9.5)
9 Dawnfall V1.1  (9.5)
10 Quadrants  (9.5)
Top Groups
1 Oxyron  (9.3)
2 Nostalgia  (9.3)
3 Booze Design  (9.3)
4 Censor Design  (9.3)
5 Crest  (9.3)
Top NTSC-Fixers
1 Pudwerx  (10)
2 Booze  (9.7)
3 Stormbringer  (9.7)
4 Fungus  (9.6)
5 Grim Reaper  (9.3)

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