| |
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
. |
|
| |
Steppe
Registered: Jan 2002 Posts: 1510 |
Really hard to judge from your descriptions only, but it sounds awesome. Don't neglect the handling of the tracker, because the steepness of the learning curve will greatly influence the amount of people using it, IMHO.
Keep up the good work, and keep us informed about the project! |
| |
Merman
Registered: Dec 2002 Posts: 140 |
Sounds cool. Here are some ideas from other editors that would help...
- equalizer/analysis (like DMC v5)
- live play function for testing voices, and/or a step/record function (saves keystrokes to a sector)
- "intelligent" disk function i.e recognises its own files
- save to RSID/SIDPlay format
- good copy/paste functions
|
| |
St0fF
Registered: Oct 2002 Posts: 40 |
> - equalizer/analysis (like DMC v5)
... how'd you like it, like in ATMDS 1.2?
... for that, try the atmds v1.2 from www.tu-ilmenau.de/~sthu-mtr/c64/files.html
> - live play function for testing voices, and/or a step/record function (saves keystrokes to a sector)
... i planned a keyjazz function able to distinguish 3 pressed keys at once, which shall give all 3 voices the appropriate (actual) instrument and the note according to the keys. Maybe _direct_record_ or something will be c0ded, too.
> - "intelligent" disk function i.e recognises its own files
... again a functionality that atmds will have by default since atmds 3.2 ;)
> - save to RSID/SIDPlay format
... great idea!
> - good copy/paste functions
... those will grow with the c0de of the editor - and I'll keep you up to date on it ;) |
| |
Hate Bush
Registered: Jul 2002 Posts: 462 |
Saving to RSID isn't necessary, unless your plan is to include digi-channel support. |
| |
Richard
Registered: Dec 2001 Posts: 621 |
My idea would be a music editor that can handle player routines, from DMC, USA Music Assembler/Voictracker, Music Mixer or anything like that :) A music editor that uses less raster time, even less than Goat Tracker. Live play, recordable music and a very nice GUI. |
| |
Stryyker
Registered: Dec 2001 Posts: 468 |
I'd rather use more rastertime than GT to enable better effects or smoother sounds.
I dislike the idea of the filter channel as I see this only making a resulting file grow too much. |
| |
dalezy
Registered: Apr 2002 Posts: 476 |
i think a functional gui is important to me. if the whole thing looks like a mess, i'm like unable to do anything with it as i really hate unnessecary learning processes that come along with hardly understandable programs.
the filter-tweaking part is nice, but maybe that could be implented in sort of slide comments, like the ones in jch.
hardrestart/no hardrestart, tremolo, aswell as the ability to change the adsr inside the instrument settings would also rock as features.
there's prolly more, but that's all that comes to my mind right now.
|
| |
Dane Account closed
Registered: May 2002 Posts: 421 |
Unnecessary to make new music programs, when you can easily adapt those already existing to your purposes. My advice would be to devote that time to making good music instead. There are just so many tools, and unless you somehow manage to hack 2-3 new voices to the Sid, it's all been done before. |
| |
Akira
Registered: Oct 2003 Posts: 52 |
I would liek one that fully utilizes the C64 sounds through a MIDI controller of choice. While there are AWESOME trackers that squeeze everything out of the C64, none of them let you control tihs power through MIDI.
At least let's make one with a CV gate or something :P
Cheers |
| |
dalezy
Registered: Apr 2002 Posts: 476 |
akira, in this case you might want to try this: http://www.ucapps.de/index.html
(warning, the guy who did that is called to be insane) |
... 43 posts hidden. Click here to view all posts.... |
Previous - 1 | 2 | 3 | 4 | 5 | 6 - Next |