Compare commits

...

48 Commits
master ... stt

Author SHA1 Message Date
Fabien Benetou 5de00a7da6 working example (add cylinder, clone, delete... rest is trickier) 6 months ago
Fabien Benetou a6588256fe not working but loading WASM 2 years ago
Fabien Benetou 1ce813ebac moving away from text for troika-text 2 years ago
Fabien Benetou 4f72cc08be more examples of nextMovementToPoints() usage 2 years ago
Fabien Benetou 9b776462c6 fixed draw() and works with nextMovementToPoints() 2 years ago
Fabien Benetou c8e2ad2e70 fixed pointsFromMovement and added example 2 years ago
Fabien Benetou 1a7c5a8f11 a-console component for easier feedback in HMD 2 years ago
Fabien Benetou 21c74453f2 drop zone as a sphere 2 years ago
Fabien Benetou 1cb5a25bd3 points from movement 2 years ago
Fabien Benetou cdb241ac8f generalized addBlockCodeExample with position and return element 2 years ago
Fabien Benetou 5ce4daa61e generalized addBlockCodeExample with position and return element 2 years ago
Fabien Benetou 1030436f74 generalized addBlockCodeExample with position and return element 2 years ago
Fabien Benetou a28612d4b7 generalized addBlockCodeExample 2 years ago
Fabien Benetou 1f8026d89c snap ghost preview 2 years ago
Fabien Benetou 407b3b494d next pinch applied (lack of feedback is confusing) 2 years ago
Fabien Benetou b31e925156 apply modifier to class 2 years ago
Fabien Benetou 9b5058389f modifier based on ID selected from last pick 2 years ago
Fabien Benetou 0572fe7294 removeOutlineFromEntity 2 years ago
Fabien Benetou 17afdd7855 addBlockCodeExample (just text for now, no snap) 2 years ago
Fabien Benetou 0e1f297ec0 cloning primitives 2 years ago
Fabien Benetou 89ee270eec snapping sound and fixed sky 2 years ago
Fabien Benetou 3e3e6fa602 refactoring and compound example 2 years ago
Fabien Benetou e6d068922b primitives 2 years ago
Fabien Benetou e3604cc7de snapping suggestions 2 years ago
Fabien Benetou 321f47bca5 merged screenshot, snapping to 10cm (invisible) grid 2 years ago
Fabien Benetou 5dd554f8ee working 2 years ago
Fabien Benetou 73c9a94ec5 being able to dyanmically change asset kits and sequentially load and use multiples 2 years ago
Fabien Benetou a49d200684 higher and lower level asset set considerations 2 years ago
Fabien Benetou 328e6e69ec cleaned up and added shifts 2 years ago
Fabien Benetou 6f8a451b77 event working 2 years ago
Fabien Benetou d71c932e50 grid to snap as searchable datastructure 2 years ago
Fabien Benetou 3327a0e523 Tile generation and scaling 2 years ago
Fabien Benetou 108d178a7d added rotation 2 years ago
Fabien Benetou 3cf9065603 sharing between friends (but without rotation) 2 years ago
Fabien Benetou a92aa271a0 send image and models too 2 years ago
Fabien Benetou f2fbaa2b37 loadFromMastodon() 2 years ago
Fabien Benetou fab5a00f38 higher permission required to create own streams for custom collections 2 years ago
Fabien Benetou fe6383f1f6 event based loading 2 years ago
Fabien Benetou 86b4f3ed9c removed descriptive comments and used code instead with ims() shorthand 2 years ago
Fabien Benetou 1c73d4ecb0 Friends list and message displayed in 3D/XR 2 years ago
Fabien Benetou ac94b9ab3c immers deeper integration 2 years ago
Fabien Benetou 16e72b5a23 Immers setup goals 2 years ago
Fabien Benetou c212277b9a working jxr teleport example but creating bug on pinching (parent pos) 2 years ago
Fabien Benetou ce7eccd0b7 fixed sa shorthand. Example of in VR doc 2 years ago
Fabien Benetou 9b2dd9284c loadCodeFromPage() as example 2 years ago
Fabien Benetou cd56f69d58 next page working 2 years ago
Fabien Benetou 133f0b040e small cleanup 2 years ago
Fabien Benetou 6f6f764063 add page sequence 2 years ago
  1. 924
      index.html
  2. 39
      recognizer-processor.js

File diff suppressed because it is too large Load Diff

@ -0,0 +1,39 @@
class RecognizerAudioProcessor extends AudioWorkletProcessor {
constructor(options) {
super(options);
this.port.onmessage = this._processMessage.bind(this);
}
_processMessage(event) {
// console.debug(`Received event ${JSON.stringify(event.data, null, 2)}`);
if (event.data.action === "init") {
this._recognizerId = event.data.recognizerId;
this._recognizerPort = event.ports[0];
}
}
process(inputs, outputs, parameters) {
const data = inputs[0][0];
if (this._recognizerPort && data) {
// AudioBuffer samples are represented as floating point numbers between -1.0 and 1.0 whilst
// Kaldi expects them to be between -32768 and 32767 (the range of a signed int16)
const audioArray = data.map((value) => value * 0x8000);
this._recognizerPort.postMessage(
{
action: "audioChunk",
data: audioArray,
recognizerId: this._recognizerId,
sampleRate, // Part of AudioWorkletGlobalScope
},
{
transfer: [audioArray.buffer],
}
);
}
return true;
}
}
registerProcessor('recognizer-processor', RecognizerAudioProcessor)
Loading…
Cancel
Save