UNPKG

react-edge-tts

Version:

Generate text-to-speech narration for React content using Microsoft Edge TTS

53 lines • 1.83 kB
#!/usr/bin/env node 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