tts-narrator
Version:
Generate narration with Text-To-Speech technology
38 lines • 1.98 kB
TypeScript
import type chalkType from 'chalk';
import type promptsFunc from 'prompts';
import { ConsoleLineLogger } from '@handy-common-utils/misc-utils';
import { MultiRange } from 'multi-integer-range';
import type { ScriptProcessorFlags } from './script-processor-flags';
import { NarrationParagraph, NarrationScript } from './narration-script';
import { AudioGenerationOptions, TtsService } from './tts-service';
export declare class ScriptProcessor {
protected scriptFilePath: string;
protected flags: ScriptProcessorFlags;
protected _prompts: typeof promptsFunc | undefined | null;
protected _chalk: typeof chalkType | undefined | null;
protected cliConsole: ConsoleLineLogger;
protected ttsService: TtsService;
protected audioGenerationOptions: Omit<AudioGenerationOptions, 'outputFilePath'> | undefined;
protected _script: NarrationScript;
protected chapterRange: MultiRange | undefined;
protected sectionRange: MultiRange | undefined;
constructor(scriptFilePath: string, flags: ScriptProcessorFlags, cliConsole?: ConsoleLineLogger);
/**
* prompts function, or null caused by library not available
*/
protected get prompts(): typeof promptsFunc | null | undefined;
/**
* chalk, or null caused by library not available
*/
protected get chalk(): typeof promptsFunc | null | undefined;
protected hash(ssml: string, _paragraph: NarrationParagraph): string;
protected loadScriptIfNeeded(): Promise<void>;
protected parseRanges(): void;
protected initialiseTtsServiceIfNeeded(): Promise<void>;
protected determineAudioFilePath(ssmlHash: string, _paragraph: NarrationParagraph): Promise<string>;
protected processGeneratedAudioFile(audioFilePath: string): Promise<string>;
run(reconstructedCommandLine?: string): Promise<void>;
runWithoutCatch(reconstructedCommandLine?: string): Promise<void>;
get script(): NarrationScript;
}
//# sourceMappingURL=script-processor.d.ts.map