ac878-news-tts

star 0

Generate TTS audio from Mandarin news scripts for AC878 radio. Use after scriptwriting to convert .txt scripts into broadcast-ready MP3 files using Microsoft Edge TTS (zh-CN-YunyangNeural voice). Handles TTS generation, audio conversion, and quality validation.

ac878media By ac878media schedule Updated 3/7/2026

name: ac878-news-tts description: Generate TTS audio from Mandarin news scripts for AC878 radio. Use after scriptwriting to convert .txt scripts into broadcast-ready MP3 files using Microsoft Edge TTS (zh-CN-YunyangNeural voice). Handles TTS generation, audio conversion, and quality validation.

AC878 News TTS

Convert Mandarin text scripts into broadcast-ready MP3 audio files.

Usage

# Morning bulletin
bash /Users/jackycheung/.openclaw/skills/ac878-news-tts/scripts/generate_tts.sh morning

# Afternoon bulletin
bash /Users/jackycheung/.openclaw/skills/ac878-news-tts/scripts/generate_tts.sh afternoon

Process

For each of the 4 script files:

  1. TTS Generation — Edge TTS with zh-CN-YunyangNeural voice
  2. Audio Conversion — ffmpeg to 128kbps, 44.1kHz, stereo MP3
  3. Duration Check — Must be 18-27 minutes each
  4. Cleanup — Remove intermediate WAV/raw files

Manual Steps (if script unavailable)

WORKSPACE="/Users/jackycheung/.openclaw/workspace"

# For each file (1-4):
python3 -m edge_tts --voice zh-CN-YunyangNeural \
  --file "$WORKSPACE/news/bulletin-file-1.txt" \
  --write-media "$WORKSPACE/news/bulletin-raw-1.mp3"

ffmpeg -y -i "$WORKSPACE/news/bulletin-raw-1.mp3" \
  -ar 44100 -ac 2 -b:a 128k \
  "$WORKSPACE/news/bulletin-file-1.mp3"

rm -f "$WORKSPACE/news/bulletin-raw-1.mp3"

Audio Specifications

Parameter Value
Voice zh-CN-YunyangNeural (Male, Professional, News)
Sample rate 44100 Hz
Channels Stereo (2)
Bitrate 128 kbps
Format MP3
Duration 18-27 minutes per file
File size ~15-25 MB per file

Quality Gate (Post-TTS)

for f in news/bulletin-file-{1..4}.mp3; do
  DUR=$(ffprobe -v error -show_entries format=duration -of csv=p=0 "$f")
  SIZE=$(ls -la "$f" | awk '{print $5}')
  echo "$(basename $f): ${DUR}s, ${SIZE} bytes"
done

Each file must be >5MB and 18-27 minutes. If any file fails, regenerate it.

Next Step

After TTS generation, deliver to OneDrive:

bash /Users/jackycheung/.openclaw/skills/ac878-news-deliver/scripts/deliver.sh morning
Install via CLI
npx skills add https://github.com/ac878media/ac878-openclaw-skills --skill ac878-news-tts
Repository Details
star Stars 0
call_split Forks 0
navigation Branch main
article Path SKILL.md
More from Creator