Binaural beats unit

I made a two band custom unit to produce tuned binaural beats tracks (After struggling to get this together on my laptop). The idea is to be able to add a binaural beats track to meditation music I am producing that actually tracks the chord progression of the music without losing the Hertz difference of the left and right ear.


There are two controls, “tune” and “beat”. Tune is self-explanatory and can be sequenced to follow the music. The “beat” control should be the difference in Hertz between the left ear and the right ear. So for example if the fixed frequency is 440 Hz, and the “beat” parameter is 5Hz, then the right ear should be tuned to 445 Hz, but I did this by listening and checking with a pulse to Hertz unit instead of actually using hard knowledge about how to achieve the effect. I would be very interested to hear @odevices ideas on this. The crucial setting is on the offset in the tuning of the oscillator in the second band (controlled by the “beat” parameter). The main thing was getting the gain right. Right now it’s super small, something like 0.005 ? What is the maths behind this, can it be more accurate?

New version here Binaural beats unit


That’s terrific @Bparticle, thanks so much!

No worries, glad you find it useful! However, take the exact beat Hertz number with a grain of salt for now, it won’t be very accurate until I have answers about the controls and the gain on the unit!

Maybe @Joe might know more about this ? How can I add and subtract exact Hertz values from a given tuning and couple this to a custom control. Tuning uses cents instead of Hertz and I don’t know enough about units (cents, Hertz, etc.) and the internal workings of the ER-301 to solve this one. I used an offset in my unit (in band 2) with a ridiculously small gain (0.0005 I think) and it kind of works but it’s not exact. I want the custom control to say for example 5Hz, which would mean the second oscillator is tuned to whatever the tuning is +5Hz. At 0 there is no offset at all, and negative numbers will tune the 2nd OSC down by the exact Hz you dial in, you get the picture. Exact maths is what I need!

The exact formula is on the wiki.

The formula is in the documentation for the V/oct parameter and it gives the freq of the oscillator in terms of the two controls (V/oct and f0).


Yes I’m pretty sure the info I need is in there :frowning: If only that was more obvious to me. My technical knowledge of sound is (still) basic to say the least and I find documents treating the matter very dry. I think I understand how the tune parameter interacts with the base frequency, so much I have gathered. But I can only guess at how to add an offset in exact Hertz values to a certain tuning. Not to worry, I’ll soldier on.

I found this calculator that seems to suggest 1 Hertz is equal to 3.929 cents, and I’m currently trying to use that information in my custom control settings. Will post back when getting closer - or further away from a solution. (if I’m heading in the wrong direction, please stop me)

Sorry, didn’t mean to leave you hanging there.

You won’t be able to do it with just an offset because the offset needs to come after the exponential scaling, otherwise the exponential scaling (from V/oct) will scale the offset also.

The solution is to zero out the oscillator’s V/oct and f0 parameters, then put a “V/oct to Hertz” unit followed by an Offset unit inside the f0 sub-chain. Naturally the osc f0 gain should be 1.

The tune parameter of the “V/oct to Hertz” unit is your new V/oct control. While the offset parameter of the Offset unit is where you would put your 5Hz beat frequency.


If tuning in Hz, I’d use the f0 control if the unit has one (sounds like you’re using Sine Osc?)

Remember you can manually key a gain of 1.0, even if the dial wants to move in much larger increments.

Thanks, that is very helpful indeed. I had a hunch about the exponential factors but no clue as to circumvent the trouble.

I tried out your suggestion and it works like a charm when I’m dialing in the Hz frequency manually (in the 1V/Oct to Hertz unit), but I want to track the frequency of the main tune custom control on the top level of the unit so I can follow the , and the f0 parameter seems to expect a different input? I tried feeding the “tune” parameter of my unit to f0 of the 1V/Oct to Hertz unit with bias of 0Hz and 1 gain, but that doesn’t work. Feeding the local “tune” signal as a unit input doesn’t give any result (It slows the oscillator down somehow… :thinking:), and the tune parameter of the 1V/Oct to Hertz unit doesn’t have a subchain. So definitely nearly there, but one piece of the puzzle is still missing.

Oh wait, not sure if that makes any sense, but I just put another 1V/Oct to Hertz unit inside the subchain of the f0 parameter of the first one, and fed the main “tune” control to that unit with gain 1 and bias 0, and it seems to work?

A new version of the unit and some explanations:

This is a stereo unit. That should be obvious, but for anyone who is not familiar with binaural beats it might not be. This unit is just two sine oscillators that are hard panned one to the left, one to the right, but the right oscillators frequency is influenced by the “beat” parameter where you can choose the exact Hz frequency difference between the left ear and the right ear. Supposedly, listening to a 5Hz difference of frequencies in your left ear and your right ear, should “tune” your brain to that frequency. When changing the “beat” parameter, you will hear movement in the sound that is not actually there (more rapidly as you increase the frequency difference). So your brain is making that up. In that way you can use it as a meditation aid, or for brain experiments if you’re into that sort of thing :exploding_head: The great thing about doing this with the ER-301, is that you can actually sequence the tone without loosing the exact frequency offset, and combine it with other sounds to make the binaural beats less well, monotonous. That is the idea at least. Thanks to @odevices to make it actually work! And @Joe for chiming in. @sixnon try the new version, it should be accurate.

Last version:
binaural-beats.unit (16.8 KB)

The “beat” parameter takes a bi-polar offset signal from -15 to 15, where 0 gives you a perfectly balanced tone in both ears. As you increase or decrease the “beat” parameter, the right oscillator will start offsetting resulting in the perceived wobble of the tone.

This is a little brain map for your entertainment:

Epsilon < 0.5 Hz
Super normal abilities, expanded consciousness, ‘suspended animation’ with no perceivable heartbeat, respiration or pulse

Delta & Sub-Delta:~ 0.5– 4 Hz
Deep dreamless sleep, immune enhancement, regeneration and healing; anti-ageing hormones, cortisol reduction and pituitary release of H.G.H.; extremely deep relaxation

Theta: ~ 4 – 8 Hz
Memory consolidation; creativity, imagery and visualization; free-flowing lucid thought; spatial navigation tasks; inspiration and intuition; REM; processing of new (episodic) information; emotional processing and heightened suggestibility.

Alpha: ~ 7.5 – 12.5 Hz
Information processing; relaxed, tranquil consciousness and inward awareness; creative flow states; the coalescence of different frequencies; enhanced HRV, serotonin production, memory and dream recall; reactivity to disturbing noises in sleep

Sensorimotor Rhythms (SMR): ~ 12.5 – 15 Hz
Physical and mental calm; non-impulsive, external awareness; improved energy levels; flow states; healthy sleep patterns

Beta: ~ 15 – 40 Hz
Focused, analytical, rational, wide awake, alert awareness; concentrated, focused mind, heightened sensory perception, emotional stability, visual acuity, cognitive control of motor activity

Gamma: ~ 38 – 100 Hz
Integration/synchronization of brain centres involved in learning, memory, thought generation, task processing, motor function and sensory binding; heightened creativity, comprehension, concentration and impulse control

Lambda ~ 100 Hz +
Largely unknown but may include brain timing, higher states of awareness and ‘super-normal’ abilities


Have fun!


Well of course now I have to try for super-normal abilities. :wink:


Hehe this is great :star_struck:

Thank you for persevering and sharing!

1 Like

@Joe you don’t need any help with that I’m sure, haha. In any case the unit would need some adjustments since I’m only going up to 15Hz. Maybe it’s actually useful to include more active brain states such as Beta and Gamma at least. Not sure about Lambda :crazy_face:


Your custom unit’s tune parameter outputs in V/oct. So, yes, you would feed it to the input of the “V/oct to Hertz” unit, not a sub-chain (sorry about that). However, you should only need one “V/oct to Hertz” unit. I’m not sure why it didn’t work for you but I’m guessing it is because you didn’t set oscillator f0 bias to zero and gain to one?

Here is a custom unit as a proof-of-concept:

beating-osc.unit (14.1 KB)


1 Like

Ha! It just occurred to me that you could just ring modulate your main oscillator with another sine oscillator set at half the beat frequency. Oops. :laughing:


Thanks gain @Bparticle, I’m impressed at the creation of such a specific device in the ER-301, alas yet to find a moment to trial it, but shall be sure to as soon as i have a moment.

1 Like

There is something funny going on with that 1V/Oct input on the 1v/Oct to Hertz unit. When I load your proof of concept unit it actually works, but if I go into the input and replace it manually by exactly the same input it says “no signal” and stops working in the same fashion as it does in my own unit. I also got notice that your unit is made on a newer version of 0.4 so maybe I should upgrade and check again.

I’m not sure if that is true actually? The beat should be purely perceptional, not actually present in any of the channels. Doesn’t ring modulation make the tone itself wobble at the beat frequency? I think that is actually called monaural beats, and it should work in a similar fashion. Personally, however, I think binaural is the way to go if supernatural powers is what you are after :smile:

1 Like

It’s mysterious. I updated the firmware and now there is at least a signal showing when I select my custom control (“tune”), but it doesn’t process that signal as 1V/Oct. The only Hertz being pushed through is the offset after the 1V/Oct to Hertz unit.

It does work flawlessly with the two 1V/Oct to Hertz units, but I am eager to find out what I’m doing wrong here (or where the bug is hiding), and I would prefer a lean unit without redundancies.

In my example, I’m driving the f0 control of the “V/oct to Hertz” from a top-level custom control, so it’s bias is set to zero. In your case, you are not driving that control, so you need to set the f0 to some non-zero value or else the output of the unit will always be zero. Recall the formula referenced above.

This is actually just a (known) display bug that will be fixed soon. Sorry about the confusion this is causing.

You are totally right, of course. Somewhere along the way I forgot that you were setting up interference between stereo channels.

1 Like

Got it! At first I was confused because “some non-zero value” sounds like any non-zero value :roll_eyes: Of course that is silly. It needs to mimic the exact settings of the other oscillator in order to result in the same frequency. All good. Thanks for all the help. And now I know what the heck you can do with a 1V/Oct to Hertz unit because I couldn’t have guessed before attempting to build this thing.

For anyone following, I’m re-uploading the unit with this little update. Nothing actually changed in usage, just one redundant unit removed.

Last version here: Binaural beats unit