보이스 코어 (Voice Core)

VIRTUAL Agent는 자신의 성격과 역할에 맞는 뚜렷한 목소리를 낼 수 있도록 설계되었습니다. 따라서 음성 모델을 훈련시키는 것은 각 캐릭터의 목소리가 사실적일 뿐만 아니라 디자인된 페르소나와 일치하는지 확인하는 중요한 프로세스입니다.

Voice Core에는 두 가지 모듈이 사용됩니다.

Speech-to-text 모듈: STT 모듈은 광범위한 음성 데이터로 학습됩니다. 이 교육을 통해 모듈은 다양한 억양, 방언 및 음성 패턴을 정확하게 전사할 수 있으므로 다양한 사용자 시나리오에서 다재다능하고 신뢰할 수 있습니다.

텍스트 음성 변환 모듈: TTS 모듈의 경우 VITS(텍스트 음성 변환) 훈련을 위한 변형 추론을 활용합니다. BITS는 고품질의 자연스러운 음성을 생성하는 능력으로 유명합니다. 이 교육은 각 AI 캐릭터에 고유한 성격과 특성과 일치하는 특정 음성이 필요하기 때문에 플랫폼에 특히 중요합니다. VITS 모델을 사용하면 음성 합성에서 이러한 수준의 사용자 지정 및 품질을 사용할 수 있습니다.

모델을 학습시키기 전에 데이터 처리가 수행됩니다.

데이터 전처리에 사용되는 기술

  1. 형식 일관성: 모든 오디오 파일을 동일한 형식(WAV) 및 사양(22050Hz, 모노)으로 유지하면 일관성이 보장되며, 이는 기계 학습 모델이 최적의 성능을 발휘하는 데 필수적입니다. 일관되지 않은 오디오 형식은 입력 데이터의 변동으로 이어질 수 있으며, 이로 인해 모델이 혼란스러워지고 성능이 저하될 수 있습니다.

  2. 샘플링 속도 정규화(22050Hz): 샘플링 속도는 오디오 파일에 있는 초당 샘플 수를 결정합니다. 22050Hz와 같은 표준 샘플링 속도는 파일 크기를 관리할 수 있도록 유지하면서 사람 음성의 주파수 범위를 캡처하기에 충분하기 때문에 자주 사용됩니다. 또한 인간의 청력 범위의 대부분을 커버하는 최대 11025Hz의 모든 주파수를 캡처하기 위한 Nyquist 정리와 일치합니다.

  3. 모노 채널: 스테레오 또는 다중 채널 오디오 파일을 모노로 변환하면 모델이 단일 채널에서 학습하므로 학습 프로세스가 간소화됩니다.

샘플코드
import os
from pydub import AudioSegment

upload_dir = 'upload_dir'
output_dir = 'out'

# Ensure the output directory exists
os.makedirs(output_dir, exist_ok=True)

extensions = ['wav', 'mp3', 'ogg']

# Process all files in the upload directory
for filename in os.listdir(upload_dir):
    if any(filename.lower().endswith(ext) for ext in extensions):
        # Construct file paths
        file_path = os.path.join(upload_dir, filename)
        output_path = os.path.join(output_dir, os.path.splitext(filename)[0] + '.wav')

        # Load the audio file
        audio = AudioSegment.from_file(file_path)

        # Convert to WAV, 22050 Hz, mono
        audio = audio.set_frame_rate(22050).set_channels(1)

        # Export the processed audio
        audio.export(output_path, format='wav')

Voice Core에 기여하는 방법에 대해 자세히 알아보세요.

Last updated