@nice2dev/ui-audio 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +27 -0
- package/LICENSE +21 -0
- package/README.md +175 -0
- package/dist/assets/pitchWorker-BgAp5Z97.js +1 -0
- package/dist/assets/scoringWorker-B1PkYu_m.js +1 -0
- package/dist/config/noteSoundSets.d.ts +29 -0
- package/dist/config/noteSoundSets.d.ts.map +1 -0
- package/dist/constants/audioColors.d.ts +2 -0
- package/dist/constants/audioColors.d.ts.map +1 -0
- package/dist/constants/debugKaraoke.d.ts +20 -0
- package/dist/constants/debugKaraoke.d.ts.map +1 -0
- package/dist/constants/karaokeScoringConfig.d.ts +18 -0
- package/dist/constants/karaokeScoringConfig.d.ts.map +1 -0
- package/dist/constants/playerColors.d.ts +5 -0
- package/dist/constants/playerColors.d.ts.map +1 -0
- package/dist/constants/ui.d.ts +3 -0
- package/dist/constants/ui.d.ts.map +1 -0
- package/dist/core/i18n.d.ts +11 -0
- package/dist/core/i18n.d.ts.map +1 -0
- package/dist/dmx/DmxChannelControls.d.ts +14 -0
- package/dist/dmx/DmxChannelControls.d.ts.map +1 -0
- package/dist/dmx/DmxEditor.d.ts +13 -0
- package/dist/dmx/DmxEditor.d.ts.map +1 -0
- package/dist/dmx/dmxService.d.ts +20 -0
- package/dist/dmx/dmxService.d.ts.map +1 -0
- package/dist/editor/AudioClipBox.d.ts +9 -0
- package/dist/editor/AudioClipBox.d.ts.map +1 -0
- package/dist/editor/AudioClipInfo.d.ts +7 -0
- package/dist/editor/AudioClipInfo.d.ts.map +1 -0
- package/dist/editor/AudioEditorPianoRoll.d.ts +20 -0
- package/dist/editor/AudioEditorPianoRoll.d.ts.map +1 -0
- package/dist/editor/AudioEditorPianoRollContainer.d.ts +20 -0
- package/dist/editor/AudioEditorPianoRollContainer.d.ts.map +1 -0
- package/dist/editor/AudioLayerDetails.d.ts +10 -0
- package/dist/editor/AudioLayerDetails.d.ts.map +1 -0
- package/dist/editor/AudioLayerDetailsContainer.d.ts +10 -0
- package/dist/editor/AudioLayerDetailsContainer.d.ts.map +1 -0
- package/dist/editor/AudioLayersNavContainer.d.ts +9 -0
- package/dist/editor/AudioLayersNavContainer.d.ts.map +1 -0
- package/dist/editor/AudioMiniMap.d.ts +11 -0
- package/dist/editor/AudioMiniMap.d.ts.map +1 -0
- package/dist/editor/AudioMiniMapContainer.d.ts +10 -0
- package/dist/editor/AudioMiniMapContainer.d.ts.map +1 -0
- package/dist/editor/AudioSourceDetails.d.ts +12 -0
- package/dist/editor/AudioSourceDetails.d.ts.map +1 -0
- package/dist/editor/AudioTimeline.d.ts +22 -0
- package/dist/editor/AudioTimeline.d.ts.map +1 -0
- package/dist/editor/AudioTimelineContainer.d.ts +18 -0
- package/dist/editor/AudioTimelineContainer.d.ts.map +1 -0
- package/dist/editor/AudioTimelineNavContainer.d.ts +14 -0
- package/dist/editor/AudioTimelineNavContainer.d.ts.map +1 -0
- package/dist/editor/CCLane.d.ts +23 -0
- package/dist/editor/CCLane.d.ts.map +1 -0
- package/dist/editor/CCLaneSelector.d.ts +14 -0
- package/dist/editor/CCLaneSelector.d.ts.map +1 -0
- package/dist/editor/PianoRoll.d.ts +14 -0
- package/dist/editor/PianoRoll.d.ts.map +1 -0
- package/dist/editor/Waveform.d.ts +9 -0
- package/dist/editor/Waveform.d.ts.map +1 -0
- package/dist/editor/editorDisplayModes.d.ts +37 -0
- package/dist/editor/editorDisplayModes.d.ts.map +1 -0
- package/dist/editor/editorIO.d.ts +11 -0
- package/dist/editor/editorIO.d.ts.map +1 -0
- package/dist/editor/hooks/index.d.ts +7 -0
- package/dist/editor/hooks/index.d.ts.map +1 -0
- package/dist/editor/hooks/useAutoSave.d.ts +13 -0
- package/dist/editor/hooks/useAutoSave.d.ts.map +1 -0
- package/dist/editor/hooks/usePlaybackEngine.d.ts +35 -0
- package/dist/editor/hooks/usePlaybackEngine.d.ts.map +1 -0
- package/dist/editor/hooks/useProjectCRUD.d.ts +45 -0
- package/dist/editor/hooks/useProjectCRUD.d.ts.map +1 -0
- package/dist/editor/hooks/useRecording.d.ts +46 -0
- package/dist/editor/hooks/useRecording.d.ts.map +1 -0
- package/dist/editor/nav/AudioLayersNav.d.ts +9 -0
- package/dist/editor/nav/AudioLayersNav.d.ts.map +1 -0
- package/dist/editor/nav/AudioProjectSectionNav.d.ts +12 -0
- package/dist/editor/nav/AudioProjectSectionNav.d.ts.map +1 -0
- package/dist/editor/nav/AudioTimelineNav.d.ts +14 -0
- package/dist/editor/nav/AudioTimelineNav.d.ts.map +1 -0
- package/dist/editor/nav/SaveLoadControls.d.ts +9 -0
- package/dist/editor/nav/SaveLoadControls.d.ts.map +1 -0
- package/dist/editor/panels/AdvancedEditingPanel.d.ts +30 -0
- package/dist/editor/panels/AdvancedEditingPanel.d.ts.map +1 -0
- package/dist/editor/panels/ArpeggiatorPanel.d.ts +12 -0
- package/dist/editor/panels/ArpeggiatorPanel.d.ts.map +1 -0
- package/dist/editor/panels/CCAutomationLaneEditor.d.ts +19 -0
- package/dist/editor/panels/CCAutomationLaneEditor.d.ts.map +1 -0
- package/dist/editor/panels/DisplayModeSelector.d.ts +9 -0
- package/dist/editor/panels/DisplayModeSelector.d.ts.map +1 -0
- package/dist/editor/panels/EditorPanels.d.ts +66 -0
- package/dist/editor/panels/EditorPanels.d.ts.map +1 -0
- package/dist/editor/panels/LFOPanel.d.ts +12 -0
- package/dist/editor/panels/LFOPanel.d.ts.map +1 -0
- package/dist/editor/panels/LayerTrack.d.ts +17 -0
- package/dist/editor/panels/LayerTrack.d.ts.map +1 -0
- package/dist/editor/panels/ProjectPanel.d.ts +23 -0
- package/dist/editor/panels/ProjectPanel.d.ts.map +1 -0
- package/dist/editor/panels/SectionPanel.d.ts +11 -0
- package/dist/editor/panels/SectionPanel.d.ts.map +1 -0
- package/dist/editor/panels/StepSequencerPanel.d.ts +8 -0
- package/dist/editor/panels/StepSequencerPanel.d.ts.map +1 -0
- package/dist/editor/useEditorRecording.d.ts +45 -0
- package/dist/editor/useEditorRecording.d.ts.map +1 -0
- package/dist/editor/useEditorTrack.d.ts +71 -0
- package/dist/editor/useEditorTrack.d.ts.map +1 -0
- package/dist/effects/NoteParticles.d.ts +2 -0
- package/dist/effects/NoteParticles.d.ts.map +1 -0
- package/dist/effects/NoteRiver.d.ts +15 -0
- package/dist/effects/NoteRiver.d.ts.map +1 -0
- package/dist/effects/noteThemeColors.d.ts +14 -0
- package/dist/effects/noteThemeColors.d.ts.map +1 -0
- package/dist/engine/audioContext.d.ts +12 -0
- package/dist/engine/audioContext.d.ts.map +1 -0
- package/dist/engine/audioKeyboard.d.ts +28 -0
- package/dist/engine/audioKeyboard.d.ts.map +1 -0
- package/dist/engine/audioLayerDetails.d.ts +13 -0
- package/dist/engine/audioLayerDetails.d.ts.map +1 -0
- package/dist/engine/audioPlaybackEngine.d.ts +186 -0
- package/dist/engine/audioPlaybackEngine.d.ts.map +1 -0
- package/dist/engine/audioProject.d.ts +10 -0
- package/dist/engine/audioProject.d.ts.map +1 -0
- package/dist/engine/audioSource.d.ts +38 -0
- package/dist/engine/audioSource.d.ts.map +1 -0
- package/dist/engine/audioTimeline.d.ts +54 -0
- package/dist/engine/audioTimeline.d.ts.map +1 -0
- package/dist/engine/audioUtils.d.ts +3 -0
- package/dist/engine/audioUtils.d.ts.map +1 -0
- package/dist/engine/generate-pitch-points.d.ts +2 -0
- package/dist/engine/generate-pitch-points.d.ts.map +1 -0
- package/dist/engine/instrumentPresets.d.ts +13 -0
- package/dist/engine/instrumentPresets.d.ts.map +1 -0
- package/dist/engine/pitch-worklet-processor.d.ts +11 -0
- package/dist/engine/pitch-worklet-processor.d.ts.map +1 -0
- package/dist/engine/pitch_client.d.ts +16 -0
- package/dist/engine/pitch_client.d.ts.map +1 -0
- package/dist/engine/recording.d.ts +31 -0
- package/dist/engine/recording.d.ts.map +1 -0
- package/dist/engine/simpleSynth.d.ts +46 -0
- package/dist/engine/simpleSynth.d.ts.map +1 -0
- package/dist/hooks/useCCAutomation.d.ts +36 -0
- package/dist/hooks/useCCAutomation.d.ts.map +1 -0
- package/dist/hooks/useStepSequencer.d.ts +48 -0
- package/dist/hooks/useStepSequencer.d.ts.map +1 -0
- package/dist/index.cjs +73 -0
- package/dist/index.d.ts +101 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.mjs +13179 -0
- package/dist/karaoke/AudioPitchAnalyzer.d.ts +25 -0
- package/dist/karaoke/AudioPitchAnalyzer.d.ts.map +1 -0
- package/dist/karaoke/BarFillEditor.d.ts +14 -0
- package/dist/karaoke/BarFillEditor.d.ts.map +1 -0
- package/dist/karaoke/KaraokeLyrics.d.ts +9 -0
- package/dist/karaoke/KaraokeLyrics.d.ts.map +1 -0
- package/dist/karaoke/KaraokeTimeline.d.ts +21 -0
- package/dist/karaoke/KaraokeTimeline.d.ts.map +1 -0
- package/dist/karaoke/karaokeTimelineTypes.d.ts +77 -0
- package/dist/karaoke/karaokeTimelineTypes.d.ts.map +1 -0
- package/dist/karaoke/rendering/fontCatalog.d.ts +30 -0
- package/dist/karaoke/rendering/fontCatalog.d.ts.map +1 -0
- package/dist/karaoke/rendering/glossyBarCaps.d.ts +57 -0
- package/dist/karaoke/rendering/glossyBarCaps.d.ts.map +1 -0
- package/dist/karaoke/rendering/glossyBarPatterns.d.ts +16 -0
- package/dist/karaoke/rendering/glossyBarPatterns.d.ts.map +1 -0
- package/dist/karaoke/rendering/glossyBarRenderer.d.ts +65 -0
- package/dist/karaoke/rendering/glossyBarRenderer.d.ts.map +1 -0
- package/dist/karaoke/rendering/karaokeAnimations.d.ts +25 -0
- package/dist/karaoke/rendering/karaokeAnimations.d.ts.map +1 -0
- package/dist/karaoke/rendering/karaokeDisplaySettings.d.ts +65 -0
- package/dist/karaoke/rendering/karaokeDisplaySettings.d.ts.map +1 -0
- package/dist/karaoke/rendering/karaokeLyrics.d.ts +54 -0
- package/dist/karaoke/rendering/karaokeLyrics.d.ts.map +1 -0
- package/dist/karaoke/rendering/karaokeNoteParsing.d.ts +20 -0
- package/dist/karaoke/rendering/karaokeNoteParsing.d.ts.map +1 -0
- package/dist/karaoke/rendering/karaokeSettings.d.ts +143 -0
- package/dist/karaoke/rendering/karaokeSettings.d.ts.map +1 -0
- package/dist/karaoke/rendering/karaokeTimeline.d.ts +8 -0
- package/dist/karaoke/rendering/karaokeTimeline.d.ts.map +1 -0
- package/dist/karaoke/rendering/karaokeTimelineRenderer.d.ts +45 -0
- package/dist/karaoke/rendering/karaokeTimelineRenderer.d.ts.map +1 -0
- package/dist/karaoke/rendering/karaokeTimelineTypes.d.ts +32 -0
- package/dist/karaoke/rendering/karaokeTimelineTypes.d.ts.map +1 -0
- package/dist/karaoke/rendering/padNotePlayer.d.ts +73 -0
- package/dist/karaoke/rendering/padNotePlayer.d.ts.map +1 -0
- package/dist/karaoke/rendering/textureCache.d.ts +32 -0
- package/dist/karaoke/rendering/textureCache.d.ts.map +1 -0
- package/dist/karaoke/rendering/textureCatalog.d.ts +27 -0
- package/dist/karaoke/rendering/textureCatalog.d.ts.map +1 -0
- package/dist/karaokeEditor/KaraokeEditorManager.d.ts +21 -0
- package/dist/karaokeEditor/KaraokeEditorManager.d.ts.map +1 -0
- package/dist/karaokeEditor/KaraokePhaserRenderer.d.ts +11 -0
- package/dist/karaokeEditor/KaraokePhaserRenderer.d.ts.map +1 -0
- package/dist/midi/midiSeedGenerator.d.ts +45 -0
- package/dist/midi/midiSeedGenerator.d.ts.map +1 -0
- package/dist/midi/oxygen25Profile.d.ts +42 -0
- package/dist/midi/oxygen25Profile.d.ts.map +1 -0
- package/dist/midi/useMidiLearn.d.ts +94 -0
- package/dist/midi/useMidiLearn.d.ts.map +1 -0
- package/dist/midi/useOxygen25.d.ts +90 -0
- package/dist/midi/useOxygen25.d.ts.map +1 -0
- package/dist/midi/useWebMidi.d.ts +60 -0
- package/dist/midi/useWebMidi.d.ts.map +1 -0
- package/dist/models/editor/audioTypes.d.ts +35 -0
- package/dist/models/editor/audioTypes.d.ts.map +1 -0
- package/dist/models/editor/fxTypes.d.ts +9 -0
- package/dist/models/editor/fxTypes.d.ts.map +1 -0
- package/dist/models/editor/midiTypes.d.ts +15 -0
- package/dist/models/editor/midiTypes.d.ts.map +1 -0
- package/dist/models/editor/timelineTypes.d.ts +11 -0
- package/dist/models/editor/timelineTypes.d.ts.map +1 -0
- package/dist/models/game/modelsGame.d.ts +12 -0
- package/dist/models/game/modelsGame.d.ts.map +1 -0
- package/dist/models/modelsAiAudio.d.ts +121 -0
- package/dist/models/modelsAiAudio.d.ts.map +1 -0
- package/dist/models/modelsAiVideo.d.ts +75 -0
- package/dist/models/modelsAiVideo.d.ts.map +1 -0
- package/dist/models/modelsAudio.d.ts +160 -0
- package/dist/models/modelsAudio.d.ts.map +1 -0
- package/dist/models/modelsDmx.d.ts +75 -0
- package/dist/models/modelsDmx.d.ts.map +1 -0
- package/dist/models/modelsEditor.d.ts +112 -0
- package/dist/models/modelsEditor.d.ts.map +1 -0
- package/dist/models/modelsKaraoke.d.ts +75 -0
- package/dist/models/modelsKaraoke.d.ts.map +1 -0
- package/dist/models/modelsMusicPlatform.d.ts +8 -0
- package/dist/models/modelsMusicPlatform.d.ts.map +1 -0
- package/dist/models/modelsPlatforms.d.ts +52 -0
- package/dist/models/modelsPlatforms.d.ts.map +1 -0
- package/dist/models/modelsPlaylistManager.d.ts +197 -0
- package/dist/models/modelsPlaylistManager.d.ts.map +1 -0
- package/dist/models/modelsPlaylists.d.ts +97 -0
- package/dist/models/modelsPlaylists.d.ts.map +1 -0
- package/dist/player/GenericPlayer.d.ts +56 -0
- package/dist/player/GenericPlayer.d.ts.map +1 -0
- package/dist/player/GenericPlayerControls.d.ts +17 -0
- package/dist/player/GenericPlayerControls.d.ts.map +1 -0
- package/dist/player/GenericPlayerStage.d.ts +20 -0
- package/dist/player/GenericPlayerStage.d.ts.map +1 -0
- package/dist/player/GenericPlayerStageVisualizer.d.ts +32 -0
- package/dist/player/GenericPlayerStageVisualizer.d.ts.map +1 -0
- package/dist/player/GenericPlayerTrackList.d.ts +10 -0
- package/dist/player/GenericPlayerTrackList.d.ts.map +1 -0
- package/dist/player/YouTubePlayer.d.ts +13 -0
- package/dist/player/YouTubePlayer.d.ts.map +1 -0
- package/dist/player/nowPlayingAdapter.d.ts +19 -0
- package/dist/player/nowPlayingAdapter.d.ts.map +1 -0
- package/dist/player/visualizer/ModeSwitcher.d.ts +12 -0
- package/dist/player/visualizer/ModeSwitcher.d.ts.map +1 -0
- package/dist/player/visualizer/StageVisualizer.d.ts +23 -0
- package/dist/player/visualizer/StageVisualizer.d.ts.map +1 -0
- package/dist/player/visualizer/VuOverlay.d.ts +6 -0
- package/dist/player/visualizer/VuOverlay.d.ts.map +1 -0
- package/dist/player/visualizer/modes/BarsMode.d.ts +2 -0
- package/dist/player/visualizer/modes/BarsMode.d.ts.map +1 -0
- package/dist/player/visualizer/modes/BlobFlowMode.d.ts +11 -0
- package/dist/player/visualizer/modes/BlobFlowMode.d.ts.map +1 -0
- package/dist/player/visualizer/modes/ColorRipplesMode.d.ts +12 -0
- package/dist/player/visualizer/modes/ColorRipplesMode.d.ts.map +1 -0
- package/dist/player/visualizer/modes/CoverMode.d.ts +9 -0
- package/dist/player/visualizer/modes/CoverMode.d.ts.map +1 -0
- package/dist/player/visualizer/modes/CozyFireplaceMode.d.ts +14 -0
- package/dist/player/visualizer/modes/CozyFireplaceMode.d.ts.map +1 -0
- package/dist/player/visualizer/modes/EqualizerCircleMode.d.ts +2 -0
- package/dist/player/visualizer/modes/EqualizerCircleMode.d.ts.map +1 -0
- package/dist/player/visualizer/modes/GridMode.d.ts +2 -0
- package/dist/player/visualizer/modes/GridMode.d.ts.map +1 -0
- package/dist/player/visualizer/modes/ImageTornadoMode.d.ts +18 -0
- package/dist/player/visualizer/modes/ImageTornadoMode.d.ts.map +1 -0
- package/dist/player/visualizer/modes/LavaLampMode.d.ts +13 -0
- package/dist/player/visualizer/modes/LavaLampMode.d.ts.map +1 -0
- package/dist/player/visualizer/modes/NeonTrianglesMode.d.ts +11 -0
- package/dist/player/visualizer/modes/NeonTrianglesMode.d.ts.map +1 -0
- package/dist/player/visualizer/modes/OrbitalsMode.d.ts +2 -0
- package/dist/player/visualizer/modes/OrbitalsMode.d.ts.map +1 -0
- package/dist/player/visualizer/modes/PaletteMode.d.ts +2 -0
- package/dist/player/visualizer/modes/PaletteMode.d.ts.map +1 -0
- package/dist/player/visualizer/modes/ParticlesMode.d.ts +13 -0
- package/dist/player/visualizer/modes/ParticlesMode.d.ts.map +1 -0
- package/dist/player/visualizer/modes/PlasmaBallMode.d.ts +3 -0
- package/dist/player/visualizer/modes/PlasmaBallMode.d.ts.map +1 -0
- package/dist/player/visualizer/modes/RadialMode.d.ts +2 -0
- package/dist/player/visualizer/modes/RadialMode.d.ts.map +1 -0
- package/dist/player/visualizer/modes/RaysMode.d.ts +4 -0
- package/dist/player/visualizer/modes/RaysMode.d.ts.map +1 -0
- package/dist/player/visualizer/modes/RiftMode.d.ts +3 -0
- package/dist/player/visualizer/modes/RiftMode.d.ts.map +1 -0
- package/dist/player/visualizer/modes/RingsMode.d.ts +2 -0
- package/dist/player/visualizer/modes/RingsMode.d.ts.map +1 -0
- package/dist/player/visualizer/modes/SpectrumMode.d.ts +2 -0
- package/dist/player/visualizer/modes/SpectrumMode.d.ts.map +1 -0
- package/dist/player/visualizer/modes/StarfieldMode.d.ts +13 -0
- package/dist/player/visualizer/modes/StarfieldMode.d.ts.map +1 -0
- package/dist/player/visualizer/modes/WaveformMode.d.ts +2 -0
- package/dist/player/visualizer/modes/WaveformMode.d.ts.map +1 -0
- package/dist/player/visualizer/types.d.ts +3 -0
- package/dist/player/visualizer/types.d.ts.map +1 -0
- package/dist/player/visualizer/useLocalStorageState.d.ts +2 -0
- package/dist/player/visualizer/useLocalStorageState.d.ts.map +1 -0
- package/dist/playlist/DynamicRuleEditor.d.ts +11 -0
- package/dist/playlist/DynamicRuleEditor.d.ts.map +1 -0
- package/dist/playlist/GenericPlaylist.d.ts +22 -0
- package/dist/playlist/GenericPlaylist.d.ts.map +1 -0
- package/dist/playlist/GenericPlaylistItem.d.ts +41 -0
- package/dist/playlist/GenericPlaylistItem.d.ts.map +1 -0
- package/dist/playlist/PlaylistBrowser.d.ts +24 -0
- package/dist/playlist/PlaylistBrowser.d.ts.map +1 -0
- package/dist/playlist/PlaylistDualPane.d.ts +17 -0
- package/dist/playlist/PlaylistDualPane.d.ts.map +1 -0
- package/dist/playlist/PlaylistGridView.d.ts +12 -0
- package/dist/playlist/PlaylistGridView.d.ts.map +1 -0
- package/dist/playlist/PlaylistList.d.ts +23 -0
- package/dist/playlist/PlaylistList.d.ts.map +1 -0
- package/dist/playlist/PlaylistOverview.d.ts +14 -0
- package/dist/playlist/PlaylistOverview.d.ts.map +1 -0
- package/dist/playlist/PlaylistSearchBar.d.ts +22 -0
- package/dist/playlist/PlaylistSearchBar.d.ts.map +1 -0
- package/dist/playlist/PlaylistSidebar.d.ts +25 -0
- package/dist/playlist/PlaylistSidebar.d.ts.map +1 -0
- package/dist/playlist/PlaylistTagEditor.d.ts +15 -0
- package/dist/playlist/PlaylistTagEditor.d.ts.map +1 -0
- package/dist/playlist/PlaylistTrackList.d.ts +26 -0
- package/dist/playlist/PlaylistTrackList.d.ts.map +1 -0
- package/dist/playlist/useLocalPlaylists.d.ts +17 -0
- package/dist/playlist/useLocalPlaylists.d.ts.map +1 -0
- package/dist/ui-audio.css +1 -0
- package/dist/utils/BaseStreamClient.d.ts +64 -0
- package/dist/utils/BaseStreamClient.d.ts.map +1 -0
- package/dist/utils/arpeggiator.d.ts +49 -0
- package/dist/utils/arpeggiator.d.ts.map +1 -0
- package/dist/utils/articulationEngine.d.ts +69 -0
- package/dist/utils/articulationEngine.d.ts.map +1 -0
- package/dist/utils/audioEditorUtils.d.ts +2 -0
- package/dist/utils/audioEditorUtils.d.ts.map +1 -0
- package/dist/utils/audioFxUtils.d.ts +6 -0
- package/dist/utils/audioFxUtils.d.ts.map +1 -0
- package/dist/utils/audioMidiUtils.d.ts +18 -0
- package/dist/utils/audioMidiUtils.d.ts.map +1 -0
- package/dist/utils/audioPitchAlgorithms.d.ts +3 -0
- package/dist/utils/audioPitchAlgorithms.d.ts.map +1 -0
- package/dist/utils/audioPitchAnalyzeFile.d.ts +26 -0
- package/dist/utils/audioPitchAnalyzeFile.d.ts.map +1 -0
- package/dist/utils/audioTimelineUtils.d.ts +5 -0
- package/dist/utils/audioTimelineUtils.d.ts.map +1 -0
- package/dist/utils/ccAutomation.d.ts +51 -0
- package/dist/utils/ccAutomation.d.ts.map +1 -0
- package/dist/utils/chordScale.d.ts +47 -0
- package/dist/utils/chordScale.d.ts.map +1 -0
- package/dist/utils/clipLauncher.d.ts +97 -0
- package/dist/utils/clipLauncher.d.ts.map +1 -0
- package/dist/utils/colorResolver.d.ts +12 -0
- package/dist/utils/colorResolver.d.ts.map +1 -0
- package/dist/utils/crepeStreaming.d.ts +21 -0
- package/dist/utils/crepeStreaming.d.ts.map +1 -0
- package/dist/utils/drawTool.d.ts +31 -0
- package/dist/utils/drawTool.d.ts.map +1 -0
- package/dist/utils/envelopeFollower.d.ts +46 -0
- package/dist/utils/envelopeFollower.d.ts.map +1 -0
- package/dist/utils/gameAudio.d.ts +237 -0
- package/dist/utils/gameAudio.d.ts.map +1 -0
- package/dist/utils/grooveTemplates.d.ts +69 -0
- package/dist/utils/grooveTemplates.d.ts.map +1 -0
- package/dist/utils/karaokeHelpers.d.ts +61 -0
- package/dist/utils/karaokeHelpers.d.ts.map +1 -0
- package/dist/utils/karaokeMetadata.d.ts +27 -0
- package/dist/utils/karaokeMetadata.d.ts.map +1 -0
- package/dist/utils/karaokeScoring.d.ts +111 -0
- package/dist/utils/karaokeScoring.d.ts.map +1 -0
- package/dist/utils/latencyEstimate.d.ts +8 -0
- package/dist/utils/latencyEstimate.d.ts.map +1 -0
- package/dist/utils/lfoEngine.d.ts +55 -0
- package/dist/utils/lfoEngine.d.ts.map +1 -0
- package/dist/utils/librosaStreaming.d.ts +19 -0
- package/dist/utils/librosaStreaming.d.ts.map +1 -0
- package/dist/utils/logger.d.ts +31 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/macroSystem.d.ts +97 -0
- package/dist/utils/macroSystem.d.ts.map +1 -0
- package/dist/utils/musicPlayerUtils.d.ts +7 -0
- package/dist/utils/musicPlayerUtils.d.ts.map +1 -0
- package/dist/utils/padKaraokeSession.d.ts +50 -0
- package/dist/utils/padKaraokeSession.d.ts.map +1 -0
- package/dist/utils/songDataHelpers.d.ts +59 -0
- package/dist/utils/songDataHelpers.d.ts.map +1 -0
- package/dist/utils/stepSequencer.d.ts +62 -0
- package/dist/utils/stepSequencer.d.ts.map +1 -0
- package/dist/utils/undoRedoUtils.d.ts +5 -0
- package/dist/utils/undoRedoUtils.d.ts.map +1 -0
- package/dist/utils/vocalEffectsEngine.d.ts +64 -0
- package/dist/utils/vocalEffectsEngine.d.ts.map +1 -0
- package/dist/utils/vocalPerformanceMetrics.d.ts +117 -0
- package/dist/utils/vocalPerformanceMetrics.d.ts.map +1 -0
- package/dist/workers/pitchWorker.d.ts +11 -0
- package/dist/workers/pitchWorker.d.ts.map +1 -0
- package/dist/workers/scoringWorker.d.ts +71 -0
- package/dist/workers/scoringWorker.d.ts.map +1 -0
- package/dist/workers/usePitchWorker.d.ts +7 -0
- package/dist/workers/usePitchWorker.d.ts.map +1 -0
- package/dist/workers/useScoringWorker.d.ts +7 -0
- package/dist/workers/useScoringWorker.d.ts.map +1 -0
- package/dist/workers/useWorker.d.ts +12 -0
- package/dist/workers/useWorker.d.ts.map +1 -0
- package/package.json +84 -0
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
export interface Step {
|
|
2
|
+
/** Whether this step is active */
|
|
3
|
+
active: boolean;
|
|
4
|
+
/** MIDI note number (0-127) */
|
|
5
|
+
note: number;
|
|
6
|
+
/** Velocity (0-127) */
|
|
7
|
+
velocity: number;
|
|
8
|
+
/** Gate length as fraction of step duration (0-1) */
|
|
9
|
+
gate: number;
|
|
10
|
+
/** Probability of triggering (0-1, 1 = always) */
|
|
11
|
+
probability: number;
|
|
12
|
+
/** Optional slide/glide to next note */
|
|
13
|
+
slide: boolean;
|
|
14
|
+
}
|
|
15
|
+
export interface SequencerPattern {
|
|
16
|
+
/** Pattern name */
|
|
17
|
+
name: string;
|
|
18
|
+
/** Number of steps (16, 32, or 64) */
|
|
19
|
+
length: 16 | 32 | 64;
|
|
20
|
+
/** Steps data */
|
|
21
|
+
steps: Step[];
|
|
22
|
+
/** BPM (for standalone playback or sync reference) */
|
|
23
|
+
bpm: number;
|
|
24
|
+
/** Swing amount (0-1, 0 = straight, 0.67 = standard swing) */
|
|
25
|
+
swing: number;
|
|
26
|
+
/** Root note for pattern transposition */
|
|
27
|
+
rootNote: number;
|
|
28
|
+
/** CC lane to output to (optional) */
|
|
29
|
+
ccOutput?: number;
|
|
30
|
+
}
|
|
31
|
+
export declare function createEmptyStep(note?: number): Step;
|
|
32
|
+
export declare function createEmptyPattern(name?: string, length?: 16 | 32 | 64, bpm?: number): SequencerPattern;
|
|
33
|
+
export declare function toggleStep(pattern: SequencerPattern, index: number): SequencerPattern;
|
|
34
|
+
export declare function setStepNote(pattern: SequencerPattern, index: number, note: number): SequencerPattern;
|
|
35
|
+
export declare function setStepVelocity(pattern: SequencerPattern, index: number, velocity: number): SequencerPattern;
|
|
36
|
+
export declare function setStepGate(pattern: SequencerPattern, index: number, gate: number): SequencerPattern;
|
|
37
|
+
export declare function setStepProbability(pattern: SequencerPattern, index: number, prob: number): SequencerPattern;
|
|
38
|
+
export declare function toggleStepSlide(pattern: SequencerPattern, index: number): SequencerPattern;
|
|
39
|
+
/** Transpose all active steps by semitones */
|
|
40
|
+
export declare function transposePattern(pattern: SequencerPattern, semitones: number): SequencerPattern;
|
|
41
|
+
/** Reverse the pattern */
|
|
42
|
+
export declare function reversePattern(pattern: SequencerPattern): SequencerPattern;
|
|
43
|
+
/** Shift pattern left/right by N steps (wrapping) */
|
|
44
|
+
export declare function shiftPattern(pattern: SequencerPattern, amount: number): SequencerPattern;
|
|
45
|
+
/** Randomize velocity for all active steps */
|
|
46
|
+
export declare function randomizeVelocity(pattern: SequencerPattern, min?: number, max?: number): SequencerPattern;
|
|
47
|
+
/** Clear all steps (keep pattern structure) */
|
|
48
|
+
export declare function clearPattern(pattern: SequencerPattern): SequencerPattern;
|
|
49
|
+
/** Get the duration of one step in seconds */
|
|
50
|
+
export declare function stepDuration(bpm: number, stepsPerBeat?: number): number;
|
|
51
|
+
/** Get time offset for a step index, accounting for swing */
|
|
52
|
+
export declare function stepTimeOffset(index: number, bpm: number, swing?: number, stepsPerBeat?: number): number;
|
|
53
|
+
/** Should this step trigger? (probability check) */
|
|
54
|
+
export declare function shouldTrigger(step: Step): boolean;
|
|
55
|
+
export declare function createKickPattern(): SequencerPattern;
|
|
56
|
+
export declare function createSnarePattern(): SequencerPattern;
|
|
57
|
+
export declare function createHiHatPattern(): SequencerPattern;
|
|
58
|
+
export declare function createArpPattern(rootNote?: number): SequencerPattern;
|
|
59
|
+
export declare function createBasslinePattern(rootNote?: number): SequencerPattern;
|
|
60
|
+
export declare function serializePattern(pattern: SequencerPattern): string;
|
|
61
|
+
export declare function deserializePattern(json: string): SequencerPattern | null;
|
|
62
|
+
//# sourceMappingURL=stepSequencer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stepSequencer.d.ts","sourceRoot":"","sources":["../../src/utils/stepSequencer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { AudioProject } from '../models/modelsEditor';
|
|
2
|
+
export declare function setProjectWithUndo(next: AudioProject, project: AudioProject | null, setUndoStack: React.Dispatch<React.SetStateAction<AudioProject[]>>, setRedoStack: React.Dispatch<React.SetStateAction<AudioProject[]>>, setProject: React.Dispatch<React.SetStateAction<AudioProject | null>>): void;
|
|
3
|
+
export declare function handleUndo(project: AudioProject | null, setUndoStack: React.Dispatch<React.SetStateAction<AudioProject[]>>, setRedoStack: React.Dispatch<React.SetStateAction<AudioProject[]>>, setProject: React.Dispatch<React.SetStateAction<AudioProject | null>>): void;
|
|
4
|
+
export declare function handleRedo(project: AudioProject | null, setUndoStack: React.Dispatch<React.SetStateAction<AudioProject[]>>, setRedoStack: React.Dispatch<React.SetStateAction<AudioProject[]>>, setProject: React.Dispatch<React.SetStateAction<AudioProject | null>>): void;
|
|
5
|
+
//# sourceMappingURL=undoRedoUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"undoRedoUtils.d.ts","sourceRoot":"","sources":["../../src/utils/undoRedoUtils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,wBAAgB,kBAAkB,CAC9B,IAAI,EAAE,YAAY,EAClB,OAAO,EAAE,YAAY,GAAG,IAAI,EAC5B,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,CAAC,EAClE,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,CAAC,EAClE,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,QAKxE;AAED,wBAAgB,UAAU,CACtB,OAAO,EAAE,YAAY,GAAG,IAAI,EAC5B,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,CAAC,EAClE,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,CAAC,EAClE,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,QASxE;AAED,wBAAgB,UAAU,CACtB,OAAO,EAAE,YAAY,GAAG,IAAI,EAC5B,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,CAAC,EAClE,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,CAAC,EAClE,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,QASxE"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
export type VocalEffectType = "chipmunk" | "deep" | "robot" | "echo" | "reverb" | "chorus" | "flanger" | "distortion" | "telephone" | "megaphone" | "whisper" | "alien" | "underwater" | "radio" | "cave" | "helium" | "demon" | "tremolo" | "autotune" | "vocoder";
|
|
2
|
+
export interface VocalEffectConfig {
|
|
3
|
+
type: VocalEffectType;
|
|
4
|
+
enabled: boolean;
|
|
5
|
+
/** Effect-specific parameter (0-100). Meaning depends on effect type. */
|
|
6
|
+
intensity: number;
|
|
7
|
+
/** Display name */
|
|
8
|
+
label: string;
|
|
9
|
+
/** Emoji icon */
|
|
10
|
+
icon: string;
|
|
11
|
+
}
|
|
12
|
+
export declare const ALL_EFFECTS: VocalEffectConfig[];
|
|
13
|
+
export declare class VocalEffectsEngine {
|
|
14
|
+
private audioCtx;
|
|
15
|
+
private mediaStream;
|
|
16
|
+
private sourceNode;
|
|
17
|
+
private inputGain;
|
|
18
|
+
private outputGain;
|
|
19
|
+
private activeEffects;
|
|
20
|
+
private effectOrder;
|
|
21
|
+
private monitoring;
|
|
22
|
+
private _volume;
|
|
23
|
+
private _inputVolume;
|
|
24
|
+
private started;
|
|
25
|
+
private externalStream;
|
|
26
|
+
private analyser;
|
|
27
|
+
get isStarted(): boolean;
|
|
28
|
+
get context(): AudioContext | null;
|
|
29
|
+
get activeEffectTypes(): VocalEffectType[];
|
|
30
|
+
start(deviceId?: string): Promise<void>;
|
|
31
|
+
startWithStream(stream: MediaStream): Promise<void>;
|
|
32
|
+
stop(): void;
|
|
33
|
+
setMonitoring(enabled: boolean): void;
|
|
34
|
+
setVolume(vol: number): void;
|
|
35
|
+
setInputGain(gain: number): void;
|
|
36
|
+
/** Get current audio level (RMS) */
|
|
37
|
+
getLevel(): number;
|
|
38
|
+
addEffect(type: VocalEffectType, intensity?: number): void;
|
|
39
|
+
removeEffect(type: VocalEffectType): void;
|
|
40
|
+
toggleEffect(type: VocalEffectType, intensity?: number): boolean;
|
|
41
|
+
updateIntensity(type: VocalEffectType, intensity: number): void;
|
|
42
|
+
clearAllEffects(): void;
|
|
43
|
+
private reconnectChain;
|
|
44
|
+
private buildEffectChain;
|
|
45
|
+
private buildPitchShift;
|
|
46
|
+
private buildRobot;
|
|
47
|
+
private buildAlien;
|
|
48
|
+
private buildDelay;
|
|
49
|
+
private buildCave;
|
|
50
|
+
private buildReverb;
|
|
51
|
+
private buildChorus;
|
|
52
|
+
private buildFlanger;
|
|
53
|
+
private buildDistortion;
|
|
54
|
+
private buildBandpass;
|
|
55
|
+
private buildMegaphone;
|
|
56
|
+
private buildRadio;
|
|
57
|
+
private buildUnderwater;
|
|
58
|
+
private buildWhisper;
|
|
59
|
+
private buildDemon;
|
|
60
|
+
private buildTremolo;
|
|
61
|
+
private buildAutotune;
|
|
62
|
+
private buildVocoder;
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=vocalEffectsEngine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vocalEffectsEngine.d.ts","sourceRoot":"","sources":["../../src/utils/vocalEffectsEngine.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,eAAe,GACrB,UAAU,GACV,MAAM,GACN,OAAO,GACP,MAAM,GACN,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,YAAY,GACZ,WAAW,GACX,WAAW,GACX,SAAS,GACT,OAAO,GACP,YAAY,GACZ,OAAO,GACP,MAAM,GACN,QAAQ,GACR,OAAO,GACP,SAAS,GACT,UAAU,GACV,SAAS,CAAC;AAEhB,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,eAAe,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,yEAAyE;IACzE,SAAS,EAAE,MAAM,CAAC;IAClB,mBAAmB;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB;IACjB,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,WAAW,EAAE,iBAAiB,EAqB1C,CAAC;AAyCF,qBAAa,kBAAkB;IAC3B,OAAO,CAAC,QAAQ,CAA6B;IAC7C,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,UAAU,CAA2C;IAC7D,OAAO,CAAC,SAAS,CAAyB;IAC1C,OAAO,CAAC,UAAU,CAAyB;IAC3C,OAAO,CAAC,aAAa,CAAqD;IAC1E,OAAO,CAAC,WAAW,CAAyB;IAC5C,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,OAAO,CAAO;IACtB,OAAO,CAAC,YAAY,CAAO;IAC3B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAA6B;IAE7C,IAAI,SAAS,IAAI,OAAO,CAAyB;IACjD,IAAI,OAAO,IAAI,YAAY,GAAG,IAAI,CAA0B;IAC5D,IAAI,iBAAiB,IAAI,eAAe,EAAE,CAAkC;IAItE,KAAK,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA+BvC,eAAe,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBzD,IAAI,IAAI,IAAI;IAqBZ,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAOrC,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAO5B,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAOhC,oCAAoC;IACpC,QAAQ,IAAI,MAAM;IAclB,SAAS,CAAC,IAAI,EAAE,eAAe,EAAE,SAAS,SAAK,GAAG,IAAI;IAYtD,YAAY,CAAC,IAAI,EAAE,eAAe,GAAG,IAAI;IAYzC,YAAY,CAAC,IAAI,EAAE,eAAe,EAAE,SAAS,SAAK,GAAG,OAAO;IAU5D,eAAe,CAAC,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAM/D,eAAe,IAAI,IAAI;IAgBvB,OAAO,CAAC,cAAc;IA8BtB,OAAO,CAAC,gBAAgB;IAoDxB,OAAO,CAAC,eAAe;IAoEvB,OAAO,CAAC,UAAU;IAkClB,OAAO,CAAC,UAAU;IA4ClB,OAAO,CAAC,UAAU;IA+BlB,OAAO,CAAC,SAAS;IA8CjB,OAAO,CAAC,WAAW;IAyBnB,OAAO,CAAC,WAAW;IAgDnB,OAAO,CAAC,YAAY;IAwCpB,OAAO,CAAC,eAAe;IA0BvB,OAAO,CAAC,aAAa;IAyBrB,OAAO,CAAC,cAAc;IAqCtB,OAAO,CAAC,UAAU;IAiClB,OAAO,CAAC,eAAe;IAuCvB,OAAO,CAAC,YAAY;IAqCpB,OAAO,CAAC,UAAU;IAiDlB,OAAO,CAAC,YAAY;IA2BpB,OAAO,CAAC,aAAa;IAuDrB,OAAO,CAAC,YAAY;CAmEvB"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { PitchPoint, NoteDescriptor, ComboResult } from './karaokeScoring';
|
|
2
|
+
/** Loose VerseRating that accepts label: string (compatible with useKaraokeManager) */
|
|
3
|
+
export interface VerseRatingInput {
|
|
4
|
+
verseIndex: number;
|
|
5
|
+
hitFraction: number;
|
|
6
|
+
label: string;
|
|
7
|
+
comboBonus: number;
|
|
8
|
+
}
|
|
9
|
+
/** Single point in pitch-over-time chart data */
|
|
10
|
+
export interface PitchChartPoint {
|
|
11
|
+
t: number;
|
|
12
|
+
sung: number;
|
|
13
|
+
expected: number;
|
|
14
|
+
}
|
|
15
|
+
/** Histogram bin for pitch deviation */
|
|
16
|
+
export interface DeviationBin {
|
|
17
|
+
centRange: string;
|
|
18
|
+
count: number;
|
|
19
|
+
pct: number;
|
|
20
|
+
}
|
|
21
|
+
/** Pitch class usage (chromagram) */
|
|
22
|
+
export interface PitchClassUsage {
|
|
23
|
+
note: string;
|
|
24
|
+
count: number;
|
|
25
|
+
pct: number;
|
|
26
|
+
}
|
|
27
|
+
/** Per-verse performance snapshot */
|
|
28
|
+
export interface VerseMetric {
|
|
29
|
+
verseIndex: number;
|
|
30
|
+
label: string;
|
|
31
|
+
hitFraction: number;
|
|
32
|
+
avgCentDeviation: number;
|
|
33
|
+
noteCount: number;
|
|
34
|
+
notesHit: number;
|
|
35
|
+
comboBonus: number;
|
|
36
|
+
}
|
|
37
|
+
/** Vibrato analysis result */
|
|
38
|
+
export interface VibratoStats {
|
|
39
|
+
detected: boolean;
|
|
40
|
+
avgRateHz: number;
|
|
41
|
+
avgExtentCents: number;
|
|
42
|
+
regularityPct: number;
|
|
43
|
+
}
|
|
44
|
+
/** Microphone settings snapshot */
|
|
45
|
+
export interface MicSettingsSnapshot {
|
|
46
|
+
deviceId: string;
|
|
47
|
+
deviceLabel: string;
|
|
48
|
+
algorithm: string;
|
|
49
|
+
gain: number;
|
|
50
|
+
rmsThreshold: number;
|
|
51
|
+
pitchThreshold: number;
|
|
52
|
+
smoothingWindow: number;
|
|
53
|
+
hysteresisFrames: number;
|
|
54
|
+
useHanning: boolean;
|
|
55
|
+
latencyOffsetMs: number;
|
|
56
|
+
monitorEnabled: boolean;
|
|
57
|
+
monitorVolume: number;
|
|
58
|
+
}
|
|
59
|
+
/** Complete performance report for one player */
|
|
60
|
+
export interface VocalPerformanceReport {
|
|
61
|
+
playerName: string;
|
|
62
|
+
playerColor: string;
|
|
63
|
+
songTitle: string;
|
|
64
|
+
songArtist: string;
|
|
65
|
+
songBpm: number;
|
|
66
|
+
difficulty: string;
|
|
67
|
+
timestamp: string;
|
|
68
|
+
classicScore: number;
|
|
69
|
+
bonusScore: number;
|
|
70
|
+
totalScore: number;
|
|
71
|
+
maxCombo: number;
|
|
72
|
+
totalComboBonus: number;
|
|
73
|
+
totalPitchPoints: number;
|
|
74
|
+
avgCentDeviation: number;
|
|
75
|
+
medianCentDeviation: number;
|
|
76
|
+
stdDevCents: number;
|
|
77
|
+
intonationAccuracyPct: number;
|
|
78
|
+
perfectHitPct: number;
|
|
79
|
+
pitchDeviationHistogram: DeviationBin[];
|
|
80
|
+
lowestHz: number;
|
|
81
|
+
highestHz: number;
|
|
82
|
+
lowestNote: string;
|
|
83
|
+
highestNote: string;
|
|
84
|
+
rangeInSemitones: number;
|
|
85
|
+
tessituraLow: string;
|
|
86
|
+
tessituraHigh: string;
|
|
87
|
+
pitchClassDistribution: PitchClassUsage[];
|
|
88
|
+
vibrato: VibratoStats;
|
|
89
|
+
avgOnsetDeviationMs: number;
|
|
90
|
+
rhythmStabilityPct: number;
|
|
91
|
+
jitterPct: number;
|
|
92
|
+
shimmerProxy: number;
|
|
93
|
+
verseMetrics: VerseMetric[];
|
|
94
|
+
micSettings: MicSettingsSnapshot | null;
|
|
95
|
+
pitchOverTime: PitchChartPoint[];
|
|
96
|
+
accuracyOverTime: {
|
|
97
|
+
t: number;
|
|
98
|
+
accuracy: number;
|
|
99
|
+
}[];
|
|
100
|
+
}
|
|
101
|
+
export declare function computeVocalPerformanceReport(params: {
|
|
102
|
+
playerName: string;
|
|
103
|
+
playerColor: string;
|
|
104
|
+
songTitle: string;
|
|
105
|
+
songArtist: string;
|
|
106
|
+
songBpm: number;
|
|
107
|
+
difficulty: string;
|
|
108
|
+
pitchPoints: PitchPoint[];
|
|
109
|
+
notes: NoteDescriptor[];
|
|
110
|
+
verseRatings: VerseRatingInput[];
|
|
111
|
+
combo: ComboResult | null;
|
|
112
|
+
classicScore: number;
|
|
113
|
+
bonusScore: number;
|
|
114
|
+
totalScore: number;
|
|
115
|
+
micSettings: MicSettingsSnapshot | null;
|
|
116
|
+
}): VocalPerformanceReport;
|
|
117
|
+
//# sourceMappingURL=vocalPerformanceMetrics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vocalPerformanceMetrics.d.ts","sourceRoot":"","sources":["../../src/utils/vocalPerformanceMetrics.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pitchWorker.d.ts","sourceRoot":"","sources":["../../src/workers/pitchWorker.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,YAAY,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;CACZ"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
interface NoteDescriptor {
|
|
2
|
+
startTime: number;
|
|
3
|
+
duration: number;
|
|
4
|
+
pitch: number;
|
|
5
|
+
isGold?: boolean;
|
|
6
|
+
line?: number;
|
|
7
|
+
idx?: number;
|
|
8
|
+
}
|
|
9
|
+
interface PitchPoint {
|
|
10
|
+
t: number;
|
|
11
|
+
hz: number;
|
|
12
|
+
}
|
|
13
|
+
interface ScoringParams {
|
|
14
|
+
semitoneTolerance: number;
|
|
15
|
+
preWindow: number;
|
|
16
|
+
postExtra: number;
|
|
17
|
+
segMs?: number;
|
|
18
|
+
completionBonusFactor?: number;
|
|
19
|
+
goldFullBonusFactor?: number;
|
|
20
|
+
difficultyMult?: number;
|
|
21
|
+
disableGoldNotes?: boolean;
|
|
22
|
+
}
|
|
23
|
+
interface NoteScoreResult {
|
|
24
|
+
noteKey: string;
|
|
25
|
+
segments: Array<{
|
|
26
|
+
segIndex: number;
|
|
27
|
+
frac: number;
|
|
28
|
+
add: number;
|
|
29
|
+
segStart: number;
|
|
30
|
+
segEnd: number;
|
|
31
|
+
visualStart: number;
|
|
32
|
+
visualEnd: number;
|
|
33
|
+
}>;
|
|
34
|
+
totalAdded: number;
|
|
35
|
+
completed?: boolean;
|
|
36
|
+
completionBonus?: number;
|
|
37
|
+
goldFullBonus?: number;
|
|
38
|
+
}
|
|
39
|
+
interface ScoringResult {
|
|
40
|
+
classicScore: number;
|
|
41
|
+
bonusScore: number;
|
|
42
|
+
totalScore: number;
|
|
43
|
+
total: number;
|
|
44
|
+
perNote: NoteScoreResult[];
|
|
45
|
+
combo?: ComboResult;
|
|
46
|
+
verseRatings?: VerseRating[];
|
|
47
|
+
}
|
|
48
|
+
type VerseRatingLabel = 'Awful' | 'Bad' | 'OK' | 'Good' | 'Great' | 'Perfect';
|
|
49
|
+
interface VerseRating {
|
|
50
|
+
verseIndex: number;
|
|
51
|
+
hitFraction: number;
|
|
52
|
+
label: VerseRatingLabel;
|
|
53
|
+
comboBonus: number;
|
|
54
|
+
}
|
|
55
|
+
interface ComboResult {
|
|
56
|
+
maxCombo: number;
|
|
57
|
+
currentCombo: number;
|
|
58
|
+
totalComboBonus: number;
|
|
59
|
+
}
|
|
60
|
+
export interface ScoringWorkerRequest {
|
|
61
|
+
id: number;
|
|
62
|
+
notes: NoteDescriptor[];
|
|
63
|
+
points: PitchPoint[];
|
|
64
|
+
params: ScoringParams;
|
|
65
|
+
}
|
|
66
|
+
export interface ScoringWorkerResponse {
|
|
67
|
+
id: number;
|
|
68
|
+
result: ScoringResult;
|
|
69
|
+
}
|
|
70
|
+
export {};
|
|
71
|
+
//# sourceMappingURL=scoringWorker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scoringWorker.d.ts","sourceRoot":"","sources":["../../src/workers/scoringWorker.ts"],"names":[],"mappings":"AAKA,UAAU,cAAc;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,UAAU,UAAU;IAAG,CAAC,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE;AAE9C,UAAU,aAAa;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,UAAU,eAAe;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3I,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,UAAU,aAAa;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;CAC9B;AAED,KAAK,gBAAgB,GAAG,OAAO,GAAG,KAAK,GAAG,IAAI,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;AAE9E,UAAU,WAAW;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,gBAAgB,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,WAAW;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,MAAM,EAAE,aAAa,CAAC;CACvB;AAED,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,aAAa,CAAC;CACvB"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hook that offloads autoCorrelate pitch detection to a Web Worker.
|
|
3
|
+
* Returns `detectPitch(buffer, sampleRate, rmsThreshold)` → Promise<number>.
|
|
4
|
+
* Falls back to main-thread computation if Worker is unavailable.
|
|
5
|
+
*/
|
|
6
|
+
export declare function usePitchWorker(): (buffer: Float32Array, sampleRate: number, rmsThreshold?: number) => Promise<number>;
|
|
7
|
+
//# sourceMappingURL=usePitchWorker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePitchWorker.d.ts","sourceRoot":"","sources":["../../src/workers/usePitchWorker.ts"],"names":[],"mappings":"AAKA;;;;GAIG;AACH,wBAAgB,cAAc,aASX,YAAY,cAAc,MAAM,iBAAgB,MAAM,KAAU,OAAO,CAAC,MAAM,CAAC,CAQjG"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { NoteDescriptor, PitchPoint, ScoringParams, ScoringResult } from '../utils/karaokeScoring';
|
|
2
|
+
/**
|
|
3
|
+
* Hook that offloads karaoke scoring to a Web Worker.
|
|
4
|
+
* Returns `computeScore(notes, points, params)` → Promise<ScoringResult>.
|
|
5
|
+
*/
|
|
6
|
+
export declare function useScoringWorker(): (notes: NoteDescriptor[], points: PitchPoint[], params: ScoringParams) => Promise<ScoringResult>;
|
|
7
|
+
//# sourceMappingURL=useScoringWorker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useScoringWorker.d.ts","sourceRoot":"","sources":["../../src/workers/useScoringWorker.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExG;;;GAGG;AACH,wBAAgB,gBAAgB,YASd,cAAc,EAAE,UAAU,UAAU,EAAE,UAAU,aAAa,KAAG,OAAO,CAAC,aAAa,CAAC,CAQvG"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generic hook that wraps a Web Worker in a promise-based API.
|
|
3
|
+
* - Lazily creates the worker on first call
|
|
4
|
+
* - Auto-terminates on unmount
|
|
5
|
+
* - Returns an `invoke(data)` function that returns a promise
|
|
6
|
+
*/
|
|
7
|
+
export declare function useWorker<Req extends {
|
|
8
|
+
id: number;
|
|
9
|
+
}, Res extends {
|
|
10
|
+
id: number;
|
|
11
|
+
}>(factory: () => Worker): (data: Omit<Req, "id">, transferables?: Transferable[]) => Promise<Res>;
|
|
12
|
+
//# sourceMappingURL=useWorker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useWorker.d.ts","sourceRoot":"","sources":["../../src/workers/useWorker.ts"],"names":[],"mappings":"AAKA;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,GAAG,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EAAE,GAAG,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EAC9E,OAAO,EAAE,MAAM,MAAM,UA+BZ,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,kBAAkB,YAAY,EAAE,KAAG,OAAO,CAAC,GAAG,CAAC,CAYxE"}
|
package/package.json
ADDED
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@nice2dev/ui-audio",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Nice2Dev Audio UI — DAW editor, karaoke engine, player, playlist, DMX, music visualizers for React",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "dist/index.cjs",
|
|
7
|
+
"module": "dist/index.mjs",
|
|
8
|
+
"types": "dist/index.d.ts",
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"types": "./dist/index.d.ts",
|
|
12
|
+
"import": "./dist/index.mjs",
|
|
13
|
+
"require": "./dist/index.cjs"
|
|
14
|
+
},
|
|
15
|
+
"./style.css": "./dist/style.css"
|
|
16
|
+
},
|
|
17
|
+
"files": ["dist", "LICENSE", "CHANGELOG.md", "README.md"],
|
|
18
|
+
"sideEffects": ["*.css"],
|
|
19
|
+
"scripts": {
|
|
20
|
+
"dev": "vite",
|
|
21
|
+
"build": "tsc -p tsconfig.build.json && vite build",
|
|
22
|
+
"test": "vitest run",
|
|
23
|
+
"test:watch": "vitest",
|
|
24
|
+
"test:coverage": "vitest run --coverage",
|
|
25
|
+
"typecheck": "tsc --noEmit",
|
|
26
|
+
"demo": "vite --config vite.demo.config.ts",
|
|
27
|
+
"demo:build": "vite build --config vite.demo.config.ts",
|
|
28
|
+
"prepublishOnly": "npm run build"
|
|
29
|
+
},
|
|
30
|
+
"keywords": [
|
|
31
|
+
"react", "audio", "daw", "karaoke", "player", "playlist", "dmx",
|
|
32
|
+
"visualizer", "midi", "pitch-detection", "scoring", "music",
|
|
33
|
+
"piano-roll", "waveform", "nicetodev"
|
|
34
|
+
],
|
|
35
|
+
"author": "NiceToDev <contact@nicetodev.com>",
|
|
36
|
+
"license": "MIT",
|
|
37
|
+
"repository": {
|
|
38
|
+
"type": "git",
|
|
39
|
+
"url": "git+https://github.com/NiceToDev/NiceToDev.UI.git",
|
|
40
|
+
"directory": "nice2dev-ui-audio"
|
|
41
|
+
},
|
|
42
|
+
"homepage": "https://github.com/NiceToDev/NiceToDev.UI#readme",
|
|
43
|
+
"bugs": {
|
|
44
|
+
"url": "https://github.com/NiceToDev/NiceToDev.UI/issues"
|
|
45
|
+
},
|
|
46
|
+
"peerDependencies": {
|
|
47
|
+
"react": ">=17.0.0",
|
|
48
|
+
"react-dom": ">=17.0.0"
|
|
49
|
+
},
|
|
50
|
+
"peerDependenciesMeta": {
|
|
51
|
+
"react-window": { "optional": true },
|
|
52
|
+
"react-youtube": { "optional": true },
|
|
53
|
+
"hls.js": { "optional": true },
|
|
54
|
+
"pitchy": { "optional": true },
|
|
55
|
+
"phaser": { "optional": true },
|
|
56
|
+
"framer-motion": { "optional": true },
|
|
57
|
+
"@fortawesome/react-fontawesome": { "optional": true },
|
|
58
|
+
"@fortawesome/free-solid-svg-icons": { "optional": true },
|
|
59
|
+
"@fortawesome/free-brands-svg-icons": { "optional": true },
|
|
60
|
+
"music-metadata-browser": { "optional": true },
|
|
61
|
+
"fflate": { "optional": true },
|
|
62
|
+
"@ffmpeg/ffmpeg": { "optional": true },
|
|
63
|
+
"@monaco-editor/react": { "optional": true }
|
|
64
|
+
},
|
|
65
|
+
"devDependencies": {
|
|
66
|
+
"@testing-library/jest-dom": "^6.9.1",
|
|
67
|
+
"@testing-library/react": "^16.3.2",
|
|
68
|
+
"@types/node": "^22.0.0",
|
|
69
|
+
"@types/react": "^18.2.0",
|
|
70
|
+
"@types/react-dom": "^18.2.0",
|
|
71
|
+
"@vitejs/plugin-react": "^4.2.0",
|
|
72
|
+
"hls.js": "^1.5.0",
|
|
73
|
+
"jsdom": "^29.0.0",
|
|
74
|
+
"pitchy": "^4.1.0",
|
|
75
|
+
"react": "^18.2.0",
|
|
76
|
+
"react-dom": "^18.2.0",
|
|
77
|
+
"react-window": "^1.8.0",
|
|
78
|
+
"react-youtube": "^10.1.0",
|
|
79
|
+
"typescript": "^5.3.0",
|
|
80
|
+
"vite": "^6.2.0",
|
|
81
|
+
"vite-plugin-dts": "^4.5.0",
|
|
82
|
+
"vitest": "^4.1.0"
|
|
83
|
+
}
|
|
84
|
+
}
|