Docs
/

@leumas/sing

Leumas Sing — the karaoke game ("Just Dance for karaoke"). A HEADLESS game engine (src/engine: MPM pitch tracker, score engine, game clock, session state machine, library reader — zero...

@leumas/sing

Leumas Sing — the karaoke game ("Just Dance for karaoke"). Pick a song, sing into the mic over the instrumental, and get scored on timing, steadiness, and (with scoring v2) pitch, while a 3D dancer reacts on a cinematic stage. Leaderboards + live rooms make it a micro-community in Leumas Social. Roadmap: ops/todos/sing-roadmap.md.

Layout

  • src/engine/ — the headless** game core. No React, no DOM, no three, no CSS.
  • pitch/ — the pitch pipeline: detectPitchMPM (McLeod Pitch Method over the NSDF),

createPitchTracker (AnalyserNode + rAF → pitch frames), createMicSource (the shared mic with the permission latch), pitchMath (freq⇄MIDI⇄note helpers).

  • constants.js — tracker defaults, storage keys.
  • src/react/** — React bindings + screens (MicLab, SingProvider, useMicPermission).
  • src/surfaces/** — the mountable shell (SingApp) + singRoutes() for hosts.

Entries

  • @leumas/sing — React barrel (grows per phase).
  • @leumas/sing/engine — the headless core (usable in tests / a tuner / node).
  • @leumas/sing/sing.css — base skin, scoped under .lms-sing, tokens only.

Rules

  • sing → music only via @leumas/music/karaoke (timing utils). Music never imports sing.
  • Exactly one file may import @leumas/react-3d-viewer (the lazy 3D dancer), behind a quality gate.
  • Tokens only (@leumas/theme); CSS scoped under .lms-sing.

What it exports

54 exports: 26 components, 3 hooks, 25 helpers. Import from @leumas/sing.

CalibrationModalChallengesDEFAULT_CALIBRATION_MSGameStageGRADESHistoryLeaderboardsLyricLaneMIC_CONSTRAINTSMicLabMultiplayerLobbyNOTE_NAMESPITCH_DEFAULTSPitchLaneResultsScreenScoreHudSING_VERSIONSingAppSingHomeSingPlaySingProviderSongPickerSTORAGE_KEYSVerdictPopupWordKaraokeLineXP_FOR_GRADEuseMicPermissionuseSingContextuseSingGameaccuracyToGradecentsOffclamp01createCalibratorcreateGameClockcreateGameSessioncreateLocalSessionDrivercreateMicSourcecreatePitchTrackercreateRoomSessionDrivercreateScoreEnginedetectPitchMPMfoldToOctavefreqToMidigetMicStatejudgeWordlistSingableTracksloadChartmedianOfWindowmidiToFreqmultiplierForCombonoteNameonMicStateretryMicsingRoutes
Generated from the Leumas repository. Every page cites the file it came from.leumas.techllms.txt