EPUB 제작의 기초/EPUBCheck 오류

ssml:ph 속성의 값이 비어 있거나 공백만으로 이루어져 있습니다.

내.맘.대.로 2025. 9. 29. 07:38

Empty or whitespace-only value of attribute ssml:ph.

 

이 오류는 텍스트를 소리 내어 읽어주는 TTS(Text-to-Speech) 기능의 발음을 제어하는 고급 속성인 **ssml:ph**가 비어있다는 의미입니다.

ssml:ph 속성은 **음소(phoneme)**의 약자로, 컴퓨터가 단어를 잘못 읽을 경우를 대비해 정확한 발음 기호를 직접 제공하는 역할을 합니다.

배우의 대본에 어려운 이름 'Aoife' 옆에 '(발음: '이-파')'라고 적어주는 것과 같습니다. 🗣️ 이 오류는 발음 지시를 위한 메모를 붙여놓고, 정작 그 안에 아무 내용도 적지 않은 것과 같은 상황입니다. 속성의 목적 자체가 '발음 정보 제공'인데 그 정보가 비어있으므로 오류가 발생합니다.


## 해결 방법

두 가지 방법 중 하나를 선택할 수 있습니다.

### 해결 방법 1: 올바른 발음 기호 제공 (고급)

만약 단어의 발음을 직접 지정하려는 의도가 있었다면, 비어있는 ssml:ph 속성 안에 국제 음성 기호(IPA)나 X-SAMPA 같은 표준 발음 기호를 정확하게 입력해야 합니다. 이는 음성학에 대한 전문 지식이 필요한 고급 작업입니다.

  • 수정 전:
  • XML
     
    <p>Please read <span ssml:ph="">EPUB</span>.</p>
    
  • 수정 후:
  • XML
     
    <p>Please read <span ssml:ph="ˈiːpʌb">EPUB</span>.</p>
    

### 해결 방법 2: 불필요한 속성 삭제 (대부분의 경우 권장)

만약 발음을 직접 제어할 의도가 없었거나 실수로 속성을 추가한 경우, 해당 ssml:ph="..." 속성 자체를 완전히 삭제하는 것이 가장 간단하고 확실한 해결책입니다.

  • 수정 전:
  • XML
     
    <p>단어의 <span ssml:ph="">발음</span>을 지정합니다.</p>
    
  • 수정 후:
  • XML
     
    <p>단어의 발음을 지정합니다.</p>
    

특별히 TTS의 발음을 세밀하게 제어해야 하는 경우가 아니라면, 해결 방법 2를 사용해 불필요한 속성을 삭제하는 것을 권장합니다.

반응형