UNPKG

cxchord

Version:
87 lines (74 loc) 1.75 kB
import { BayesChordCalculator } from "./CxBayes"; import { ChordInstance } from "./CxChordInst"; export interface ChordMapEntry { notes: number[] root: number inv: number group: number count?: number probability?: number } export interface MatchedNotes { [key:string] : { invertions: any[] extensions: any[] knockouts: any[] mustHave: any[] rootNotes: any[] conflicts: any[] roots: number[] group: number } } export interface ChordMap { [key:string]: ChordMapEntry } export interface ChordMapTable { [key:string]: ChordMapEntry[] } export interface Conflicts { [key:string]: any[][] } export interface RootNoteNames { [key:string]: string[] } export interface RuleFx { ( chord: ChordInstance, bayes: BayesChordCalculator, row: number, col: number ) : number } export interface Rule { rule?: string chord: ChordInstance ruleFx: RuleFx } export interface Hypothesis { idx: number key: string inv: number len : number root: number group: number } export interface ChordMatchIntf { hypo: Hypothesis, chord: string root: string type: string bass: string inv: number notes: number[] list: string } export interface Posterior { post: number, idx: number, hypo?: Hypothesis } export interface ScaleMapEntry { notes: number[] major: number minor: number | null group: number } export interface ScaleMap { [key:string]: ScaleMapEntry }