kshoot-tools
Version:
A collection of tools related to KSH and KSON chart files of K-Shoot Mania
29 lines (28 loc) • 1.66 kB
TypeScript
import * as kshoot from 'kshoot';
import type { LoadedKShootChartContext } from "./index";
export declare class CrossCorrelation {
readonly data: Float32Array;
readonly half_window_size: number;
constructor(x: Float32Array, y: Float32Array, half_window_size?: number);
peaks(prefer_center?: number): Generator<[offset: number, correlation: number]>;
bestOffset(prefer_center?: number): number;
}
export declare class OffsetComputer {
readonly chart_ctx: LoadedKShootChartContext;
readonly chart: kshoot.Chart;
readonly timing: kshoot.Timing;
constructor(chart_ctx: LoadedKShootChartContext);
getTimeByPulse(pulse: kshoot.Pulse): number;
private _chart_energy_map;
get chart_energy_map(): Map<kshoot.Pulse, number>;
getChartEnergy(): [offset: number, chart_energy: Float32Array];
getMusicAudioBuffer(in_audio_file_buffer?: Buffer): Promise<AudioBuffer | null>;
computeCrossCorrelation(audio_file_buffer?: Buffer): Promise<CrossCorrelation | null>;
computeCrossCorrelation(audio_buffer?: AudioBuffer): Promise<CrossCorrelation | null>;
computeCrossCorrelation(audio?: Buffer | AudioBuffer): Promise<CrossCorrelation | null>;
computeOffset(audio_file_buffer?: Buffer): Promise<number | null>;
computeOffset(audio_buffer?: AudioBuffer): Promise<number | null>;
}
export declare function computeOffset(chart_ctx: LoadedKShootChartContext): Promise<number | null>;
export declare function computeCrossCorrelation(chart_ctx: LoadedKShootChartContext): Promise<CrossCorrelation | null>;
export declare function drawDebugImage(chart_ctx: LoadedKShootChartContext): Promise<Buffer | null>;