@emgapps/orb-core
v0.2.0
Published
Framework-agnostic voice orb renderer, audio session, theme, and drag utilities.
Downloads
509
Maintainers
Readme
@emgapps/orb-core
Framework-agnostic Orbio core package for voice-driven orb UI.
Install
npm install @emgapps/orb-coreUsage
import { createAudioUrlSession, createOrb } from "@emgapps/orb-core";
const container = document.querySelector<HTMLElement>("#orb")!;
const session = createAudioUrlSession("/voice.mp3");
const orb = createOrb({
container,
audioSource: session.audioSource,
draggable: true,
state: "idle",
theme: "default",
});
session.subscribe((event) => {
if (event.status === "playing") orb.setState("speaking");
if (event.status === "error") orb.setState("error");
});The package exports renderer, theme, settings, drag, and audio session helpers. See the repository README for full integration details.
For streamed audio, WebRTC, or custom Web Audio playback that cannot be analyzed through a normal media element, drive the orb directly with a manual signal:
const orb = createOrb({
container,
audioSignal: { rms: 0.2, energy: 0.4, pulse: 0.6 },
state: "speaking",
});
orb.setAudioSignal({ rms: 0.2, energy: 0.4, pulse: 0.6 });
orb.setAudioSignal(null); // return to audioSource analysisManual signals override audioSource analysis while set. Keep rms, energy, and pulse normalized to 0..1.
License
MIT
