Brain Machine
Moderators: adafruit_support_bill, adafruit

Brain Machine

by cshiley on Sun Dec 05, 2010 2:07 pm

Does the Brain Machine use binaural beats?
cshiley
 
Posts: 2
Joined: Sun Dec 05, 2010 2:05 pm

Re: Brain Machine

by adafruit on Sun Dec 05, 2010 3:29 pm

good question, this is something best answered by mitch we'll get him to pop in here.
User avatar
adafruit
 
Posts: 11683
Joined: Thu Apr 06, 2006 3:21 pm
Location: nyc

Re: Brain Machine

by mtbf0 on Sun Dec 05, 2010 5:18 pm

yes. see the firmware.
"i want to lead a dissipate existence, play scratchy records and enjoy my decline" - iggy pop, i need more
User avatar
mtbf0
 
Posts: 1645
Joined: Fri Nov 09, 2007 11:59 pm
Location: oakland ca

Re: Brain Machine

by maltman23 on Sun Dec 05, 2010 5:39 pm

Binaural beat is a perceptual phenomenon in which a person perceives a beat frequency.

A beat frequency is a physical phenomenon where sound pressure waves from two different frequency soundwaves add and subtract in front of your ear drum -- you actually hear the two original frequencies, and you also hear the difference between the two frequencies. (People who play guitar often make use of beat frequencies to tune two strings by plucking both strings after positioning their fingers on the fret-board appropriately, and tuning one string until the beat frequency goes down to zero.)

70% of people perceive binaural beats. Of the people that do not perceive them, more are female. No one knows why binaural beats are perceived, but it has something to do with the communication between brain hemispheres.

The Brain Machine makes use of binaural beats. The idea is that your brain is involved in creating the perceptual phenomenon of hearing the (non-exitent) "beat frequency" (and the AVR microcontroller is programmed to have the binaural beats be brainwave frequencies) -- and because your brain is involved in creating the perceived beat frequency, it is effective in synchronizing your brain to that frequency.

The binaural beats that the Brain Machine puts out into the headphones are always the same as, and in synch with, the blink rate of the LEDs in front of your eyes.

The idea is that the blinking lights together with the binaural beats make it even easier for your brain to synchronize to the pre-programmed meditation brainwave sequence (and so you meditate).

The beautiful hallucinated colors and patterns that everyone perceives are only from the blinking lights.

Mitch.
User avatar
maltman23
 
Posts: 134
Joined: Fri Jul 13, 2007 3:54 pm
Location: San Francisco

Re: Brain Machine

by cshiley on Mon Dec 06, 2010 11:03 am

Thanks very much for the quick answer!
cshiley
 
Posts: 2
Joined: Sun Dec 05, 2010 2:05 pm

Re: Brain Machine

by gr33nman on Thu Feb 10, 2011 5:58 pm

Is there anywhere on the web where there are other example light and sound 'shows' for Mitch Altman's brain machine that people have created and found interesting or useful, for instance, for falling asleep, conscious dreaming, perhaps using alternate frequencies, etc. For instance, some may prefer 7Hz instead of 6Hz for Theta. Is there anything like that out there? It would just be a case of switching out the contents of brainwaveTab[] for another table.
gr33nman
 
Posts: 4
Joined: Thu Feb 10, 2011 5:39 pm

Re: Brain Machine

by maltman23 on Fri Feb 11, 2011 12:58 am

A bunch of people have posted to the blog pages for the project on the MAKE Magazine site (where my original project article was published):
http://makezine.com/10/brainwave

But you can easily change the brainwave sequence on your own and see what results you get. Go ahead and play. And please post your results so that others can benefit from your experience.

Best,
Mitch.
User avatar
maltman23
 
Posts: 134
Joined: Fri Jul 13, 2007 3:54 pm
Location: San Francisco

Re: Brain Machine

by gr33nman on Tue Feb 15, 2011 2:18 pm

maltman23 wrote:A bunch of people have posted to the blog pages for the project on the MAKE Magazine site (where my original project article was published):
http://makezine.com/10/brainwave

But you can easily change the brainwave sequence on your own and see what results you get. Go ahead and play. And please post your results so that others can benefit from your experience.

Best,
Mitch.

Hi Mitch,

Thanks for your reply. I've just commented about my Arduino Brain Machine blog post on Makershed. There's a git repository too.

I'm interested in compiling a list of other people's brainwave duration tables to help spread around what others have come up with.

Arduino is a little easier for me to hack - plus I got one for Christmas, hence my interest in working on that platform.

I'm working on alternate blinks, adding other frequencies and smooth ramps transitions.

I hope you like what I've done.

Cheers,

Chris
gr33nman
 
Posts: 4
Joined: Thu Feb 10, 2011 5:39 pm

Re: Brain Machine

by maltman23 on Sat Feb 19, 2011 2:54 am

Hey Chris,

Cool that you're hacking it on the Arduino. Thanks for sharing the project. Please post to here and the Makezine blog page for the project if you get any results you like (or don't like).

Cheers,
Mitch.
User avatar
maltman23
 
Posts: 134
Joined: Fri Jul 13, 2007 3:54 pm
Location: San Francisco

Re: Brain Machine

by gr33nman on Sun Feb 20, 2011 2:51 pm

maltman23 wrote:Hey Chris,

Cool that you're hacking it on the Arduino. Thanks for sharing the project. Please post to here and the Makezine blog page for the project if you get any results you like (or don't like).

Cheers,
Mitch.


Hi Mitch,
I elected to use the tone library to generate tones for the Arduino instead of creating tones manually. For that reason, all of the code regarding this is stripped from my adapted code. Just to be sure the tones were correct, I generated equivalent square-wave tones using Audacity. They are nearly identical to my ear - close enough to rely on the binaural beats generated by the tone library.

I used a central tone:
Code: Select all | TOGGLE FULL SIZE
float centralTone = 440.0;

and an array of beats:
Code: Select all | TOGGLE FULL SIZE
float binauralBeat[] = { 14.4, 11.1, 6.0, 2.2 };

so the code plays beta thus:
Code: Select all | TOGGLE FULL SIZE
rightEar.play(centralTone - (binauralBeat[0]/2));
leftEar.play(centralTone + (binauralBeat[0]/2));


This allows users to choose whatever general pitch they might like to start with and never have to fiddle with exact tones after that. The code does the rest for us. Also, allowing the tone to go up and down equally in both ears may seem more 'natural' to some listeners than leaving one tone unmoving in one ear.

So if someone wanted to add gamma to their set,
it's a case of changing float binauralBeat[] to
Code: Select all | TOGGLE FULL SIZE
float binauralBeat[] = { 14.4, 11.1, 6.0, 2.2, 40.4 };

and adding the case:
Code: Select all | TOGGLE FULL SIZE
    case 'g':
      // Gamma
      rightEar.play(centralTone - (binauralBeat[4]/2));
      leftEar.play(centralTone + (binauralBeat[4]/2)); 
      // Generates a binaural beat of 40.4Hz
      // delay for the time specified in the table while blinking the LEDs at the correct rate
      blink_LEDs( pgm_read_dword(&brainwaveTab[index].bwDuration), 124, 124 );
      return;   // Gamma

just before the default case of switch(brainChr).

To my eye and ear, binaural beat and blinks are matched, at least when they are slow enough that my brain can make the distinction, like theta and delta.
gr33nman
 
Posts: 4
Joined: Thu Feb 10, 2011 5:39 pm

Re: Brain Machine

by maltman23 on Sun Feb 20, 2011 6:31 pm

Thanks for posting this, Chris.

I made a reply on the blog page for the Brain Machine project on the makezine site:
http://makezine.com/10/brainwave/

So, anyone interested, please look over there, too (do a search for "gr33nman" once the page loads).

Cheers,
Mitch.
User avatar
maltman23
 
Posts: 134
Joined: Fri Jul 13, 2007 3:54 pm
Location: San Francisco

Re: Brain Machine

by GregW on Thu Apr 21, 2011 12:57 am

I just got an Uno as well so I was pretty excited to come across this topic!

Mitch, I have had my eye on this for a while...really excited to get one going...nice work!

Chris, like you I wanted to shift it to an Arduino, mainly because I had one I wanted to play with, and also I was thinking, same as you, of how you could have multiple programs. I used to have a sound machine that had brain wave frequencies embedded in the programs, and I really liked it until the day it died. I just wanted to thank you for all the info you have posted here, on other forums, and your github site...I was able to compile and upload and prototype the circuit within a half hour (most of that time spent digging for parts) thanks to you!

Just wanted to give you guys props and thanks for sharing!
User avatar
GregW
 
Posts: 2
Joined: Sat Dec 11, 2010 7:11 pm

Re: Brain Machine

by maltman23 on Fri Apr 22, 2011 10:03 am

Glad you got yours up and running. If you have any interesting results, please share your experiences.

Thanks,
Mitch.
User avatar
maltman23
 
Posts: 134
Joined: Fri Jul 13, 2007 3:54 pm
Location: San Francisco

Re: Brain Machine

by gr33nman on Fri Apr 22, 2011 11:01 am

GregW wrote:I just got an Uno as well so I was pretty excited to come across this topic!...
Just wanted to give you guys props and thanks for sharing!

GregW,

I'm glad it worked on the first try. Excellent. If you create some new programs, post them here or PM me, and I'll put them in the github library.

Chris
gr33nman
 
Posts: 4
Joined: Thu Feb 10, 2011 5:39 pm

Re: Brain Machine

by drdavel on Wed Feb 15, 2012 8:32 am

I tried compiling this with arduino-1.0. Tone.cpp complained about digitalWrite not being defined. Editing #include <Arduino.h> and deleting #include <wiring.h> ( which does not seem to be present in the latest arduino-1.0 ) in Tone.cpp , gave a compile with no complaints.

Now to try out everything with the program!

David
drdavel
 
Posts: 5
Joined: Wed Jan 18, 2012 1:24 pm