SBaGen Frequently Asked Questions

Qu: I've tried some of the provided sequences in SBaGen, but I can't hear anything at all (i.e. silence). What I am doing wrong?

You're probably trying to play some of my experimental overnight sequences. If you were playing them in the day-time, obviously, you won't hear anything, because they are designed to play things at night! If you want to hear them at another time of day, add the -S option, which means 'play from start and ignore the clock time'. Alternatively, use the -q option which plays the sequences from the start and at a quicker rate, e.g. "-q 60" to play it at 60x speed (1sec==1min).

Qu: When I run SBaGen, it flashes up some text and dies. What am I doing wrong?

This was a problem that Windows users used to have. However, this shouldn't be a problem any more as since SBaGen 1.4.0, Windows users have a proper installer, and SBaGen waits for a keypress whenever it has a problem. However, if you really want to run the earlier versions, it is still necessary to use the DOS prompt, as documented in the SBAGEN.txt file.

Qu: How do I stop SBaGen when it is running?

Press 'Control-C'. This is the standard key-combination to stop a command-line program, even on Windows.

Qu: If I do (right-click) -> Edit on a SBG file, Windows complains about permissions. What is wrong?

This is a known bug in the current installation of SBaGen on later versions of Windows XP. It is starting up NotePad incorrectly. For now you will have to start up NotePad manually, and select File->Open to edit the SBG files.

Qu: If I do (right-click) -> Write WAV on a SBG file, it suggests "Use -L or -E with -W option to give the length of the WAV file". What does this mean?

SBaGen is refusing to write the WAV file because the sequence goes on forever and would fill up your entire hard drive. You need to give it a length using the -L option, for example "-L 0:30" for a 30-minute WAV. This option has to be edited into the SBG file, near the top. You need to edit it using NotePad (copying it first if you are unsure), and add the option. For example, looking at 'ts-brain-alpha.sbg', it initially looks like this:

  ## Alpha 10 Hz

  ts: pink/40 300+10/10

  0:00 ts

Adding the length option, afterwards it looks like this:

  ## Alpha 10 Hz
  -L 0:30

  ts: pink/40 300+10/10

  0:00 ts

This file, once saved, will output correctly for 30 minutes when using the "Write WAV" context menu option. Alternatively, you could add the output options directly to the file as well, and then it would write a WAV every time you double-clicked it (although you couldn't listen to it then). For example:

  ## Alpha 10 Hz
  -L 0:30 -Wo out.wav

  ts: pink/40 300+10/10

  0:00 ts

I know this is awkward -- and I'm sorry about that -- but until I get the time to do something better, this will hopefully still allow people to get the end-result that they are looking for.

Qu: Can you let me know when you update the program?

You could join the announcement mailing list, in which case you'd get an E-mail every time I release a new version of the program and associated files:

Or if you want to join the discussion list (more traffic), see here:

Qu: I've heard that commercial binaural beat tapes are created with specially-calibrated equipment to generate tones accurate enough to create the correct binaural beats. Is SBaGen this accurate?

Yes. I was well aware of the accuracy required to get good quality binaural beats. Even though the frequencies are only displayed to 2dp, the accuracy is much higher (around 4dp in the Hz values). It is because I "did it right" that I can do tricks like sliding the carrier frequency whilst still generating a precise binaural beat, which still seems beyond what is done on many of the commercially available binaural beat tapes and CDs.

Qu: Are PC soundcards accurate enough for generating precise binaural beats?

Yes. Because both channels (left and right) are absolutely synchronised, the only error that can creep in is an error due to the sampling rate clock. If your sample rate clock is running at 44200Hz instead of 44100Hz (unlikely, but I'll use this as an example), this would give a 0.2% error in the frequencies. However, it would give exactly the same error in both left and right, so it would only give a proportional change in the beat frequency. In other words, if your soundcard clock is running 0.2% fast, all your binaural beats will also be 0.2% higher. However, this is not significant (1.002Hz instead of 1.000Hz) -- at least not as significant as it would be if you used two PCs, one for the left channel and the other for the right. In that case, the 0.2% error in the carriers (150.3Hz instead of 150.0Hz) would be highly significant -- 0.3Hz error in one channel means your binaural beat would be anywhere between 0.7Hz and 1.3Hz. This is the kind of problem that people have had to worry about in that past, especially when they were using old analogue oscillators, but it simply doesn't happen when the left and right sample clocks are synchronised as they are with a PC soundcard.

So, you don't need to worry about this issue when using SBaGen.

Qu: Why am I not hearing pure (unmodulated) tones in the left (or right) channel? Is SBaGen mixing the two tones?

No, SBaGen is not doing any mixing of the tones. For each binaural beat, it sends a pure sine wave to the left channel and a pure sine wave (of a different frequency) to the right channel. If you listen to just the left channel and you hear a beating effect, then something else is causing the two channels to be mixed. Sometimes this can be the soundcard -- some soundcards automatically add a 'spatializer' effect to enhance the sounds unless you turn that option off, and this causes some mixing of the two channels. The way to turn it off depends on your soundcard -- probably you'd need to find the settings dialog or control panel.

Qu: I hear buzzing for low frequency tones (below 40Hz). Any idea what is going on?

Devin Wilson experienced this problem with a new HP Vista machine. By default it was set to 48000Hz output, and it appears that when set to 44100Hz output, the sound-card sample-rate conversion distorted the low frequency waves, creating a buzzing sound. The solution was to set sbagen to output at 48000Hz, using "-r 48000" in the SBG files.

Qu: Can I encode a binaural beat soundtrack as an MP3?

Well, the answer appears to be 'yes'. It does help if you avoid "joint stereo" encoding when you create the MP3, as this mixes the left and right channels to some extent. Instead make sure you use full "stereo" encoding.

Qu: Is it really necessary to use pink noise (the 'static'-like sound) with the binaural beats?

It is recommended (by The Monroe Institute, etc) to mix binaural beats at a low level with some kind of background sound, e.g. pink noise. This is why pink noise is provided in sbagen. However, a better alternative would be to mix in some other kind of soundtrack. From version 1.4.0, SBaGen supports randomly-loopable OGG files, and two files of river sounds are provided. These can be mixed in using the -m option (e.g. -m river1.ogg). You can also create your own background soundtracks as MP3 or OGG files.

Qu: What can I use for background noises to mix with my binaural beats?

People have tried different things. Some people use tools such as CoolEdit on Windows to generate brown noise or other sounds to use as a background. Another person suggested commercial nature sound recordings, such a "Echoes of Nature", a cheap 10-CD set available in the USA. Commercial binaural CDs/tapes use their own special background recordings based on rain or waves or running water sounds and/or bells or chimes or tibetan bowls and/or music and/or whatever else seems good to them.

Update Apr-2004: SBaGen 1.4.0 now comes with two OGG files containing river sounds, which it can randomly loop to generate endless background sounds. People can create their own loopable files by adding a special tag to any short OGG file. See SBAGEN.txt for details.

Qu: What is the situation between SBaGen and I-Doser?

I-Doser based their software on SBaGen and distributed it in violation of SBaGen's GPL license for a long time (maybe 4 years) before people started noticing. Some kind of an agreement was cut with I-Doser in Jun-2007. For more details of all this, see this page.

Qu: How do I mix a background WAV/MP3/Ogg file with the output of the 'p-drop' Perl script?

Firstly, note that from version 1.4.0, the p-drop script is no longer required as the "Drop" feature has been built into SBaGen as the "-p drop" option. See SBAGEN.txt, section 3.6 for full details, or try the prog-drop-00d example sequence or a command-line something like this:

  sbagen -m background.wav -p drop 05ds+ mix/100

However, for people who want to use the original Perl-script file, here's an example command-line that generates a new WAV file 'out.wav' based on the p-drop sequence "05ds+":

  p-drop 05ds+ -m background.wav -Wo out.wav

If you want to output this directly to the sound card, just miss off the output part:

  p-drop 05ds+ -m background.wav

These work because p-drop passes the extra arguments straight through to sbagen itself. Also note that the input WAV file must be encoded in the correct sampling rate and format (16-bit stereo, and 44100Hz by default). To use an MP3 or Ogg file, just put the mp3/ogg file in place of "background.wav" above.

Qu: Can I use SBaGen to make my own binaural beat tapes and CDs to sell?

Yes, you can. The generated binaural beats and pink noise can be used for any purpose. However, if you mix them with audio from external sources such as the included OGG files, then you need to pay attention to the licensing terms on these. For example, the two river sounds OGG files which I produced are released under the Creative Commons Attribution-ShareAlike license.

However, if you are only using external sources that you have created yourself, you can do what you like with the generated WAV files. If you don't include the sbagen source code or executables or any of the other copyright materials in your release, there are no restrictions. (If you redistribute sbagen code or binaries, then that comes under the terms of the GNU GPL -- see the COPYING file.) In any case, a credit and web-link on the tape/CD would be appreciated, but this is not required.

However, do note that I cannot accept any responsibility for any claims you may make for your product. It is up to you to check that the generated binaural beats do whatever you claim they will do.

Qu: Will SBaGen run on really old computers (e.g. a 486)?

SBaGen was originally written to run on a Pentium-75, and I could get output at 44100Hz with all 8 channels running using only 66% of the CPU time. Normally you would not need so many channels in any case, and you can always drop the sampling rate to 22050Hz or even 8000Hz. So it can certainly be made to work on a 486.

Qu: How can I run the provided Perl scripts on Windows?

There are a few Perl-scripts included in the SBaGen distribution that generate calculated sequences for SBaGen to run. Perl was used because it is easier to generate values for the sequences this way than calculate them by hand and fill them in each time. You could use VB or any other tool that is handy if you wish to generate your own calculated sequences. However if you want to run the provided Perl-scripts on Windows, you'll need to install Perl.

The following instructions were kindly provided by Bort Vern on the sbagen-users mailing list, using 'p-drop' as an example:

First you will want to download a perl run-time environment for Windows. I would recommend the ActiveState version. It is a free download available at The site is a little difficult to navigate but this link should get you directly to the download.

You will probably want the Windows MSI package.

After you have perl installed you will be able to execute perl scripts from the command line, however you will need to edit the last line of the code unless sbagen.exe is in the environment path.

For example if you want to run p-drop you would change
  exec "./sbagen -SE " . join(" ", @ARGV) . " tmp-prog";
to say,
  exec "c:\\sbagen-1.0.12\\sbagen -SE " . join(" ", @ARGV) . " tmp-prog";

This assumes you have sbagen.exe in the c:\sbagen-1.0.12 directory. You'll also want to rename the p-drop file to so it can be executed directly from the command line. Activeperl will make all perl scrips executable just like .bat files.

So now all you need to do is figure out what command line parameters you want and try running the script from a command line.

Qu: Is there a way to step to lower beat frequencies without the tone fading out and then back in to the next lower beat?

Yes, do something like this, using explicit slides between given tone-sets:

  23:59:55 == off ->
  0:00:00 == ts00 ->
  0:02:50 == ts00 ->
  0:03:00 == ts01 ->
  0:05:50 == ts01 ->
  0:06:00 == ts02 ->
  0:08:50 == ts02 ->
  0:09:00 == ts03 ->
  0:11:50 == ts03 ->

This is cut out of the tmp-prog generated by "p-drop". In this case there are no automatic fades going on, just the smooth changes between the tonesets that you have specified.

Qu: Is it possible to check that the binaural beats are present in the WAV files I've created, or in binaural recordings I've received from other sources?

Yes, try my Bavsa tool which analyses binaural beat recordings and allows you to find the beats relatively easily on a graphical display. You can also read off the frequencies and amplitudes of the beats with that tool. Alternatively, there is also some slightly harder-to-use command-line analysis software on the main SBaGen page HERE.

Qu: Would it be possible to generate binaural beats in real-time from an incoming EEG brain-wave stream?

Yes, someone has described an idea to me which would in fact allow that to happen. It needs some work to test it, but it looks feasible. You just need to keep a constant tone in one ear, and then have a varying tone in the other ear. This varying tone is created by amplitude modulating the incoming brain-wave signal with a constant carrier, and filtering away one half of the resulting frequency image. Whether this would actually be of any use, I don't know, but I may try it one day and find out ...

UAZUNextUpPrev These pages and files, including applets and artwork, are Copyright (c) 1997-2016 Jim Peters unless otherwise stated. Please contact me if you'd like to use anything not explicitly released, or if you have something interesting to discuss.