@libraz/libsonare 1.0.4 → 1.2.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/README.md +299 -2
- package/dist/index.d.ts +1649 -202
- package/dist/index.js +2101 -994
- package/dist/index.js.map +1 -1
- package/dist/sonare-rt-module.js +2 -0
- package/dist/sonare-rt.js +2 -0
- package/dist/sonare-rt.wasm +0 -0
- package/dist/sonare.js +1 -1
- package/dist/sonare.wasm +0 -0
- package/dist/worklet.d.ts +447 -0
- package/dist/worklet.js +2078 -0
- package/dist/worklet.js.map +1 -0
- package/package.json +24 -27
- package/src/index.ts +3670 -0
- package/src/public_types.ts +852 -0
- package/src/sonare-rt.d.ts +93 -0
- package/src/sonare.js.d.ts +1332 -0
- package/src/stream_types.ts +133 -0
- package/src/wasm_types.ts +1248 -0
- package/src/worklet.ts +2140 -0
- package/README.npm.md +0 -114
- package/dist/index.d.ts.map +0 -1
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import type { ChordQuality, PitchClass } from './public_types';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* A detected chord change in the progression
|
|
5
|
+
*/
|
|
6
|
+
export interface ChordChange {
|
|
7
|
+
root: PitchClass;
|
|
8
|
+
quality: ChordQuality;
|
|
9
|
+
startTime: number;
|
|
10
|
+
confidence: number;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* A chord detected at bar boundary (beat-synchronized)
|
|
15
|
+
*/
|
|
16
|
+
export interface BarChord {
|
|
17
|
+
barIndex: number;
|
|
18
|
+
root: PitchClass;
|
|
19
|
+
quality: ChordQuality;
|
|
20
|
+
startTime: number;
|
|
21
|
+
confidence: number;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Pattern score for known chord progressions
|
|
26
|
+
*/
|
|
27
|
+
export interface PatternScore {
|
|
28
|
+
name: string;
|
|
29
|
+
score: number;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Progressive estimation results for BPM, Key, and Chord
|
|
34
|
+
*/
|
|
35
|
+
export interface ProgressiveEstimate {
|
|
36
|
+
bpm: number;
|
|
37
|
+
bpmConfidence: number;
|
|
38
|
+
bpmCandidateCount: number;
|
|
39
|
+
key: PitchClass;
|
|
40
|
+
keyMinor: boolean;
|
|
41
|
+
keyConfidence: number;
|
|
42
|
+
chordRoot: PitchClass;
|
|
43
|
+
chordQuality: ChordQuality;
|
|
44
|
+
chordConfidence: number;
|
|
45
|
+
chordStartTime: number;
|
|
46
|
+
chordProgression: ChordChange[];
|
|
47
|
+
barChordProgression: BarChord[];
|
|
48
|
+
currentBar: number;
|
|
49
|
+
barDuration: number;
|
|
50
|
+
votedPattern: BarChord[];
|
|
51
|
+
patternLength: number;
|
|
52
|
+
detectedPatternName: string;
|
|
53
|
+
detectedPatternScore: number;
|
|
54
|
+
allPatternScores: PatternScore[];
|
|
55
|
+
accumulatedSeconds: number;
|
|
56
|
+
usedFrames: number;
|
|
57
|
+
updated: boolean;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Statistics and current state of the analyzer
|
|
62
|
+
*/
|
|
63
|
+
export interface AnalyzerStats {
|
|
64
|
+
totalFrames: number;
|
|
65
|
+
totalSamples: number;
|
|
66
|
+
durationSeconds: number;
|
|
67
|
+
estimate: ProgressiveEstimate;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Frame buffer with analysis results
|
|
72
|
+
*/
|
|
73
|
+
export interface FrameBuffer {
|
|
74
|
+
nFrames: number;
|
|
75
|
+
timestamps: Float32Array;
|
|
76
|
+
mel: Float32Array;
|
|
77
|
+
chroma: Float32Array;
|
|
78
|
+
onsetStrength: Float32Array;
|
|
79
|
+
rmsEnergy: Float32Array;
|
|
80
|
+
spectralCentroid: Float32Array;
|
|
81
|
+
spectralFlatness: Float32Array;
|
|
82
|
+
chordRoot: Int32Array;
|
|
83
|
+
chordQuality: Int32Array;
|
|
84
|
+
chordConfidence: Float32Array;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
export interface StreamFramesU8 {
|
|
88
|
+
nFrames: number;
|
|
89
|
+
nMels: number;
|
|
90
|
+
timestamps: Float32Array;
|
|
91
|
+
mel: Uint8Array;
|
|
92
|
+
chroma: Uint8Array;
|
|
93
|
+
onsetStrength: Uint8Array;
|
|
94
|
+
rmsEnergy: Uint8Array;
|
|
95
|
+
spectralCentroid: Uint8Array;
|
|
96
|
+
spectralFlatness: Uint8Array;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
export interface StreamFramesI16 {
|
|
100
|
+
nFrames: number;
|
|
101
|
+
nMels: number;
|
|
102
|
+
timestamps: Float32Array;
|
|
103
|
+
mel: Int16Array;
|
|
104
|
+
chroma: Int16Array;
|
|
105
|
+
onsetStrength: Int16Array;
|
|
106
|
+
rmsEnergy: Int16Array;
|
|
107
|
+
spectralCentroid: Int16Array;
|
|
108
|
+
spectralFlatness: Int16Array;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* Configuration for StreamAnalyzer
|
|
113
|
+
*/
|
|
114
|
+
export interface StreamConfig {
|
|
115
|
+
sampleRate: number;
|
|
116
|
+
nFft?: number;
|
|
117
|
+
hopLength?: number;
|
|
118
|
+
nMels?: number;
|
|
119
|
+
fmin?: number;
|
|
120
|
+
fmax?: number;
|
|
121
|
+
tuningRefHz?: number;
|
|
122
|
+
computeMagnitude?: boolean;
|
|
123
|
+
computeMel?: boolean;
|
|
124
|
+
computeChroma?: boolean;
|
|
125
|
+
computeOnset?: boolean;
|
|
126
|
+
computeSpectral?: boolean;
|
|
127
|
+
emitEveryNFrames?: number;
|
|
128
|
+
magnitudeDownsample?: number;
|
|
129
|
+
keyUpdateIntervalSec?: number;
|
|
130
|
+
bpmUpdateIntervalSec?: number;
|
|
131
|
+
window?: number;
|
|
132
|
+
outputFormat?: number;
|
|
133
|
+
}
|