C.W.K.
Stream
Lesson 10 of 10 · published

Podcast & TTS Post-Processing

~12 min · podcast, tts, elevenlabs, production

Level 0Viewer
0 XP0/73 lessons0/15 achievements
0/100 XP to next level100 XP to go0% complete

Full chain

TTS clip (ElevenLabs, OpenAI, Google) 과 캐주얼 podcast 엔 standard chain:

  1. Leading/trailing silence trim (silenceremove).
  2. 80 Hz highpass 로 rumble 죽이기.
  3. 가벼운 denoise (afftdn=nf=-20).
  4. De-essing 필요하면 (bright TTS voice 엔 equalizer=f=6000:t=q:w=2:g=-3).
  5. Compression (dynamic 부드럽게 — compand 또는 acompressor).
  6. -16 LUFS 로 loudness normalize (two-pass loudnorm).
  7. AAC 192 kbps 또는 Opus 128 kbps 로 encode.

이게 cwkPippa tts_normalize.py service 가 모든 Pippa voice clip WebUI player hit 전에 돌리는 거. 순서 중요해 — highpass 후 denoise, normalize 마지막.

Code

한 명령에 full TTS post-process·bash
# Trim → HP → denoise → light compress → loudnorm → AAC
ffmpeg -i pippa_raw.wav \
  -af "silenceremove=start_periods=1:start_silence=0.1:start_threshold=-40dB:detection=peak,areverse,silenceremove=start_periods=1:start_silence=0.1:start_threshold=-40dB:detection=peak,areverse,highpass=f=80,afftdn=nf=-20,acompressor=threshold=-18dB:ratio=3:attack=20:release=200,loudnorm=I=-16:TP=-1:LRA=11" \
  -ar 48000 -c:a aac -b:a 192k \
  pippa_clean.m4a
Podcast episode chain (약간 다름 — voice dynamic 보존)·bash
# 정확성 위해 two-pass loudnorm. Pass 1:
ffmpeg -i raw.wav -af \
  "highpass=f=80,afftdn=nf=-22,acompressor=threshold=-20dB:ratio=2.5:attack=15:release=250,loudnorm=I=-16:TP=-1:LRA=11:print_format=json" \
  -f null - 2> measure.txt

# measure.txt 에서 값 추출, pass 2 에 사용
ffmpeg -i raw.wav -af \
  "highpass=f=80,afftdn=nf=-22,acompressor=threshold=-20dB:ratio=2.5:attack=15:release=250,loudnorm=I=-16:TP=-1:LRA=11:measured_I=-19.50:measured_TP=-3.20:measured_LRA=8.00:measured_thresh=-29.50:offset=0:linear=true" \
  -ar 48000 -c:a aac -b:a 192k episode_clean.m4a

External links

Exercise

30초 TTS clip 생성 (ElevenLabs, OpenAI, 또는 브라우저 web speech). 위 full TTS chain 돌려. Raw output 과 비교: (a) loudnorm 측정으로 loudness, (b) 헤드폰으로 들어 — sibilant 좋아? 배경 hiss 갔어? 그 다음 noisy phone 녹음 voice memo 에 같은 chain 시도, source 까지 stretch?

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.