Category Archives: Code Samples

Useful code snippets and interesting coding ideas.

Three band crossover filter (part 1)

What are crossover filters? Due to mechanical / physical constraints it is near impossible for a single speaker cone to accurately reproduce the full audio range. Carefully designed small speakers may work adequately for low power use such as portable radios, but for larger, higher power and higher sound quality speakers, multiple “driver” units are … Continue reading Three band crossover filter (part 1)

Synthesizing musical notes

This is a short tutorial about generating sounds and shaping the sound with an envelope. Nyquist includes a number of oscillators and other simple sound generators that may be used as building blocks. In this tutorial we will be using the triangle waveform oscillator as the basis of a simple piano-like “ding” sound.We’ll start with … Continue reading Synthesizing musical notes

Arrays as function arguments

When calling a function we commonly pass one or more parameters to that function. In most cases these are simple variables; integers or floats, but could be lists or arrays. In the case of passing arrays there is a hidden danger. Let’s consider a simple function:

To use this function we pass two values, … Continue reading Arrays as function arguments

Changing the speed and length very accurately

Audacity has a “Change Speed” effect, but it is only accurate to three decimal places. For greater accuracy a short Nyquist script can be used in the Nyquist Prompt effect.

In this example the length of the selected audio was 599.999 seconds and I wanted to stretch it to 600 seconds duration. The durations … Continue reading Changing the speed and length very accurately

Display time as hh:mm:ss

For a shorter display when hours [or hh:mm] are not required, set the ‘short’ parameter to 1. To display hh:mm:ss without milliseconds, set the second parameter [places] to 0. The ’round’ parameter can be set to round up, round down or round to the closest whole number of seconds. For full details of all options, … Continue reading Display time as hh:mm:ss

How to detect a sound in just a few lines of code

The basic detection method is just one short line of code (while (= (snd-fetch s) 0)) What this does is to fetch consecutive samples from the sound “s” until a sample is returned with a non-zero value. A word of caution, SND-FETCH is destructive to the audio data. If “s” will be required later in … Continue reading How to detect a sound in just a few lines of code