axentax-compiler
Version:
Compile Axentax syntax in JavaScript and generate MIDI output for guitar phrasing.
49 lines (48 loc) • 1.47 kB
TypeScript
import { IKey, NumberOrUfd } from "../interface/utils.interface";
/** options受諾用 */
export interface ExpandFingeringOptions {
/** 難易度閾値 - default: 3 */
difficulty?: number;
/** コードルート音の最大フレット */
maxSearchRootFret?: number;
/** ルートの次の完全5度不要 */
notRequiredPerfectFifth?: boolean | null;
/** 解放弦を広い範囲で使用する */
wideUseOpenString?: boolean | null;
/** 結果並べ替え */
sortByPosition?: 'high' | 'low' | null;
/** フォームとして成り立つフレット幅 */
searchFretWidth?: number;
/** テンションは可能な限り高音源を使用する */
useHighestTensionPossible?: boolean | null;
/** 必須弦 */
requiredStrings?: number[] | null;
}
/** 最終系 */
export interface FingeringCollection {
positionScore: number;
score: number;
tab: NumberOrUfd[];
notes: (IKey | undefined)[];
sym: string;
memo?: string;
}
export interface FingeringCollectionObj {
fingerings: FingeringCollection[];
notes: IKey[];
tonic: IKey;
intervals: string[];
tensionNotes: string[];
}
/**
* ChordToFingering
*/
export declare class ChordToFingering {
/**
* core search
* @param chordSym
* @param tuning
* @param options
*/
static search(chordSym: string, tuning: IKey[], options?: ExpandFingeringOptions): FingeringCollectionObj | null;
}