15 March 2021, 12:58 | #1 |
Registered User
Join Date: Feb 2018
Location: Poland
Posts: 369
|
Wishlist for features of another Amiga music tracker
As was discussed in another thread it looks like we got used to good old Protracker. It’s good, good enough to create great music on the Amiga, but clearly it doesn’t utilize all Amiga features. And definitely does not push Amiga to the limits. There are a plenty trackers that offer more than 4 voices but usually at the expense of a heavy CPU footprint which is just too much of a burden for our beloved grandma A500. There are also good trackers that let us use synthesized sounds (realtime and/or prerendered ones), and some other ideas that don’t come to my mind at the moment. But at the end of the day all those ideas are scattered around, but not integrated into a single program that would unleash yet unknown creativity powers that are still hidden in low end Amigas. Wouldn’t this be great to gather all those findings and developments into a single Amiga tracker? One to rule them all.
This is what I would love to hear from you: the ideas that are musically interesting to expand the Amiga sound palette with one assumption: we would not take over this old MC68000 completely, because we know that coders are greedy beasts and they are not eager to spare too much cycles for the music. They need them for their dots, bobs, vectors and other blinking shit... But seriously, together we can theorize about features that are potentially possible. Maybe it will inspire some Amiga coder looking for new challenges. I’m not a coder myself so forgive me my silliness but correct me fiercely when needed. I collected some ideas here, also inspired by other discussions:
Ok, that’s enough for now with this wish list for Santa Claus. I’m sure many of you have more ideas that could push the sound of Amiga modules to a somewhat higher level. Or you have comments why some of those ideas have no merits or are not possible to implement? Any input is welcome. Last edited by no9; 15 March 2021 at 22:14. Reason: fixed typo |
15 March 2021, 16:22 | #2 |
Total Chaos forever!
Join Date: Aug 2007
Location: Waterville, MN, USA
Age: 49
Posts: 2,213
|
To keep things realistic, mixing needs to be precomputed at load-time. I see 2 kinds of mixing needed: chord loops and overlays. The former mixes multiple frequencies of one waveform and the latter mixes patterns of fixed frequencies like drums.
The reason realtime mixing is unusable is that it occupies a 68000 almost completely. See original OctaMED. Even premixing and synthesis get out of control. CTrix did a Pretracker mod that would take a 68000 at 7 MHz 70 seconds just to render the synthesis and chords. |
15 March 2021, 17:19 | #3 | ||||
Registered User
Join Date: Feb 2018
Location: Poland
Posts: 369
|
Quote:
http://eab.abime.net/showthread.php?t=105777 The numbers he presents look pretty realistic to me: Quote:
Quote:
Quote:
Last edited by no9; 15 March 2021 at 18:30. Reason: fixed typo |
||||
15 March 2021, 18:10 | #4 | |
Registered User
Join Date: Jul 2015
Location: The Netherlands
Posts: 3,444
|
Quote:
Anyway, the numbers posted are indeed accurate for 11KHz fixed-sample rate mixing @4 channels mixed. However, I think Samurai_Crow was probably referring to non-fixed sample rate mixing, which is indeed a whole lot more expensive CPU wise. I've been considering the whole issue more and I do by now agree with you that this kind of fixed-rate mixing might actually be useful for some parts of music, as long as you can live with the compromises that are part of this. The question is, can musicians live with them? For reference, here's a list of compromises I see at the moment (maybe I missed a few):
|
|
15 March 2021, 19:00 | #5 | ||
Registered User
Join Date: Feb 2018
Location: Poland
Posts: 369
|
Pardon me, I fixed it!
Quote:
Quote:
Contemporary DAWs like Cubase work at fixed frequency sample rate and samples are usually converted to projects sample rate while importing them. And having 3 hardware channels with all standard features, flexibility and variable frequency allows a lot of music to be stuffed there. As you pointing out the volume levels, they just need to be adjused accordingly but this can be done with volume registers, isn't it? So while your Audio Mixer has its limitations I consider it as a fresh oportunity for the sound of Amiga modules Last edited by no9; 15 March 2021 at 20:56. |
||
15 March 2021, 21:39 | #6 |
Total Chaos forever!
Join Date: Aug 2007
Location: Waterville, MN, USA
Age: 49
Posts: 2,213
|
Re:mixing and resampling
As a coder, I can help quantify the expensive and cheap parts of mixing. As Roondar pointed out, overlays where all samples have the same rate make cheap mixing but you're stuck with the waveforms you start with at the sampling rates they are rendered to. This demonstrates that the expensive part of mixed tracker mods is called "resampling" which pitch-shifts samples to other frequencies. One way around it is to generate synthetic waveforms at different frequencies. This is no more expensive to prerender than a note per frequency. The cost is that you basically need an FPU to generate the waveforms efficiently and if you use rich synthetics with many harmonics, it gets more expensive. This would still allow prerendered chords to be done efficiently and FastTracker2-style instruments, where each note on the scale could be a separate waveform in each instrument, would simplify all but the octave selection. Octaves are always powers of two so resampling is cheaper for octaves. Does this sound like the set of obstacles that fit the argument? If so, how to deal with the expense of resampling when samples are used and where to find time to prerender chords? |
15 March 2021, 21:57 | #7 |
Registered User
Join Date: Jul 2015
Location: The Netherlands
Posts: 3,444
|
One thing to keep in mind is that you can up the quality of my mixer to any sample rate you want (well, up to ~28KHz). It'll just cost more CPU if you do so.
Anyway, it would be interesting to see if it could be used for music like that. |
15 March 2021, 22:16 | #8 |
Registered User
Join Date: Feb 2018
Location: Poland
Posts: 369
|
@Samurai_Crow
Not actually. I understand the limitation of having instruments resampled to required sample rate before loading them into a tracker. And that is not a problem at all. Sure, you can't play melody with it on software mixed channels straightforward but you don't need to since you still have 3 other channels free to do so. And not everything needs to be precalced or generated on the fly. That's why combining both: sound synthesizing and plain samples be more efficient than those two separated. |
15 March 2021, 22:22 | #9 | |
Registered User
Join Date: Feb 2018
Location: Poland
Posts: 369
|
Quote:
+ 2 hardware channels + 2 software channels @ 11kHz + 2 software channels @ 22 kHz You think this is possible with your engine? Or any other configuration. I also wonder if looped sounds are possible with your engine. For example those short-cycle chiptune like sounds. Or longer ones? Can they loop? |
|
15 March 2021, 22:51 | #10 |
Registered User
Join Date: Jul 2015
Location: The Netherlands
Posts: 3,444
|
The mixer as currently written does not support looped samples, but adding support for that should be quite easy as long as the sample is an exact multiple of the sample buffer in size. Can be done for non-multiples as well, obviously, but that'd probably require more changes.
As for 2 channels @11KHz and 2 channels @22KHz, that should be possible, but will require some changes. While the mixer currently only runs one interrupt, there's nothing to stop it from running on two channels with two interrupts. However, the data structures aren't designed for this so they'd need changing. |
16 March 2021, 09:02 | #11 |
Registered User
Join Date: Feb 2018
Location: Poland
Posts: 369
|
@Roondar It would be nice if you consider whether it is possible to adjust your structures to a such use. Without sacrificing the speed or as an alternative.
|
17 March 2021, 23:00 | #12 |
Moderator
Join Date: Nov 2004
Location: Eksjö / Sweden
Posts: 5,727
|
Up to maximum chipmem length samples (e.g. 2MB) have always been supported by all Amiga models, the limitation from 128K to 64K was artificial in the PT .MOD format and five minutes' work to fix - but the real reason for small samples is available chipmem and generally being enough for an instrument or sound effect. And 31 of them being enough for all musicians. (Exception: chip musicians working around another limit of PT - no synth.)
P6112 supports mixing and channel fx and gives you running buffer windows per frame, but awaits a keen experimenter. It's open source. (But .P61 is just a converter result though, not a format and no music program.) I think we're lucky to have a standard in PT, it's a given to base things off of. 2014 I wrote a format-agnostic format: clump of audio hardware register changes per frame/tick. But it was mutually exclusive to compression or synth. These were my needs at the time so I wrote 4klång. It imports .MOD and supports synth but is on my list of things to get back to. <3 |
18 March 2021, 00:18 | #13 | ||
Registered User
Join Date: Feb 2018
Location: Poland
Posts: 369
|
Thanks for your comment Photon. But with this I disagree
Look into samples of Excellate by Probe module [ Show youtube player ] 31 samples was unnecessary limit (not originated in hardware) and all composers had this in mind, automatically limiting themselves before the need to restort to those 9xx tricks. Which leads us to another issue - single column for commands. To set volume for sample that starts with 9xx offset required another set of trickery. Precision of 9xx might also be questioned. Quote:
I have faint idea that XM (or 8-channel MOD) format could be applied for experiments with Roondars mixer if there were a player that interprets channels accordingly: hardware + software mixed ones with all it's limitations. Quote:
|
||
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Youtube channel dedicated to the best tracker music ever | spacedrone808 | Amiga scene | 4 | 23 February 2019 15:06 |
Sound Tracker #2 - The music of Xenon 2: Megablast | nogginthenog | Amiga scene | 5 | 22 December 2017 14:36 |
tracker music daily selection | s2325 | Nostalgia & memories | 30 | 10 November 2017 15:01 |
your music tracker evolution | s2325 | Nostalgia & memories | 24 | 21 March 2017 16:59 |
Revision 2011 and Tracker Music Compo! | h0ffman | Amiga scene | 10 | 29 April 2011 23:03 |
|
|