Audio output - Amethyst-Sysadmin/Howl GitHub Wiki

Audio output using Howl

This page contains information about Howl's audio output feature (added in 0.6). This allows Howl to be used with most estim devices that accept audio input.

Suggested settings

Howl's default settings are mostly aimed towards the Coyote 3. When using with an audio based estim device I suggest changing (in "Settings"): -

  • Channel A/B power limit: 200 (to remove the arbitrary limit)
  • Power control step size A/B: 10 (sets bigger steps so you don't need to press plus 200 times to get max volume)

The audio output volume is scaled by the power levels in the app, so it's expected that you will just get silence when the channel power is set to 0. I went with that approach because some users wanted more fine grained volume control, and it makes it possible to use the auto increase feature with audio devices.

Howl supports two different methods of audio output that you can choose between (using the "Output type" setting), wavelet and continuous.

Wavelet method

The output is comprised of wavelets, which are short bursts of a faster fixed frequency carrier wave. This is similar to the technique used by Restim, but with a different implementation that targets stereo output rather than triphase interactions. This is a more modern and theoretically safer method that may require less energy transfer to achieve a particular level of sensation. It tends to work best with devices that directly pass through audio and do not add extra processing (e.g. most DIY stereostim devices).

Continuous method

We output a continuous sound wave with a varying frequency. This is more similar to the traditional approach used by estim audio files, and might be better suited to devices that add their own processing (for example the 312 and 2B).

Additional settings

A good range of additional options are provided for both output methods, allowing aspects like the frequencies used and the shape of the underlying waves to be set to your liking. I don't personally have an audio-based device, so the defaults are likely to not be very well tuned (and what works best is probably different between devices anyway). You'll probably want to experiment with the different output methods and parameters to see what's best for you.

Keep in mind that some wave shapes transmit more energy than others (e.g. a square wave will be much stronger than a sine wave), and it's easy to just have a preference towards the more powerful output. You'd need to account for that and also adjust power levels to feel more equal in order to fairly compare between shapes.

Wavelet settings

The settings provided in wavelet mode are: -

Carrier wave shape Chooses the shape of the carrier wave that the wavelets will be made from.

Carrier wave frequency (Hz) Sets the fixed frequency of the carrier wave in hertz. Low frequencies are not offered because the carrier frequency needs to be much higher than the pulse rate for the wavelet technique to work.

Wavelet width (in carrier wave cycles) Chooses how long each wavelet is, in terms of carrier wave cycles. For example if you choose 7 here, each output wavelet will be 7 repeats of the carrier wave long.

Wavelet fade in/out proportion Sets how much of each individual wavelet we'll use for fading in and out. For example when set to 0.5, the wavelet is faded in over the first 25%, the middle 50% is at full amplitude, then the wavelet is fading out over the last 25%. When set to 0.0 there is no fading and the wavelet starts and ends abruptly. When set to 1.0 the wavelet fades in over the first half of the duration, then immediately starts fading out.

Carrier phase on each channel Sets whether the carrier wave phase between the two channels is the same, offset or opposite. This probably has little effect if each channel is targeting a different body part. But if you have electrodes in close proximity, it can change how the channels interfere with each other, so you might find one setting preferable to the others.

When using wavelet mode, the pulse rate (the number of wavelets per second) is determined by the pattern or file being played. Howl's main frequency range control sets the range of pulse rates that will be used.

Continuous settings

The settings provided in continuous mode are: -

Wave shape Chooses the shape of the continuous sound wave.

Minimum allowed frequency (Hz) Sets the minimum frequency that your device supports (or the minimum you want to use). Howl's main frequency bar will allow you to further adjust during playback within the range you picked.

Maximum allowed frequency (Hz) Sets the maximum frequency that your device supports (or the maximum you want to use). Howl's main frequency bar will allow you to further adjust during playback within the range you picked.