3 ms·
As someone who got into trackers after the "golden age", I wanted to comment with my perspective (focused on DSP, workflow, and chiptune): I noticed the video
by nyanpasu64 5y ago
As someone who got into trackers after the "golden age", I wanted to comment with my perspective (focused on DSP, workflow, and chiptune):
I noticed the video in the page is a remaster. To my ears, it sounds like it's being played with non-Amiga interpolation with less spectral imaging/replication (often mistakenly called aliasing), altered panning (the Amiga has an infamously rigid hard-panning setup), and possibly eq/reverb mastering on top of that. Compared to a video with aliasing (https://www.youtube.com/watch?v=thnXzUFJnfQ https://www.youtube.com/watch?v=thnXzUFJnfQ, no clue if the Amiga low-pass filtering is accurate), I like how the remaster has less high-pitched whine, but I feel it's missing out on the spectral replicas which influence the original's sound.
> I could try “hiding” the loop point by adding fades in the beginning and end of the sample, and then overlapping the fade areas.
I've heard people saying that crossfading is effective at looping, but in my experience it's difficult to pick good crossfade regions which don't result in altered timbre or audible discontinuities. Good crossfades are still slightly visible in a spectrogram, and bad crossfades are visibly and audibly discontinuous.
I'm probably 30 years too late, but I implemented a more sophisticated (but more situational) algorithm which analyzes a sample as a spectrum, then resynthesizes it using a variation of the existing padsynth algorithm. This produces a perfectly looped sound with no discontinuities at the loop point (unlike crossfading), with built-in chorusing (not suitable for solo instruments), no attack phase (not suitable for staccatos or plucked/percussive instruments), unfortunately with a bit of metallic artifacting. A year ago I implemented a prototype at https://github.com/nyanpasu64/padsynth https://github.com/nyanpasu64/padsynth which could shorten choirs and create chorded samples, but I never fleshed it out into a user-friendly product.
Another idea I had was to resynthesize the "loop end" of a sample, altering the amplitudes and phases of the harmonics to line up with the neighborhood of the "loop begin" (I'm undecided on exactly how to tweak the pitch and amplitude, whether to use phasors on a plane without pitch shifting, or shift pitch, or what), or crossfade while preserving the amplitudes of each harmonic, etc. This would preserve the majority of the original sample, making it useful for soloed instruments (though more difficult to use for chording samples). Sadly I haven't actually implemented this.
> A common trick to emulate a rhythmic delay effect was to use a short staccato instrument, play a melody with it, then manually go through every empty row on the same channel, copy & paste the note from a few rows above with a reduced volume, and repeat this until all rows were used.
0CC-FamiTracker and forks partly automate this process using an echo buffer command, which acts like a note with the same pitch as 1-4 notes above.
I believe trackers need more innovation, better commands (duration-target pitch/volume slides, graphical editing), better ways of managing state (eg. effects ringing on for longer than you want, or the wrong effects being active when a song loops), and better support for non-grid-aligned notes. I don't have all the answers yet, sadly. I've been working on https://gitlab.com/exotracker/exotracker-cpp https://gitlab.com/exotracker/exotracker-cpp but it's stuck in development hell.
> A simple and restricted composing environment like a four channel tracker with a limited amount of samples guarantees you can’t spend half a day tuning a kick drum sound.
I think that partly separates sample-based trackers and General MIDI formats (primarily based around prerecorded sounds, MIDI has practically no customization at all) from chiptune trackers (full-on synthesis, and FM chips can have nearly as many parameters as a modern VST, but less flexibility and harder to achieve a sound you want).
- AnthonBerg 5y agoVery cool. Chapeau! https://www.fileformat.info/info/emoji/crown/index.htm https://www.fileformat.info/info/emoji/crown/index.htm If this is 30 years too late then so am I – Belated thanks. Your work is certainly appreciated. Indeed I came to check if someone had mentioned this already – and if not, post exactly that video of the properly crunchy Amiga-sounding recording. I love the kind of “etched” sound of that time. Spectral treasure. Earlier in the 21st century us kids were using Propellerheads’ Reason a bit. Then I felt increasingly dissatisfied with the sound. There seemed to be this particular sou d to Reason’s virtual instruments. Plasticky? Since then I’ve come across mentions of aliasing; I wonder if that’s… part of the reason? (heeeh :sweat_smile:)
- nyanpasu64 5y agoSome things I forgot to mention: - In "Compared to a video with aliasing", I meant "compared to a video with spectral replication". - I'm surprised that this song's "synth female choir" sounds practically identical to the choir samples I've heard in SNES games. Though it makes sense, considering SNES music comes from the same era and had similar size restrictions, requiring cutting down samples and reusing them across wide pitch ranges. And a question to the composer: When I downloaded the .mod, looped the sample 3 times in Audacity (joining the seams), and switched the track to spectrogram mode, I saw spectral discontinuities (more energy than expected in between harmonics, at multiple frequencies, both low and high) at ~19084 samples (the loop point) and ~14501 samples. Is this second discontinuity the point you began the crossfade? (When I opened the .mod in OpenMPT, it said the loop point was at sample 2. I tried looping the sample from Sample 2 in Audacity, but this resulted in a far more prominent spectral discontinuity and an audible click upon looping. Oddly OpenMPT wouldn't let me set the loop start to any position below 58.)