mirror of
https://github.com/elder-plinius/binaural-beats-generator.git
synced 2026-02-12 16:52:50 +00:00
Update binauralGenerator.js
This commit is contained in:
@@ -1,18 +1,37 @@
|
||||
let context = new AudioContext();
|
||||
let oscillator = context.createOscillator();
|
||||
let gainNode = context.createGain();
|
||||
|
||||
oscillator.connect(gainNode);
|
||||
gainNode.connect(context.destination);
|
||||
let leftOscillator = context.createOscillator();
|
||||
let rightOscillator = context.createOscillator();
|
||||
|
||||
chrome.storage.sync.get('frequency', (data) => {
|
||||
oscillator.frequency.value = data.frequency;
|
||||
let leftPan = context.createStereoPanner();
|
||||
let rightPan = context.createStereoPanner();
|
||||
|
||||
leftPan.pan.setValueAtTime(-1, context.currentTime);
|
||||
rightPan.pan.setValueAtTime(1, context.currentTime);
|
||||
|
||||
leftOscillator.connect(leftPan);
|
||||
rightOscillator.connect(rightPan);
|
||||
|
||||
leftPan.connect(context.destination);
|
||||
rightPan.connect(context.destination);
|
||||
|
||||
chrome.storage.sync.get(['baseFrequency', 'beatFrequency'], (data) => {
|
||||
let baseFrequency = data.baseFrequency || 300;
|
||||
let beatFrequency = data.beatFrequency || 10;
|
||||
|
||||
leftOscillator.frequency.value = baseFrequency - (beatFrequency / 2);
|
||||
rightOscillator.frequency.value = baseFrequency + (beatFrequency / 2);
|
||||
});
|
||||
|
||||
oscillator.start();
|
||||
leftOscillator.start();
|
||||
rightOscillator.start();
|
||||
|
||||
chrome.storage.onChanged.addListener((changes, areaName) => {
|
||||
if (areaName === 'sync' && changes.frequency) {
|
||||
oscillator.frequency.value = changes.frequency.newValue;
|
||||
chrome.storage.onChanged.addListener((changes) => {
|
||||
if (changes.baseFrequency || changes.beatFrequency) {
|
||||
let baseFrequency = changes.baseFrequency ? changes.baseFrequency.newValue : leftOscillator.frequency.value + rightOscillator.frequency.value / 2;
|
||||
let beatFrequency = changes.beatFrequency ? changes.beatFrequency.newValue : rightOscillator.frequency.value - leftOscillator.frequency.value;
|
||||
|
||||
leftOscillator.frequency.value = baseFrequency - (beatFrequency / 2);
|
||||
rightOscillator.frequency.value = baseFrequency + (beatFrequency / 2);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user