tts-narrator
Version:
Generate narration with Text-To-Speech technology
35 lines • 1.69 kB
TypeScript
import { ConsoleLineLogger } from '@handy-common-utils/misc-utils';
import { NarrationParagraph, NarrationScript } from './narration-script';
import { ScriptProcessor } from './script-processor';
import { ScriptProcessorFlags } from './script-processor-flags';
import { TtsService } from './tts-service';
/**
* Class for generating narration.
* Instance of this class can be used to generate narration audio for scripts by calling the `narrate(...)` method.
*
* @example
* const ttsService = new AzureTtsService(...);
* const ttsNarrator = new TtsNarrator(ttsService, './output-folder');
* const script = await loadScript('./my-script.yml');
* await ttsNarrator.narrate(script);
* console.log(`One of the generated audio file is: ${script.chapters[0].sections[0].paragraphs[0].audioFilePath}`);
*/
export declare class TtsNarrator extends ScriptProcessor {
protected audioFileFolder: string;
/**
* Constructor
* @param ttsService The TTS service to be used for generating audio
* @param audioFileFolder The folder that generated audio files will be placed
* @param options Optional settings
* @param cliConsole Optional logger
*/
constructor(ttsService: TtsService, audioFileFolder: string, options?: Partial<ScriptProcessorFlags>, cliConsole?: ConsoleLineLogger);
protected determineAudioFilePath(ssmlHash: string, _paragraph: NarrationParagraph): Promise<string>;
/**
* Generate narration for the script
* @param script the input script which will also be modified for recording audioFilePath
* @returns nothing
*/
narrate(script: NarrationScript): Promise<void>;
}
//# sourceMappingURL=tts-narrator.d.ts.map