12.237 sox-gen

Provides binaural audio along with pre-defined themes. This module can be used independent of Emacspeak.

12.237.1 Binaural Beats Using SoX

A binaural beat is an auditory illusion perceived when two different pure-tone sine waves, both with frequencies lower than 1500 Hz, with less than a 40 Hz difference between them, are presented to a listener dichotically (one through each ear). For example, if a 530 Hz pure tone is presented to a subject’s right ear, while a 520 Hz pure tone is presented to the subject’s left ear, the listener will perceive the auditory illusion of a third tone, in addition to the two pure-tones presented to each ear. The third sound is called a binaural beat, and in this example would have a perceived pitch correlating to a frequency of 10 Hz, that being the difference between the 530 Hz and 520 Hz pure tones presented to each ear. For more details, see https://en.wikipedia.org/wiki/Binaural_beats.

This module implements a set of user-facing commands for generating binaural beats. The commands are organized from high-level commands that play predefined binaural beats to lower-level commands that can be used to create new effect sequences.

All binaural beat sequences are played with a relatively low gain — they are designed to be heard in the background and when effective blend fully into the background. You can increase the overall volume of all binaural beat sequences by customizing

Variable: User Option sox-binaural-gain-offset to a positive value

— default is 0. High-Level Commands For Pre-Defined Binaural Beats

These commands can be called directly to play one of the predefined binaural beats.

  • sox-rev-up: A set of binaural beats designed for use at the start of the day. Transitions from Dream -> Think ->Act -> Focus.
  • sox-wind-down: A set of binaural beats for winding down at the end of the day. This can be thought of as the reverse of sox-rev-up and the sequence transitions from Act -> Think -> Dream ->Sleep.
  • sox-turn-down: Designed for falling asleep. This sequence starts with a short period of Dream before moving to Sleep.
  • sox-relax: A variant of the previous sequence, sox-relax spends equal time in Dream and Sleep.
  • sox-binaural: Provide a completion-based front-end to playing any one of the predefined binaural effects (Delta, Theta, Alpha, Beta, or Gamma. The previously defined sequences are built up using these effects.
  • sox-beats-binaural: Plays a collection of binaural beats, prompting for carrier and beat frequencies for each tone. The predefined sequences listed earlier were created after first generating experimental beat-sequences using this command.
  • sox-slide-binaural: Prompts for two binaural effects (see above) and generates a binaural beat that slides from the first effect to the second over a specified duration.
  • sox-chakras: Pick amongst one of a predefined set of sequences designed for Chakra meditation.
  • sox-tone-binaural: Generate a simple binaural beat with a single carrier frequency.
  • sox-tone-slide-binaural: Generate a tone that slides from one binaural beat to another.

12.237.2 Sox-Gen Commands sox-beats-binaural

Command: sox-beats-binaural (length beat-spec-list gain)
Play binaural audio with beat-spec specifying the various tones.
Param ‘beat-spec-list’ is a list of ‘(carrier beat) tuples.

(fn LENGTH BEAT-SPEC-LIST GAIN) sox-binaural

Command: sox-binaural (name duration)
C-, b
C-x @ a b
Play specified binaural effect.

(fn NAME DURATION) sox-chakras

Command: sox-chakras (theme duration)
Play each chakra for specified duration.
Parameter ‘theme’ specifies variant.

(fn THEME DURATION) sox-relax

Command: sox-relax (length)
Play relax set of  binaural beats for ‘length’ seconds.

(fn LENGTH) sox-rev-up

Command: sox-rev-up (length)
Play rev-up set of  binaural beats for ‘length’ seconds. 

(fn LENGTH) sox-slide-binaural

Command: sox-slide-binaural (name-1 name-2 duration)
Play specified binaural slide from ‘name-1’ to ‘name-2’.

(fn NAME-1 NAME-2 DURATION) sox-tone-binaural

Command: sox-tone-binaural (length freq beat gain)
Play binaural audio with carrier frequency ‘freq’, beat ‘beat’, and
gain ‘gain’.

(fn LENGTH FREQ BEAT GAIN) sox-tone-slide-binaural

Command: sox-tone-slide-binaural (length freq beat-start beat-end gain)
Play binaural audio with carrier frequency ‘freq’, beat
‘beat-start’ -> ‘beat-end’, and gain ‘gain’.


Command: sox-turn-down (length)
Play turn-down set of  binaural beats for ‘length’ seconds. 

(fn LENGTH) sox-wind-down

Command: sox-wind-down (length)
Play wind-down set of  binaural beats for ‘length’ seconds.


12.237.3 sox-gen Options

Variable: User Option sox-binaural-gain-offset
User specified offset that is added to default gain when generating
tones using SoX, e.g., for binaural beats.

Default Value:


Variable: User Option sox-binaural-slider-scale
Scale factor used to compute slide duration when moving from one
binaural beat to another.

Default Value: