소개
- 이 프로젝트의 목적은 얼굴 표현 데이터를 동기식으로 생성하는 것과 같은 Bert-Vits2의 사용 경계를 확장하는 것입니다.
- 효과를 참조하십시오
- 데모 빌리 빌리 유튜브
- Audio2Photoreal-> metahuman이있는 tts
- 노래로부터 이모티콘 테스트를 생성합니다. Azure TTS와 대화 할 때 이모티콘의 비교
- TTS는 MotionGpt가 장착 된 이모티콘 첫 버전을 생성했습니다
cosyvoice로 확장하십시오
GPT-Sovits로 확장되었습니다
- GPT-Sovits 발현 테스트
- GPT-Sovits에서 직접 재교육을 받으면 실제 테스트 결과는 비교적 나쁩니다.
- 임시 방법은 Bert-Vits2-EXT에서 테스트를 위해 GPT-Sovits로 후방 부분 및 발현 생성 부품 모델을 직접 복사하는 것입니다.
- 이로 인해 반복적 인 계산과 더 많은 예측이 발생합니다
TTS
TTS 코드는 Bert-Vits2 v2.3 최종 릴리스에서 시작되었습니다 [2023 년 12 월 20 일]
- https://github.com/fishaudio/bert-vits2/commit/7ebc1aa28a055608f7e31da93928cf295fdffeba
테스트 후, 나는 개인적으로 순수한 중국 재료 2.1-2.3의 훈련 효과가 1.0의 훈련 효과보다 약간 더 나쁘다고 생각합니다. 버전을 줄이거 나 순수한 중국어와 혼합하는 것을 고려할 수 있습니다.
TTS 자체의 훈련 방법은 원본 텍스트에 표시됩니다 (각 버전은 다릅니다)
- 권장 버전 1.0 https://github.com/yyux-1145/bert-vits2-integration-package
TTS 동기 출력 이모티콘
아이디어
- VITS 용지의 네트워크 구조 다이어그램 (Bert-Vits2가 아니라 일반 구조는 동일)을 참조하고 텍스트 인코딩 및 변환 후 숨겨진 변수 Z를 얻고 해독하기 전에 바이 패스에서 표현식 값을 출력하십시오 (Live Link 액면가).
- 원래 네트워크의 매개 변수를 동결하고 LSTM 및 MLP 처리를 별도로 추가하고 z-to-expression의 SEQ2SEQ 생성 및 매핑을 완료하십시오.
- 물론 고품질 표현식 데이터가있는 경우, 표현식은 원래 TTS 네트워크 교육에 추가 될 수 있으며, 이는 오디오 품질을 향상시켜야합니다.

데이터 수집
- 라이브 링크 얼굴의 대상을 기본 IP로 설정하고 포트 기본값을 11111로 설정합니다.
- 라이브 링크에 의해 출력 음성 및 해당 표현식 값을 동기로 수집하여 각각 레코드 폴더에 저장하십시오.
- 매번 20 초 동안 스크립트 컬렉션을 실행하십시오
- 오디오 기본값은 44100 Hz로 나타납니다
- 오디오 및 표현 수집이 상쇄 될 수 있습니다
- 동일한 데이터 소스에 대한 최적의 오프셋 위치를 찾기 위해 설정 세트의 손실 비교
python ./motion/record.py
데이터가 정상인지 확인하십시오
테스트 데이터
- 기록 된 BS 데이터를 라이브 링크를 통해 UE의 Metahuman에 보내고 동기식으로 음성을 재생하고 일치하는지 확인하십시오.
python ./motion/tts2ue.py --bs_npy_file ./records/2023-12-23-17-19-54.npy --wav_file ./records/2023-12-23-17-19-54.wav --fps 60
데이터 전처리
- 레코드의 모든 오디오 파일을 읽고, 후방 인코더를 사용하여 오디오로 인코딩 된 숨겨진 변수 z를 *.z.npy에 저장하십시오.
- 교육 및 확인을 위해 파일 목록에 쓰기
- fileslists/val_visemes.list
- fileslists/train_visemes.list
python ./motion/prepare_visemes.py
기차
- Mainnet의 교육을 구별하기 위해 train_ms.py 후 -visemes 추가
python train_ms.py -m OUTPUT_MODEL --config ./configs/config.json --visemes
추리
- webui.py가 실행되면 출력 오디오, 숨겨진 변수 및 애니메이션 데이터가 현재 디렉토리에 기록됩니다. tts2ue.py를 사용하여 생성 된 효과를 볼 수 있습니다
- 생성 된 애니메이션의 기본 FPS는 숨겨진 변수 86.1328125와 동일합니다.
- 44100/86.1328125 = 512, 단지 분할 가능, 이것은 Bert-Vits2 오디오 샘플링 주파수, 네트워크 구조 및 hidden_channels에 의해 결정됩니다.
python ./motion/tts2ue.py --bs_npy_file ./tmp.npy --wav_file ./tmp.wav --delay_ms 700
표현에 대한 목소리
- 후방 인코더를 사용하여 사운드를 z로 변환 한 다음 z를 표현식으로 변환하십시오.
- 오디오를 44100Hz WAV 파일로 변환해야하며 하나의 채널 만 유지됩니다 (FFMPEG)
# 音频截取转换
ffmpeg -i input_file -ss 00:00:00 -t 00:00:10 -ar 44100 -f wav test.wav
# 保留通道1
ffmpeg -i test.wav -map_channel 0.0.0 output.wav
python ./motion/wav_to_visemes.py output.wav
바디 애니메이션
MotionGpt
- 음성 및 표현을 사용하면 LLM Drive에서 일치하는 액션 설명을 생성 한 다음 텍스트 To Motion 모델을 사용하여 음성 내용과 일치하는 바디 애니메이션을 생성하고 장면 및 기타와 상호 작용할 수도 있습니다.
- 모션 테스트 텍스트에 사용되는 프로젝트는 MotionGpt입니다.
- 아직 애니메이션 초과 처리가 수행되지 않았습니다. 중간의 움직임은 소개 모델에 의해 지원됩니다.
- MotionGpt가 사용하는 FLAN-T5-BASE는 중국어를 이해할 수 없으므로 말하기 텍스트와 동기화 높은 애니메이션을 생성 할 수 없습니다 (단어 순서는 영어로 번역 한 후 다소 변경됨).
- 행동 생성을 안내하기 위해 말하기 텍스트 또는 숨겨진 변수 z를 사용할 수 있는지 여부는 아직 알려지지 않았습니다.
- MotionGpt는 뼈 위치를 출력하며 UE의 골격 애니메이션에 직접 연결할 수 없습니다.
- 현재 단순화 된 방법은 이동 값을 추정하는 데 사용되며 상당한 위치 손실이 있습니다.
- 부모 노드에 대한 뼈의 회전량 변화를 계산합니다 (쿼터니온).
- OSC 프로토콜을 통해 VMCTOMOP 프로그램으로 보내고 애니메이션을 미리보고 프로토콜 변환을 수행하십시오.
- MOP 플러그인의 도움으로 MOP 데이터를 Metahuman에지도
Audio2Photoreal
- 웹 인터페이스 추론 중에 원래 프로젝트를 기반으로 애니메이션 데이터를 로컬 파일로 내보내는 원래 프로젝트를 기반으로 수정하십시오.
- 수출 프로세스
- 코드 https://github.com/see2023/audio2photoreal
Bert-vits2 원본 진술
다국어 버트가있는 VITS2 백본
빠른 가이드는 webui_preprocess.py 를 참조하십시오.
간단한 튜토리얼은 webui_preprocess.py 참조하십시오.
이 프로젝트의 핵심 아이디어는 Anyvoiceai/Masstts에서 매우 좋은 TTS 프로젝트에서 비롯됩니다.
Feng GE의 AI 버전에 대한 Masstts의 데모 데모와 황금 삼각형에서 잃어버린 허리를 되찾았습니다.
성숙한 여행자/트레일 블레이저/캡틴/닥터/Sensei/Wormurhunter/Meowloon/V는 자신을 훈련시키는 방법을 배우려면 코드를 참조해야합니다.
중화 인민 공화국 헌법, 중국 인민 공화국 형법, 중국 인민 공화국의 처벌법 및 중화 민법을 위반하는 모든 목적 으로이 프로젝트를 사용하는 것은 엄격히 금지되어 있습니다.
그것은 정치적으로 관련된 목적으로 엄격하게 금지되어 있습니다.
비디오 : https : //www.bilibili.com/video/bv1hp4y1k78e
데모 : https://www.bilibili.com/video/bv1tf411k78w
참조
- anyvoiceai/masstts
- jaywalnut310/vits
- P0P4K/VITS2_PYTORCH
- SVC-Develop-Team/So-Vits-SVC
- 패들 라디/패들 레스피
- 정서적 발전
- 어류 연설
- Bert-vits2-UI
그들의 노력에 대한 모든 기고자들에게 감사합니다