0.1.0 • Published 10 years ago
duolet.audioworker v0.1.0
duolet.audioworker
This is an experimental module. AudioWorker haven't been implemented in any browsers yet.
DRIVER and DSP in the worker thread. This architecture works on the browser.
Installation
$ npm install duolet.audioworkerExample
in the main thread
const duolet = require("duolet.audioworker/client")();
const Driver = require("pico.driver.audioworker/client");
let audioContext = new AudioContext();
duolet.compose({ workerPath: "/path/to/worker", driver: new Driver() });
duolet.setup({ context: audioContext, bufferLength: 1024 });
duolet.sendToWorker({ type: "start" });in the worker thread
const duolet = require("duolet.audioworker/worker")(self);
const Driver = require("pico.driver.audioworker/worker");
const DSP = require("./dsp");
duolet.compose({ dsp: new DSP(), driver: new Driver(self) });
duolet.recvFromClient = (e) => {
if (e.type === "start") {
duolet.start();
}
};API
client/Duolet
constructor()
Instance attributes
driver: pico.driversampleRate: number(implicit readonly)bufferLength: number(implicit readonly)
Instance methods
compose(spec: object): selfsetup(opts: object): selfstart(): selfstop(): selfsendToServer(data: any): void
worker/Duolet
constructor(self: AudioWorkerGlobalScope)
Instance attributes
dsp: duoletDSPsampleRate: number(implicit readonly)bufferLength: number(implicit readonly)
Instance methods
compose(spec: object): selfsetup(opts: object): selfstart(): selfstop(): selfsendToClient(data: any): void
Interfaces
interface duoletDSP {
optional setup(opts: object) => void;
optional start() => void;
optional stop() => void;
process(bufL: Float32Array, bufR: Float32Array) => void;
}Audio Drivers
License
MIT
0.1.0
10 years ago
