Update binauralGenerator.js

This commit is contained in:
pliny
2023-08-12 16:06:08 -07:00
committed by GitHub
parent c9a67492b7
commit b2c26f8a19

View File

@@ -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);
}
});
});