UNPKG

museaikit

Version:

A powerful music-focused AI toolkit

32 lines (31 loc) 1.25 kB
import * as tf from '@tensorflow/tfjs'; import { INoteSequence, NoteSequence } from '../protobuf/index'; export declare const NO_EVENT = 0; export declare const NOTE_OFF = 1; export declare class Melody { readonly events: ArrayLike<number>; readonly minPitch: number; readonly maxPitch: number; constructor(events: ArrayLike<number>, minPitch: number, maxPitch: number); static fromNoteSequence(noteSequence: INoteSequence, minPitch: number, maxPitch: number, ignorePolyphony?: boolean, numSteps?: number): Melody; toNoteSequence(stepsPerQuarter?: number, qpm?: number): NoteSequence; } export interface MelodyControl { readonly depth: number; extract(melody: Melody): tf.Tensor2D; } export declare class MelodyRhythm implements MelodyControl { readonly depth = 1; extract(melody: Melody): tf.Tensor2D; } export declare class MelodyShape implements MelodyControl { readonly depth = 3; extract(melody: Melody): tf.Tensor2D; } export declare class MelodyRegister implements MelodyControl { readonly boundaryPitches: number[]; readonly depth: number; constructor(boundaryPitches: number[]); private meanMelodyPitch; extract(melody: Melody): tf.Tensor2D; }