홈으로 돌아가기

Silero-TTS v5: 러시아어 억양 질문

Silero-TTS v5가 러시아어에 업데이트되어 네 가지 질문 유형을 지원합니다: *asterisks*를 통한 일반 질문의 운율적 강조, SSML 및 자동 동형이의어. pip와 torch.hub의 코드 예제가 CPU에서 오디오 생성을 보여줍니다.

silero-tts v5의 질문: 러시아어 운율과 강조
Advertisement 728x90

실러-TTS v5: 러시아어 질문 억양 네 가지 유형 실시간 적용

러시아어용 실러-TTS v5는 정확한 질문 억양을 생성합니다. 모델은 특수 질문(의문사 사용), 일반 질문(음성 강조), 대안 질문, 꼬리 질문 등 네 가지 유형의 질문을 처리할 수 있습니다. 일반 질문의 경우, 강조점은 별표(*)로 표시되며, 추가 파라미터 없이도 표현력이 풍부해집니다.

업데이트의 주요 기능:

  • 동음이의어와 음절 강세 자동 처리
  • 음성 제어를 위한 완전한 SSML 지원
  • CPU에서 빠른 추론 속도
  • 목소리: aidar, baya, kseniya, xenia (eugene 개발 중)

질문 억양의 언어학적 기초

러시아어에서는 질문이 문법적으로(어순, 드물게), 어휘적으로(의문사, 부사어), 그리고 음성적으로(억양) 표시됩니다. 일반 질문은 오직 음성에 의존하며, 억양 중심은 어떤 단어에도 올 수 있어 의미를 바꿉니다.

예시:

Google AdInline article slot
  • Did he COME? — 행동에 강조
  • HE came? — 주어에 강조

모델을 훈련시키기 위해서는 질문 유형과 강세 위치를 라벨링해야 합니다. 이러한 정보가 없는 코퍼스 데이터는 충분하지 않습니다.

일반 질문 합성 예시

다른 강세 위치를 가진 질문 생성 코드:

import IPython.display as ipd

texts = [
  '*Organizers* sent us electronic tickets?',
  'Organizers *sent* us electronic tickets?',
  'Organizers sent *us* electronic tickets?',
  'Organizers sent us *electronic* tickets?',
  'Organizers sent us electronic *tickets*?'
]

for i, text in enumerate(texts):
    audio = model.apply_tts(text=text, speaker='xenia')
    ipd.display(ipd.Audio(audio, rate=48000))

오디오 샘플은 강조된 단어에서 부드럽게 음높이가 상승하고, 문장 끝에서 하강하는 모습을 보입니다.

Google AdInline article slot

설치 및 기본 사용법

pip를 통해 설치:

!pip install silero
from silero import silero_tts
model, example_text = silero_tts(language='ru', speaker='v5_4_ru')
audio = model.apply_tts(text=example_text)

torch.hub를 통한 전체 초기화:

import torch

language = 'ru'
model_id = 'v5_4_ru'
device = torch.device('cpu')
model, example_text = torch.hub.load(repo_or_dir='snakers4/silero-models',
                                     model='silero_tts',
                                     language=language,
                                     speaker=model_id)
model.to(device)
sample_rate = 48000
speaker = 'xenia'
put_accent=True
put_yo=True
put_stress_homo=True
put_yo_homo=True

example_text = 'My name is Leva Korolev. I am ready. And I am ready to open locks of any complexity!'

audio = model.apply_tts(text=example_text,
                        speaker=speaker,
                        sample_rate=sample_rate,
                        put_accent=put_accent,
                        put_yo=put_yo,
                        put_stress_homo=put_stress_homo,
                        put_yo_homo=put_yo_homo)

SSML 예시: 음성 제어 포함

Google AdInline article slot
ssml_sample = """
              <speak>
              <p>
                  When I wake up, <prosody rate="x-slow">I speak quite slowly</prosody>.
                  Then I start speaking in my normal voice,
                  <prosody pitch="x-high">and I can speak in a higher tone</prosody>,
                  or <prosody pitch="x-low">conversely, lower</prosody>.
                  Then, if I am lucky, <prosody rate="fast">I can speak quite quickly.</prosody>
                  And I can make pauses of any length, for example, two seconds <break time="2000ms"/>
                  <p>
                    Also I can make pauses between paragraphs.
                  </p>
                  <p>
                    <s>And I can also make pauses between sentences.</s>
                    <s>Here, for example, like now.</s>
                  </p>
              </p>
              </speak>
              """

audio = model.apply_tts(ssml_text=ssml_sample,
                        speaker=speaker,
                        sample_rate=sample_rate)

억양 파라미터 및 권장 사항

  • intensity=3: 질문 억양의 강도 (기본값, 최적)
  • 특수, 대안, 꼬리 질문의 경우 강세는 선택 사항
  • 일반 질문은 정확한 강세 위치를 지정하기 위해 별표() 필수*

질문 유형 및 처리 방법:

  • 특수 질문: What? Where? When? — 어휘적 표시 + 표준 억양
  • 일반 질문: You home? — 어떤 단어에도 강세 가능
  • 대안 질문: Fish or meat? — 대안에 억양 적용
  • 꼬리 질문: No, really? — 꼬리 부분에 상향 억양

중요한 점

  • 실러-TTS v5는 GPU 없이도 임의 위치에 음성 강세를 가진 질문을 생성합니다.
  • 일반 질문의 경우 간단한 별표 표기로 네 가지 질문 유형을 지원합니다.
  • SSML 통합을 통해 음성과 정지 시간을 세밀하게 조정할 수 있습니다.
  • pip 또는 torch.hub로 설치 가능하며, sample_rate=48000 Hz를 권장합니다.
  • 명사문의 강조 기능은 향후 업데이트에서 제공될 예정입니다.

— Editorial Team

Advertisement 728x90

다음 읽기