Vibevoice에 대한 초보자 안내서 -Kdnuggets

Vibevoice에 대한 초보자 안내서 -Kdnuggets

vibevoice에 대한 초보자 안내서vibevoice에 대한 초보자 안내서
저자의 이미지 | 캔버

소개

오픈 소스 AI는 중요한 순간을 경험하고 있습니다. 대규모 언어 모델, 일반 기계 학습 및 현재 음성 기술의 발전으로 오픈 소스 모델은 독점 시스템으로 격차를 빠르게 좁히고 있습니다. 이 공간에서 가장 흥미로운 참가자 중 하나는 Microsoft의 오픈 소스 음성 스택 인 Vibevoice입니다. 이 모델 패밀리는 자연스럽고 표현력이 풍부하며 대화식 대화를 위해 설계되어 최고급 상업용 제품의 품질과 경쟁합니다.

이 기사에서는 GPU 런타임을 사용하여 Vibevoice를 탐색하고 모델을 다운로드하며 Google Colab에서 추론을 실행합니다. 또한 모델 추론을 실행하는 동안 발생할 수있는 일반적인 문제 해결 문제를 해결합니다.

vibevoice 소개

vibevoice 팟 캐스트 및 대화와 같은 표현적이고 긴 형식의 멀티 스피커 오디오를 만들기위한 차세대 텍스트 음성 (TTS) 프레임 워크입니다. 전통적인 TT와 달리 확장 성, 스피커 일관성 및 자연적인 턴 테이크가 탁월합니다.

핵심 혁신은 7.5Hz에서 작동하는 지속적인 음향 및 시맨틱 토큰 화제에 있으며, 대형 언어 모델 (QWEN2.5-1.5B)과 고 충실도 오디오를 생성하기위한 확산 헤드와 쌍을 이룹니다. 이 디자인을 통해 4 개의 별개의 스피커와 최대 90 분의 음성이 있으며 이전 시스템을 능가합니다.

Vibevoice는 오픈 소스 모델로 제공됩니다 포옹 얼굴쉬운 실험 및 사용을 위해 커뮤니티 관리 코드를 사용합니다.

vibevoice에 대한 초보자 안내서vibevoice에 대한 초보자 안내서vibevoice의 이미지

vibevoice-1.5b로 시작하는 것

이 안내서에서는 Vibevoice 저장소를 복제하고 텍스트 파일을 제공하여 멀티 스피커 자연 스피치를 생성하여 데모를 실행하는 방법을 배웁니다. 설정부터 오디오 생성에 이르기까지 약 5 분 밖에 걸리지 않습니다.

// 1. 커뮤니티 저장소를 복제하고 설치하십시오

먼저 Vibevoice 저장소 (Vibevoice-Community/Vibevoice)의 커뮤니티 버전을 복제하고 필요한 Python 패키지를 설치하고 설치하십시오. 포옹 페이스 허브 Python API를 사용하여 모델을 다운로드하는 라이브러리.

메모: Colab 세션을 시작하기 전에 런타임 유형이 T4 GPU로 설정되어 있는지 확인하십시오.

!git clone -q --depth 1  /content/VibeVoice
%pip install -q -e /content/VibeVoice
%pip install -q -U huggingface_hub

// 2. 포옹 얼굴에서 모델 스냅 샷을 다운로드하십시오

Hugging Face Snapshot API를 사용하여 모델 저장소를 다운로드하십시오. 이것은 모든 파일을 다운로드합니다 microsoft/VibeVoice-1.5B 저장소.

from huggingface_hub import snapshot_download
snapshot_download(
    "microsoft/VibeVoice-1.5B",
    local_dir="/content/models/VibeVoice-1.5B",
    local_dir_use_symlinks=False
)

// 3. 스피커로 전사를 만듭니다

Google Colab 내에서 텍스트 파일을 만들 것입니다. 이를 위해 우리는 마법 기능을 사용할 것입니다 %%writefile 내용을 제공합니다. 아래는 Kdnuggets에 대한 두 스피커 간의 샘플 대화입니다.

%%writefile /content/my_transcript.txt
Speaker 1: Have you read the latest article on KDnuggets?
Speaker 2: Yes, it's one of the best resources for data science and AI.
Speaker 1: I like how KDnuggets always keeps up with the latest trends.
Speaker 2: Absolutely, it's a go-to platform for anyone in the AI community.

// 4. 실행 추론 (멀티 스피커)

이제 Vibevoice 저장소 내에서 데모 파이썬 스크립트를 실행합니다. 스크립트에는 모델 경로, 텍스트 파일 경로 및 스피커 이름이 필요합니다.

실행 #1 :지도 스피커 1 → 앨리스, 스피커 2 → 프랭크

!python /content/VibeVoice/demo/inference_from_file.py \
  --model_path /content/models/VibeVoice-1.5B \
  --txt_path /content/my_transcript.txt \
  --speaker_names Alice Frank

결과적으로 다음 출력이 표시됩니다. 이 모델은 Cuda를 사용하여 오디오를 생성하고 Frank와 Alice는 두 스피커로 사용됩니다. 또한 분석에 사용할 수있는 요약도 제공합니다.

Using device: cuda
Found 9 voice files in /content/VibeVoice/demo/voices
Available voices: en-Alice_woman, en-Carter_man, en-Frank_man, en-Mary_woman_bgm, en-Maya_woman, in-Samuel_man, zh-Anchen_man_bgm, zh-Bowen_man, zh-Xinran_woman
Reading script from: /content/my_transcript.txt
Found 4 speaker segments:
  1. Speaker 1
     Text preview: Speaker 1: Have you read the latest article on KDnuggets?...
  2. Speaker 2
     Text preview: Speaker 2: Yes, it's one of the best resources for data science and AI....
  3. Speaker 1
     Text preview: Speaker 1: I like how KDnuggets always keeps up with the latest trends....
  4. Speaker 2
     Text preview: Speaker 2: Absolutely, it's a go-to platform for anyone in the AI community....

Speaker mapping:
  Speaker 2 -> Frank
  Speaker 1 -> Alice
Speaker 1 ('Alice') -> Voice: en-Alice_woman.wav
Speaker 2 ('Frank') -> Voice: en-Frank_man.wav
Loading processor & model from /content/models/VibeVoice-1.5B
==================================================
GENERATION SUMMARY
==================================================
Input file: /content/my_transcript.txt
Output file: ./outputs/my_transcript_generated.wav
Speaker names: ['Alice', 'Frank']
Number of unique speakers: 2
Number of segments: 4
Prefilling tokens: 368
Generated tokens: 118
Total tokens: 486
Generation time: 28.27 seconds
Audio duration: 15.47 seconds
RTF (Real Time Factor): 1.83x
==================================================

노트북에서 오디오 재생 :

이제 ipython 기능을 사용하여 Colab 내에서 생성 된 오디오를들을 것입니다.

from IPython.display import Audio, display
out_path = "/content/outputs/my_transcript_generated.wav"
display(Audio(out_path))

vibevoice에 대한 초보자 안내서vibevoice에 대한 초보자 안내서

오디오를 생성하는 데 28 초가 걸렸으며 명확하고 자연스럽고 매끄럽게 들립니다. 나는 그것을 좋아한다!

다른 성우와 함께 다시 시도하십시오.

실행 #2 : 다른 목소리를 시도해

!python /content/VibeVoice/demo/inference_from_file.py \
  --model_path /content/models/VibeVoice-1.5B \
  --txt_path /content/my_transcript.txt \
  --speaker_names Mary Carter

처음에는 배경 음악과 스피커 간의 원활한 전환으로 생성 된 오디오가 더 좋았습니다.

Found 9 voice files in /content/VibeVoice/demo/voices
Available voices: en-Alice_woman, en-Carter_man, en-Frank_man, en-Mary_woman_bgm, en-Maya_woman, in-Samuel_man, zh-Anchen_man_bgm, zh-Bowen_man, zh-Xinran_woman
Reading script from: /content/my_transcript.txt
Found 4 speaker segments:
  1. Speaker 1
     Text preview: Speaker 1: Have you read the latest article on KDnuggets?...
  2. Speaker 2
     Text preview: Speaker 2: Yes, it's one of the best resources for data science and AI....
  3. Speaker 1
     Text preview: Speaker 1: I like how KDnuggets always keeps up with the latest trends....
  4. Speaker 2
     Text preview: Speaker 2: Absolutely, it's a go-to platform for anyone in the AI community....

Speaker mapping:
  Speaker 2 -> Carter
  Speaker 1 -> Mary
Speaker 1 ('Mary') -> Voice: en-Mary_woman_bgm.wav
Speaker 2 ('Carter') -> Voice: en-Carter_man.wav
Loading processor & model from /content/models/VibeVoice-1.5B

팁: 어떤 이름을 사용할 수 있는지 확실하지 않은 경우 스크립트는 시작시 “사용 가능한 Voices :”를 인쇄합니다.

일반적인 것들은 다음과 같습니다.

en-Alice_woman, en-Carter_man, en-Frank_man, en-Mary_woman_bgm, en-Maya_woman, in-Samuel_man, zh-Anchen_man_bgm, zh-Bowen_man, zh-Xinran_woman

문제 해결

// 1. Repo에는 데모 스크립트가 없습니까?

공식 Microsoft Vibevoice 저장소가 가져 와서 재설정되었습니다. 커뮤니티 보고서에 따르면 일부 코드와 데모가 제거되었거나 더 이상 원래 위치에서 액세스 할 수 없습니다. 공식 저장소에 추론 예제가없는 경우 원래 데모 및 지침을 보존 한 커뮤니티 미러 또는 아카이브를 확인하십시오.

// 2. Colab의 느린 생성 또는 CUDA 오류

GPU 런타임에 있는지 확인하십시오 : 런타임 → 런타임 유형 변경 → 하드웨어 가속기 : GPU (T4 또는 사용 가능한 GPU).

// 3. Cuda Oom (기억 밖)

부하를 최소화하기 위해 여러 단계를 수행 할 수 있습니다. 입력 텍스트를 단축하고 생성 길이를 줄이면서 시작하십시오. 스크립트가 허용되는 경우 오디오 샘플 속도를 낮추거나 내부 청크 크기 조정을 고려하십시오. 배치 크기를 1로 설정하고 더 작은 모델 변형을 선택하십시오.

// 4. 오디오 또는 누락 된 출력 폴더가 없습니다

스크립트는 일반적으로 콘솔의 최종 출력 경로를 인쇄합니다. 정확한 위치를 찾으려면 위로 스크롤하십시오

find /content -name "*generated.wav"

// 5. 음성 이름을 찾을 수 없습니까?

사용 가능한 목소리 아래에 나열된 정확한 이름을 복사하십시오. 데모에 표시된 별칭 이름 (Alice, Frank, Mary, Carter)을 사용하십시오. 그들은 .wav 자산.

최종 생각

많은 프로젝트의 경우 몇 가지 강력한 이유로 인해 유료 API보다 Vibevoice와 같은 오픈 소스 스택을 선택할 것입니다. 무엇보다도 통합하기 쉽고 사용자 정의를위한 유연성을 제공하여 광범위한 응용 프로그램에 적합합니다. 또한 GPU 요구 사항에 놀랍게도 자원으로 제한된 환경에서 중요한 이점이 될 수 있습니다.

Vibevoice는 오픈 소스입니다. 즉, 미래에 CPU에서도 더 빠른 생성을 가능하게하는 더 나은 프레임 워크를 기대할 수 있습니다.

Abid Ali Awan (@1abidaliawan)은 기계 학습 모델 구축을 좋아하는 공인 데이터 과학자입니다. 현재 그는 컨텐츠 제작 및 기계 학습 및 데이터 과학 기술에 대한 기술 블로그 작성에 중점을두고 있습니다. Abid는 기술 관리 석사 학위와 통신 공학 학사 학위를 취득했습니다. 그의 비전은 정신 질환으로 어려움을 겪고있는 학생들을위한 그래프 신경망을 사용하여 AI 제품을 구축하는 것입니다.

출처 참조

Post Comment

당신은 놓쳤을 수도 있습니다