react-edge-tts
Version:
Generate text-to-speech narration for React content using Microsoft Edge TTS
53 lines ⢠1.83 kB
JavaScript
import { Command } from 'commander';
import path from 'path';
import NarrationGenerator from './core/generator';
const program = new Command();
program
.name('react-edge-tts')
.description('CLI tool for generating text-to-speech narration from React components')
.version('1.0.0');
program
.command('generate')
.description('Generate audio files from narration content')
.option('-i, --input <dir>', 'input directory containing narration JSON files', 'narration-content')
.option('-o, --output <dir>', 'output directory for audio files', 'narration-audio')
.action(async (options) => {
try {
const generator = new NarrationGenerator({
inputDir: path.resolve(process.cwd(), options.input),
outputDir: path.resolve(process.cwd(), options.output)
});
console.log('Generating audio files...');
const files = await generator.processDirectory();
console.log('\nGenerated audio files:');
files.forEach(file => {
console.log(`ā ${path.relative(process.cwd(), file)}`);
});
console.log('\nDone! š');
}
catch (error) {
console.error('\nā Error generating audio files:', error);
process.exit(1);
}
});
program
.command('list-voices')
.description('List available voices')
.action(async () => {
try {
const { EdgeTTS } = require('node-edge-tts');
const tts = new EdgeTTS();
console.log('Available voices:');
const voices = await tts.getVoices();
voices.forEach((voice) => {
console.log(`- ${voice.ShortName}`);
});
}
catch (error) {
console.error('Error listing voices:', error);
process.exit(1);
}
});
program.parse();
//# sourceMappingURL=cli.js.map