Coder Social home page Coder Social logo

binaurealis's Introduction

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

binaurealis's People

Contributors

yashdiniz avatar

Stargazers

Pat McCulloch avatar Marc Miranda avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.