/** * MusicGenerator.ts * * Procedural music: chord progressions, rhythm patterns, * melody generation, scale systems, and song structure. * * @module audio */ export type ScaleType = 'major' | 'minor' | 'pentatonic' | 'blues' | 'dorian' | 'mixolydian'; export type ChordQuality = 'major' | 'minor' | 'dim' | 'aug' | 'sus2' | 'sus4' | '7th'; export interface ChordDef { root: number; quality: ChordQuality; notes: number[]; duration: number; } export interface RhythmPattern { name: string; beats: boolean[]; subdivision: number; swing: number; } export interface MelodyNote { pitch: number; duration: number; velocity: number; time: number; } export declare class MusicGenerator { private scale; private rootNote; private bpm; private seed; private rng; constructor(seed?: number); setScale(scale: ScaleType): void; setRoot(note: number): void; setBPM(bpm: number): void; getScale(): ScaleType; getBPM(): number; getScaleNotes(octaves?: number): number[]; isInScale(note: number): boolean; generateChord(scaleDegree: number, quality?: ChordQuality, duration?: number): ChordDef; generateProgression(degrees: number[], qualities?: ChordQuality[]): ChordDef[]; generateRhythm(beats: number, density?: number, subdivision?: number): RhythmPattern; generateMelody(bars: number, noteDensity?: number): MelodyNote[]; private createRng; reseed(seed: number): void; } //# sourceMappingURL=MusicGenerator.d.ts.map