Space Debris

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • padsynth

    Command-line tool to resynthesize (with chords) looped wav files using PADsynth algorithm

  • 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, 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 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 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).

  • 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, 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 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 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).

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project