@kernel.chat/kbot 3.48.0 → 3.50.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/dist/agent-teams.d.ts.map +1 -1
- package/dist/agent-teams.js +7 -0
- package/dist/agent-teams.js.map +1 -1
- package/dist/agents/producer.d.ts +21 -0
- package/dist/agents/producer.d.ts.map +1 -0
- package/dist/agents/producer.js +139 -0
- package/dist/agents/producer.js.map +1 -0
- package/dist/agents/specialists.d.ts.map +1 -1
- package/dist/agents/specialists.js +19 -0
- package/dist/agents/specialists.js.map +1 -1
- package/dist/completions.d.ts.map +1 -1
- package/dist/completions.js +1 -0
- package/dist/completions.js.map +1 -1
- package/dist/integrations/ableton-osc.d.ts +146 -0
- package/dist/integrations/ableton-osc.d.ts.map +1 -0
- package/dist/integrations/ableton-osc.js +590 -0
- package/dist/integrations/ableton-osc.js.map +1 -0
- package/dist/learned-router.d.ts.map +1 -1
- package/dist/learned-router.js +20 -0
- package/dist/learned-router.js.map +1 -1
- package/dist/tools/ableton-knowledge.d.ts +2 -0
- package/dist/tools/ableton-knowledge.d.ts.map +1 -0
- package/dist/tools/ableton-knowledge.js +419 -0
- package/dist/tools/ableton-knowledge.js.map +1 -0
- package/dist/tools/ableton.d.ts +2 -0
- package/dist/tools/ableton.d.ts.map +1 -0
- package/dist/tools/ableton.js +769 -0
- package/dist/tools/ableton.js.map +1 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +3 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/lab-frontier.d.ts +2 -0
- package/dist/tools/lab-frontier.d.ts.map +1 -0
- package/dist/tools/lab-frontier.js +926 -0
- package/dist/tools/lab-frontier.js.map +1 -0
- package/dist/tools/lab-physics.d.ts.map +1 -1
- package/dist/tools/lab-physics.js +2 -1
- package/dist/tools/lab-physics.js.map +1 -1
- package/dist/tools/music-theory.d.ts +175 -0
- package/dist/tools/music-theory.d.ts.map +1 -0
- package/dist/tools/music-theory.js +1020 -0
- package/dist/tools/music-theory.js.map +1 -0
- package/package.json +1 -1
- package/dist/tools/image-variation.d.ts +0 -2
- package/dist/tools/image-variation.d.ts.map +0 -1
- package/dist/tools/image-variation.js +0 -30
- package/dist/tools/image-variation.js.map +0 -1
- package/dist/tools/summarize.d.ts +0 -2
- package/dist/tools/summarize.d.ts.map +0 -1
- package/dist/tools/summarize.js +0 -28
- package/dist/tools/summarize.js.map +0 -1
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
export interface MidiNote {
|
|
2
|
+
pitch: number;
|
|
3
|
+
start: number;
|
|
4
|
+
duration: number;
|
|
5
|
+
velocity: number;
|
|
6
|
+
}
|
|
7
|
+
export declare const SCALES: Record<string, number[]>;
|
|
8
|
+
export declare const CHORDS: Record<string, number[]>;
|
|
9
|
+
/**
|
|
10
|
+
* Convert a note name to MIDI number.
|
|
11
|
+
* Accepts: "C4", "F#3", "Bb5", "Eb2", etc.
|
|
12
|
+
* Uses scientific pitch notation where C4 = 60 (middle C).
|
|
13
|
+
*/
|
|
14
|
+
export declare function noteNameToMidi(name: string): number;
|
|
15
|
+
/**
|
|
16
|
+
* Convert MIDI number to note name.
|
|
17
|
+
* Returns sharps by default. Pass `preferFlats: true` for flat names.
|
|
18
|
+
*/
|
|
19
|
+
export declare function midiToNoteName(midi: number, preferFlats?: boolean): string;
|
|
20
|
+
/**
|
|
21
|
+
* Convert MIDI number to frequency in Hz (A4 = 440 Hz).
|
|
22
|
+
*/
|
|
23
|
+
export declare function midiToFrequency(midi: number): number;
|
|
24
|
+
/**
|
|
25
|
+
* Convert frequency in Hz to the nearest MIDI number.
|
|
26
|
+
*/
|
|
27
|
+
export declare function frequencyToMidi(freq: number): number;
|
|
28
|
+
/**
|
|
29
|
+
* Parse a chord symbol string into MIDI note numbers.
|
|
30
|
+
*
|
|
31
|
+
* @param symbol - e.g. "Cmaj7", "F#m7", "Bb7", "Dadd9", "G7#9"
|
|
32
|
+
* @param octave - root octave (default 4)
|
|
33
|
+
* @returns Array of MIDI note numbers
|
|
34
|
+
*
|
|
35
|
+
* Examples:
|
|
36
|
+
* parseChordSymbol("Cmaj7") → [60, 64, 67, 71]
|
|
37
|
+
* parseChordSymbol("F#m7") → [66, 69, 73, 76]
|
|
38
|
+
* parseChordSymbol("Bb7") → [58, 62, 65, 68]
|
|
39
|
+
*/
|
|
40
|
+
export declare function parseChordSymbol(symbol: string, octave?: number): number[];
|
|
41
|
+
/**
|
|
42
|
+
* Parse a Roman numeral chord notation.
|
|
43
|
+
*
|
|
44
|
+
* @param numeral - e.g. "I", "ii", "V7", "bVII", "iv", "#IV", "viidim7"
|
|
45
|
+
* @param key - e.g. "C", "F#", "Bb"
|
|
46
|
+
* @param scale - scale name (default "major")
|
|
47
|
+
* @returns Object with root MIDI number, quality name, and MIDI notes
|
|
48
|
+
*
|
|
49
|
+
* Conventions:
|
|
50
|
+
* - Uppercase = major, lowercase = minor
|
|
51
|
+
* - "dim" suffix = diminished, "aug" = augmented
|
|
52
|
+
* - "7" = dominant 7th (on uppercase) or minor 7th (on lowercase)
|
|
53
|
+
* - "maj7" = major 7th
|
|
54
|
+
* - "b" prefix = lowered a half step, "#" prefix = raised a half step
|
|
55
|
+
*/
|
|
56
|
+
export declare function parseRomanNumeral(numeral: string, key: string, scale?: string): {
|
|
57
|
+
root: number;
|
|
58
|
+
quality: string;
|
|
59
|
+
notes: number[];
|
|
60
|
+
};
|
|
61
|
+
/**
|
|
62
|
+
* Parse a chord progression string into arrays of MIDI notes.
|
|
63
|
+
*
|
|
64
|
+
* Accepts two formats:
|
|
65
|
+
* 1. Roman numerals: "I vi IV V"
|
|
66
|
+
* 2. Chord symbols: "Cmaj7 Am7 Fmaj7 G7"
|
|
67
|
+
*
|
|
68
|
+
* @param progression - space-separated chord tokens
|
|
69
|
+
* @param key - key root note (e.g. "C", "F#")
|
|
70
|
+
* @param scale - scale name (default "major")
|
|
71
|
+
* @param octave - root octave for chord symbols (default 4)
|
|
72
|
+
* @returns Array of MIDI note arrays, one per chord
|
|
73
|
+
*/
|
|
74
|
+
export declare function parseProgression(progression: string, key: string, scale?: string, octave?: number): number[][];
|
|
75
|
+
/**
|
|
76
|
+
* Apply a voicing to a set of MIDI notes.
|
|
77
|
+
*
|
|
78
|
+
* @param notes - Input chord tones (root position, ascending)
|
|
79
|
+
* @param voicing - Voicing strategy
|
|
80
|
+
* @returns Re-voiced MIDI notes
|
|
81
|
+
*
|
|
82
|
+
* Voicings:
|
|
83
|
+
* - close: stack notes in ascending order within one octave
|
|
84
|
+
* - open: drop the second note from bottom down an octave
|
|
85
|
+
* - drop2: drop the second note from the top down an octave
|
|
86
|
+
* - drop3: drop the third note from the top down an octave
|
|
87
|
+
* - spread: distribute notes across 2-3 octaves
|
|
88
|
+
* - shell: root + 3rd (or sus) + 7th only
|
|
89
|
+
*/
|
|
90
|
+
export declare function voiceChord(notes: number[], voicing: 'close' | 'open' | 'drop2' | 'drop3' | 'spread' | 'shell'): number[];
|
|
91
|
+
/**
|
|
92
|
+
* Arpeggiate a chord into a sequence of MidiNote events.
|
|
93
|
+
*
|
|
94
|
+
* @param notes - MIDI note numbers to arpeggiate
|
|
95
|
+
* @param pattern - Direction pattern
|
|
96
|
+
* @param divisions - Number of notes to generate
|
|
97
|
+
* @param durationBeats - Total duration in beats
|
|
98
|
+
* @returns Array of MidiNote events
|
|
99
|
+
*/
|
|
100
|
+
export declare function arpeggiate(notes: number[], pattern: 'up' | 'down' | 'updown' | 'random', divisions: number, durationBeats: number): MidiNote[];
|
|
101
|
+
export declare const NAMED_PROGRESSIONS: Record<string, {
|
|
102
|
+
name: string;
|
|
103
|
+
numerals: string;
|
|
104
|
+
description: string;
|
|
105
|
+
}>;
|
|
106
|
+
export declare const RHYTHM_PATTERNS: Record<string, number[]>;
|
|
107
|
+
/**
|
|
108
|
+
* Snap a MIDI note to the nearest note in the given scale and key.
|
|
109
|
+
*
|
|
110
|
+
* @param note - MIDI note number to quantize
|
|
111
|
+
* @param key - Root pitch class (0-11) or note name
|
|
112
|
+
* @param scale - Scale name from SCALES
|
|
113
|
+
* @returns Nearest MIDI note in the scale
|
|
114
|
+
*/
|
|
115
|
+
export declare function quantizeToScale(note: number, key: number | string, scale: string): number;
|
|
116
|
+
/**
|
|
117
|
+
* Detect the most likely key and scale for a set of MIDI notes.
|
|
118
|
+
* Uses the Krumhansl-Schmuckler key-finding algorithm (simplified).
|
|
119
|
+
*
|
|
120
|
+
* @param notes - Array of MIDI note numbers
|
|
121
|
+
* @returns Best-fit key, scale, and confidence (0-1)
|
|
122
|
+
*/
|
|
123
|
+
export declare function detectKey(notes: number[]): {
|
|
124
|
+
key: string;
|
|
125
|
+
scale: string;
|
|
126
|
+
confidence: number;
|
|
127
|
+
};
|
|
128
|
+
export declare const GM_DRUMS: Record<string, number>;
|
|
129
|
+
export declare const GENRE_DRUM_PATTERNS: Record<string, {
|
|
130
|
+
bpm: [number, number];
|
|
131
|
+
pattern: Record<string, number[]>;
|
|
132
|
+
}>;
|
|
133
|
+
/**
|
|
134
|
+
* Get scale note names for a given key and scale.
|
|
135
|
+
* Useful for display and reference.
|
|
136
|
+
*/
|
|
137
|
+
export declare function getScaleNotes(key: string, scale: string, octave?: number): {
|
|
138
|
+
names: string[];
|
|
139
|
+
midi: number[];
|
|
140
|
+
};
|
|
141
|
+
/**
|
|
142
|
+
* Transpose an array of MIDI notes by a given number of semitones.
|
|
143
|
+
*/
|
|
144
|
+
export declare function transpose(notes: number[], semitones: number): number[];
|
|
145
|
+
/**
|
|
146
|
+
* Invert a chord (rotate the lowest note up an octave).
|
|
147
|
+
* @param notes - MIDI notes (sorted ascending)
|
|
148
|
+
* @param inversion - Number of inversions (1 = first, 2 = second, etc.)
|
|
149
|
+
*/
|
|
150
|
+
export declare function invertChord(notes: number[], inversion: number): number[];
|
|
151
|
+
/**
|
|
152
|
+
* Calculate the interval name between two MIDI notes.
|
|
153
|
+
*/
|
|
154
|
+
export declare function intervalName(semitones: number): string;
|
|
155
|
+
/**
|
|
156
|
+
* Get the available scale names.
|
|
157
|
+
*/
|
|
158
|
+
export declare function listScales(): string[];
|
|
159
|
+
/**
|
|
160
|
+
* Get the available chord quality names.
|
|
161
|
+
*/
|
|
162
|
+
export declare function listChords(): string[];
|
|
163
|
+
/**
|
|
164
|
+
* Get the available named progressions.
|
|
165
|
+
*/
|
|
166
|
+
export declare function listProgressions(): string[];
|
|
167
|
+
/**
|
|
168
|
+
* Get the available drum pattern genres.
|
|
169
|
+
*/
|
|
170
|
+
export declare function listDrumPatterns(): string[];
|
|
171
|
+
/**
|
|
172
|
+
* Get the available rhythm patterns.
|
|
173
|
+
*/
|
|
174
|
+
export declare function listRhythmPatterns(): string[];
|
|
175
|
+
//# sourceMappingURL=music-theory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"music-theory.d.ts","sourceRoot":"","sources":["../../src/tools/music-theory.ts"],"names":[],"mappings":"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"}
|