UNPKG

@novo-learning/novo-sdk

Version:

SDK for the Novolanguage Speech Analysis API

102 lines (101 loc) 2.55 kB
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; }