Skip to content

Instantly share code, notes, and snippets.

View vitaliy-bobrov's full-sized avatar

Vitalii Bobrov vitaliy-bobrov

View GitHub Profile
const reader = new FileReader();
reader.addEventListener('load', () => {
CSS.paintWorklet.addModule(reader.result);
});
reader.readAsText(blob);
avrdude -c USBasp -p m328p -b 19200 -e -U flash:w:"TransistorTester.hex":a -U eeprom:w:"TransistorTester.eep":a -U lfuse:w:0xF7:m -U hfuse:w:0xD9:m -U efuse:w:0xFC:m
@Component({
selector: 'app-not-found',
template: `
<h2>
404 - Page not found
</h2>
<p *ngIf="path">You might want to go to the <a [routerLink]="path">"{{ path }}" page</a></p>
`
})
export class NotFoundComponent implements OnInit {
guitarInput
.connect(convolver)
.connect(makeUpGain)
.connect(bassNode)
.connect(midNode)
.connect(trebleNode)
.connect(context.destination);
const level = 5;
const duration = 0.01;
midNode.gain.setTargetAtTime(level, context.currentTime, duration);
const bassNode = new BiquadFilterNode(context, {
type: 'lowshelf',
frequency: 500
});
const midNode = new BiquadFilterNode(context, {
type: 'peaking',
Q: Math.SQRT1_2,
frequency: 1500
});
const makeUpGain = new GainNode(context, {
// Need to be adjusted to a particular IR.
gain: 5
});
guitarInput
.connect(convolver)
.connect(makeUpGain)
.connect(context.destination);
guitarInput.connect(convolver).connect(context.destination);
const convolver = new ConvolverNode(context);
fetch('impulse.wav')
.then(response => response.arrayBuffer())
.then(buffer => {
context.decodeAudioData(buffer, decoded => {
convolver.buffer = decoded;
})
.catch((err) => console.error(err));
});
const audio = document.createElement('audio');
console.log(audio.canPlayType('audio/wav')); // "maybe"
if (!audio.canPlayType('audio/wav')) {
console.log('The format is not supported!');
}