@novo-learning/novo-sdk
Version:
SDK for the Novolanguage Speech Analysis API
102 lines (101 loc) • 2.55 kB
TypeScript
import { PhoneCorrectness, PhraseCorrectness, WordCorrectness } from './correctness';
import { PhoneDuration } from './exercises';
import { LanguageCode } from './language-code';
import { Prosody } from './prosody';
export declare class ExerciseResult {
confidence?: Confidence;
match?: boolean;
correct?: boolean;
score?: Score;
phrase?: string;
recognized?: WordRecognition[];
phrases?: PhraseRecognition[];
attempt?: {
id?: string;
audioKey?: string;
};
speechDetected?: boolean;
exerciseId?: string;
respondedAt: Date;
correctness?: PhraseCorrectness;
language?: LanguageCode;
}
export declare class Confidence {
llr: number;
prob: number;
}
export declare class Score {
accuracy?: number;
fluency?: number;
velocity?: number;
}
export declare class WordFeature {
id: string;
categoryId?: string;
correct: boolean;
letters?: {
letter: string;
part: boolean;
}[];
}
export declare class WordRecognition {
timing?: Timing;
word: string;
letterAlignment?: {
letter: string;
phones: string[];
correct: boolean;
phoneAlignment?: AlignmentEntry[];
}[];
wordFeatures?: WordFeature[];
promptToken?: string;
correct?: boolean;
correctness?: WordCorrectness;
confidence?: Confidence;
score?: Score;
phones?: PhoneRecognition[];
liaisonPhone?: PhoneRecognition;
closestCorrectPronunciation?: {
phones: TargetPhone[];
};
alignment?: AlignmentEntry[];
prosody?: Prosody;
}
export declare class PhraseRecognition {
timing?: Timing;
phrase: string;
correct?: boolean;
correctness?: PhraseCorrectness;
words: WordRecognition[];
}
export declare class Timing {
begin: number;
end: number;
}
export declare class PhoneRecognition {
timing?: Timing;
target?: TargetPhone;
recognized: AsrRecognizedPhone;
correct?: boolean;
correctness?: PhoneCorrectness;
}
export declare class DurationProbabilities {
[PhoneDuration.short]?: number;
[PhoneDuration.normal]?: number;
[PhoneDuration.long]?: number;
[PhoneDuration.superlong]?: number;
}
export declare class AsrRecognizedPhone {
phone: string;
confidence?: Confidence;
duration?: DurationProbabilities;
}
export declare class TargetPhone {
phone: string;
confidence?: Confidence;
duration?: Array<PhoneDuration>;
}
export declare class AlignmentEntry {
deleted?: string;
inserted?: string;
}