Skip to content

An attempt at building a React app that generates calming binaural sounds.

License

Notifications You must be signed in to change notification settings

yashdiniz/binaurealis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Binaurealis

This is work in progress. Do not hesitate to check it out and get in touch with me! You can become a contributor to this repository by making a pull request.

Current design idea

The following design idea just popped up in my head, and I will be jotting it down here for assisting me in any kind of future reference.

This basic project is supposed to allow me to generate very simple binaural beats, of various frequencies (lookup Brain waves and induction), and help me pay attention.

Binaural sounds by definition simply mean making the ears hear multiple different sounds simultaneously to offer an immersive experience. Various adjustments like slight differences in frequency or time can make us experience just that. Furthermore, generating very specific beat frequencies also have other rumored benefits.

Driven by speculation, a will to experiment the possible benefits of binaural sounds, and an innate desire to learn React, I have decided to build this very simple sound generator.

High level requirements

  • Generate multiple different tones, carefully static stereo-panned, so that each ear receives a slightly different sound (tone). Delay will not matter here, since we are generating tones.

  • Supporting mirroring of left and right sound channels, while also allowing user to follow a lookup table of various recommended beat frequencies, and preferably also allowing the user to choose their own custom beat frequency.

  • Allowing the user to choose a custom base frequency for any of the multiple channels.

  • Variable volume, customisable type of sound wave(sine, triangle).

  • Ability to insert new sources (with the sources always being inserted as pairs).

  • Support to pause/resume.

  • A common pause/resume button (with a fade-out on pause)

  • Common volume slider (muting pauses?).

  • Each source supporting a unique sound type (sine or triangle)

  • Each source having a base frequency, and a beat frequency slider.

  • Each source has two channels, one panned completely to the left, and the other panned completely to the right.

  • Also, individual pause/resume buttons, and volume sliders for each source?

Implementation

React components. Loads and loads of React Components. Each of them seamlessly fused together. Sound API should be run over function wrappers for ease of functionality, and channel integrations should happen as follows:

The audio graph implementation

The concept of audio routing graphs with various nodes(sources and sinks) perfectly fits the description for compatibility with React components and can easily make for a nice application. Let's see how this goes!

Lookup Table

Frequency range Name Usually associated with
40 Hz and above Gamma waves Higher mental activity, including perception, problem solving, and consciousness
13–39 Hz Beta waves Active, busy thinking, active processing , active concentration, arousal, and cognition
7–13 Hz Alpha waves Calm relaxed yet alert state
4–7 Hz Theta waves Deep meditation /relaxation, REM sleep
4 Hz and below Delta waves Deep dreamless sleep, loss of body awareness

References

  1. Types of brain waves and induction
  2. Binaural recordings
  3. Using Web-Audio API
  4. ReactJS tutorial

About

An attempt at building a React app that generates calming binaural sounds.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published