English Amiga Board


Go Back   English Amiga Board > Main > Amiga scene

 
 
Thread Tools
Old 15 March 2021, 12:58   #1
no9
Registered User
 
no9's Avatar
 
Join Date: Feb 2018
Location: Poland
Posts: 352
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:
  • Paul van der Valk, he definitely was doing something fresh in 1989 that in 2021 we would consider… “fresh”? I’m just guessing but doesn’t he modulate sounds in memory “inplace”? [ Show youtube player ]
  • If so, then Protracker had its attempt with it’s infamous EFx command. This was a good direction but execution was unfortunate, hardly predictable. But if there was a way to control this kind of modulation chipunes might sound… different? A bit.
  • Sound synthesis: AHX and Pretracker by Pink/Abyss are epic but there is a but… no samples allowed . I respect that, and I would love to steal at least some of his ideas.
  • AmigaKlang is great, could we have this integrated into a tracker that generates data at module load? I believe so.
    Bytebeat approach, to generate sounds with rather short formulas. Very nerdish one, no everyone would like this but I believe that with a custom instruments sounds musicians could share their (secret) formulas to get interesting sounds out of it. Look for “?” button there:
  • Realtime loop points adjusting - in Protracker we have it fixed. Not sure if it is a Paula limitation, but even if we can have changed once in a second, not a frame, this could produce interesting effects. Also ‘preset table’ of predefined pairs of loop point values switchable by pattern command might be useful.
  • Volume and pitch envelopes - this wold probably save some of composers time. Simple ADSR (or just R) instead of having constantly to write down and clear up those Axx, EAx/EBx, 7XX commands into patterns.
  • Roondar’s “Audio Mixer for Games” - Rodnars main target are sound effects in games, but this way of multiplying voices is also useful in music. With fixed sample rate we still can have wide range drum sounds, loops and more.
  • On the other hand if samplerate is not fixed but still seemingly inhuman low quality, it can be musically useful like it is [ Show youtube player ]. Can 68000 music afford for mixing frequency like 4kHz-8kHz? Adjustable?
  • Instruments, like FastTracker ones, instead of just samples? Not sure if it is so straightforward to code in Amiga but being able to reuse the same sample with different parameters could open some ways to modulate sounds or optimize size.
  • Utilize Amiga AM/FM interchannel modulation feature.
  • More than 31 samples and 128kb sample lengths?

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
no9 is offline  
Old 15 March 2021, 16:22   #2
Samurai_Crow
Total Chaos forever!
 
Samurai_Crow's Avatar
 
Join Date: Aug 2007
Location: Waterville, MN, USA
Age: 49
Posts: 2,186
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.
Samurai_Crow is offline  
Old 15 March 2021, 17:19   #3
no9
Registered User
 
no9's Avatar
 
Join Date: Feb 2018
Location: Poland
Posts: 352
Quote:
Originally Posted by Samurai_Crow View Post
To keep things realistic, mixing needs to be precomputed at load-time.
I'm not sure what do you mean. I linked to Roondar's Audio Mixer
http://eab.abime.net/showthread.php?t=105777

The numbers he presents look pretty realistic to me:

Quote:
A500: 3,2% CPU time to mix together 4 channels at 11KHz
A1200: 1,7% CPU time to mix 4 channels @11Khz
Do I misinterpret something here?

Quote:
See original OctaMED.
OctaMed, Octalyzer, Face The Music, DigiBooster etc. I agree that's not a viable direction.


Quote:
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.
This depends only if composer wants to do so. Filtering is complex so applying filters to long samples will result in such precalcing time. Sounds nice but is not obligatory. In Pretracker you can immediately evaluate what CPU cost you can afford which is ingenious. But having more complex effects in a pocket might come in handy with faster CPUs.

Last edited by no9; 15 March 2021 at 18:30. Reason: fixed typo
no9 is offline  
Old 15 March 2021, 18:10   #4
roondar
Registered User
 
Join Date: Jul 2015
Location: The Netherlands
Posts: 3,408
Quote:
Originally Posted by no9 View Post
I'm not sure what do you mean. I linked to Roodnar's Audio Mixer
http://eab.abime.net/showthread.php?t=105777
It's actually Roondar, not Roodnar
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):
  • Support for effects/commands/etc would be very limited using this mixer: volume changes would affect all mixed channels at the same time, other alterations to the sample being played have a maximum of roughly one change per frame (at default settings)
  • Sample rate is fixed and performance cost is tied directly to sample rate chosen
  • Mixing 4 channels means the volume of the mixed channel is lower than the non-mixed channels
Obviously, these compromises don't apply to the three standard hardware channels you'd still have access to.
roondar is offline  
Old 15 March 2021, 19:00   #5
no9
Registered User
 
no9's Avatar
 
Join Date: Feb 2018
Location: Poland
Posts: 352
Quote:
Originally Posted by roondar View Post
It's actually Roondar, not Roodnar
Pardon me, I fixed it!

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.
That's probably true. AFAIR Digibooster took the whole CPU time to reach only 6 channels, while the other trackers usually offered 8 channels, but probably maximizing the quality (accordingly to the CPU limits). With all todays 'lofi music' genres I think it is worth to consider some compromises here. There could be more interesting 'channels setup' like "2 hardware channels + 4 fixed samplerate channels + 2 variable sample rate channels mixed at 8kHz" or something like that.

Quote:
  • Support for effects/commands/etc would be very limited using this mixer: volume changes would affect all mixed channels at the same time, other alterations to the sample being played have a maximum of roughly one change per frame (at default settings)
  • Sample rate is fixed and performance cost is tied directly to sample rate chosen
  • Mixing 4 channels means the volume of the mixed channel is lower than the non-mixed channels
Obviously, these compromises don't apply to the three standard hardware channels you'd still have access to.
That is understandable - there is a lot Protracker modules where channels are occupied by nothing else than drum loops (or any other loops). Actually...
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.
no9 is offline  
Old 15 March 2021, 21:39   #6
Samurai_Crow
Total Chaos forever!
 
Samurai_Crow's Avatar
 
Join Date: Aug 2007
Location: Waterville, MN, USA
Age: 49
Posts: 2,186
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?
Samurai_Crow is offline  
Old 15 March 2021, 21:57   #7
roondar
Registered User
 
Join Date: Jul 2015
Location: The Netherlands
Posts: 3,408
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.
roondar is offline  
Old 15 March 2021, 22:16   #8
no9
Registered User
 
no9's Avatar
 
Join Date: Feb 2018
Location: Poland
Posts: 352
@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.
no9 is offline  
Old 15 March 2021, 22:22   #9
no9
Registered User
 
no9's Avatar
 
Join Date: Feb 2018
Location: Poland
Posts: 352
Quote:
Originally Posted by roondar View Post
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.
For musicians it would be the best if configure what number of voices you want to have at given quality. What about:

+ 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?
no9 is offline  
Old 15 March 2021, 22:51   #10
roondar
Registered User
 
Join Date: Jul 2015
Location: The Netherlands
Posts: 3,408
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.
roondar is offline  
Old 16 March 2021, 09:02   #11
no9
Registered User
 
no9's Avatar
 
Join Date: Feb 2018
Location: Poland
Posts: 352
@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.
no9 is offline  
Old 17 March 2021, 23:00   #12
Photon
Moderator
 
Photon's Avatar
 
Join Date: Nov 2004
Location: Eksjö / Sweden
Posts: 5,602
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
Photon is offline  
Old 18 March 2021, 00:18   #13
no9
Registered User
 
no9's Avatar
 
Join Date: Feb 2018
Location: Poland
Posts: 352
Thanks for your comment Photon. But with this I disagree

Quote:
Originally Posted by Photon View Post
And 31 of them being enough for all musicians.
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:
Originally Posted by Photon View Post
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'm not sure if I get this correctly - you don't mean software mixing?

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:
I think we're lucky to have a standard in PT, it's a given to base things off of.
Yes and no. It scaled nicely with the increase of available memory by the time (bigger samples = richer sound). But I think Amiga can do better than this
no9 is offline  
 


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

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 00:24.

Top

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Page generated in 0.09580 seconds with 15 queries