| |
Karmic
Registered: Apr 2015 Posts: 66 |
What do you look for in a music-routine?
Not sure if this should go in C64 Composing subforum.
So, I'm working on a player-routine for a new music editor I'll make. What I ask you (coders & musicians) is, what would you like changed or added to it?
Currently I've got:
- Standard wave/arp/pulse/filtertable functions.
- Frequency-slides and vibrato that can be enabled in pattern as well as in arp-table. Also toneportamentos and tied notes in pattern.
- There's no limit to the number of patterns. The only thing limiting you is C64's memory :) Also about 85 max subtunes possible.
- Multiple effects are possible on one pattern-line.
- Transposing patterns, to save memory.
- Coders, the player used $16 max rasterlines in my testing. Of course if the musician uses a whole ton of effects on one pattern-line it will increase...
Thanks,
-karmic |
|
... 22 posts hidden. Click here to view all posts.... |
| |
Karmic
Registered: Apr 2015 Posts: 66 |
Quote: SFX engine, that lets me pause play any given SFX on any channel. Ability to switch to sfx but carry on with the music on the channel in the background so when the SFX stops the music channel can come back as if it never stopped.
I've actually coded this on another system before, so this is likely to be done :) |
| |
Hein
Registered: Apr 2004 Posts: 954 |
Quote: Quoting BitbreakerOther interesting features would be to be able to resort the patterns by time of usage, so the music can be split into several parts loaded one after another and by that overwriting old patterns not used anymore. This is a good thing if you have a long music but restricted space like in demos.
Good idea. Seems not very hard to implement with the way I'm structuring the data :)
Quoting Hein- Different tuning tables
- Multi-speed support
- Pattern repeat
All of these I have already. I guess I just thought they went without saying :p
Quoting Hein- Arpeggio speed function
There's a "delay" command in the arp & wavetables, designed to allow this.
Quoting Hein- Hard-restart settings
OK, I agree with this. At the moment I'm just zero-ing waveform and ADSR, I guess I should implement the modern hardrestart :)
Quoting Hein- Rhythm function (preferably BPM)
So, using the CIA-timers to get flexible playback speed?
Quoting Hein- Step-programming (maybe you have it in there)
- Effects table repeat function
Not entirely sure what you mean by these. Please explain.
Thanks for all your opinions so far! Thanks for helping to make it better :)
And don't worry too much about extra rastertime, I'll make sure to have conditional assembling as well :p
-BPM speeds require CIA timed playback, indeed.
-Step-programming is just a fancy way of saying effect table values that are played each frame.
Effect table repeat function would mean repeating a segment of the step-programm for x times.
for instance for arps:
01 rep 04
02 __ 00
03 __ 04
04 __ 07
05 rep end
06 __ 0c
07 __ 00
08 loop 06
or:
02 __ 00
03 __ 04
04 __ 07
05 lo04 02 ;loop 4x, pointer = 2
06 __ 0c
07 __ 00
08 loop 06 ;loop infinite, pointer = 6
or:
02 rp04 arp01
03 infi arp02 |
| |
Mixer
Registered: Apr 2008 Posts: 452 |
Create LFO and other signal generators and have them modulate frq, pwm, cutoff, resonance and volume. Then have tables or pattern data for controlling wveform, amplitude and frequency of the generators. |
| |
GH
Registered: Sep 2014 Posts: 77 |
Thank you for using the Karmic music Editor.
Would you like to use:
<Viruose> <GT> <DMC> or <JCH> Filter/Pulse WF/WV tables today?
:D |
| |
Hein
Registered: Apr 2004 Posts: 954 |
Quote: Create LFO and other signal generators and have them modulate frq, pwm, cutoff, resonance and volume. Then have tables or pattern data for controlling wveform, amplitude and frequency of the generators.
I've played with this idea as well, to have generic LFO generators for all. But the on-the-fly conversion to 16, 12, 11, 8 or 4 (high/low) bits would make the player slow, I think. But if rastertime is not an issue, it's very user-friendly and flexible, it can be used for BPM as well or for selecting waveforms depending on amplitude thresholds. |
| |
Isildur
Registered: Sep 2006 Posts: 275 |
Automatic filter freq/resonance slide up/down (sin/square/saw etc.) would be nice. Also clear non overloaded UI.
Use 100% rasterlines if needed :D |
| |
Frantic
Registered: Mar 2003 Posts: 1648 |
Quote: I've played with this idea as well, to have generic LFO generators for all. But the on-the-fly conversion to 16, 12, 11, 8 or 4 (high/low) bits would make the player slow, I think. But if rastertime is not an issue, it's very user-friendly and flexible, it can be used for BPM as well or for selecting waveforms depending on amplitude thresholds.
LFO for BPM? |
| |
chatGPZ
Registered: Dec 2001 Posts: 11386 |
i tried that generic LFO thing in a player years ago...... not well suited for a generic player ppl should use in demo/game imho :) |
| |
Scarzix
Registered: Aug 2010 Posts: 143 |
I use CheeseCutter, but I am sad to see how much CPU time the current player utilizes - when thinking of high CPU demo parts.
I also know that Abaddon is working on an optimized player, so it will change in the future of course.
So for me, whats a great music player:
Something that has multiple "versions/functionality" which in return gives me either awesome functionality OR low CPU usage OR low memory usage.
I wouldn't mind if the exporter/cruncher whatever handled the actual feature selection, like assembling the best possible output based on my tune - or if I could set some switches in my tune file that "enabled/disabled" certain parts of the players functionality aka reaching the above purpose.
Another purpose of a great music player would be to be able to have a low memory impact and still allow for SFX routine - or at least have a "functionality" where its able to pick up the sound in a channel after the SFX releases the channel.
So some sort of "extra API" where I can dynamically "allocate" a channel/voice for myself - handling it using my own SFX routine and once I am done, just de-allocate the channel or re-enable it for the player by setting a bit or something.
....
The breaking point though would also be, the editor itself.
I actually prefer composing on crossplatform editors as I can much faster save and backup my tunes + the editor is not confined in a 320x200 resolution + bordersprites.
I know that hardcore composers needs the "metal" to really push the SID to its maximum, but I still find the ease of working on more modern platforms as source to be much efficient and that enables me to be able to deliver more.
Lastly, support for dual SID composing.. 6 channels...
The key here would be "modularity" of the player. Either let me load the player version I need (and its functionality) - as we did with JCH editor back then.
or let me somehow enable/disable functionality for a tune and the only export the parts in use...
CheeseCutter actually assembles the player based on which effects you used in your tune when you export it for SID. |
| |
Hein
Registered: Apr 2004 Posts: 954 |
Quote: LFO for BPM?
Well, maybe it's not strictly an LFO anymore, dunno. But it could add a bit of swing to the music. :) |
Previous - 1 | 2 | 3 | 4 - Next |