'commit'
This commit is contained in:
45
TTS/T1_CloneVoice.py
Normal file
45
TTS/T1_CloneVoice.py
Normal file
@@ -0,0 +1,45 @@
|
||||
# coding=utf-8
|
||||
import os
|
||||
import sys
|
||||
|
||||
# 添加项目根目录到 sys.path 以便导入 Util
|
||||
root_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
||||
if root_dir not in sys.path:
|
||||
sys.path.append(root_dir)
|
||||
|
||||
from Util.AlyTtsKit import QwenTTSManager
|
||||
|
||||
# ======= 配置 =======
|
||||
# 用于声音复刻的音频文件
|
||||
VOICE_FILE_PATH = os.path.join(os.path.dirname(__file__), "少惠林.wav")
|
||||
|
||||
def main():
|
||||
"""
|
||||
T1: 声音复刻 (克隆)
|
||||
"""
|
||||
print('[T1] 启动声音复刻流程...')
|
||||
|
||||
if not os.path.exists(VOICE_FILE_PATH):
|
||||
print(f'[错误] 找不到录音文件: {VOICE_FILE_PATH}')
|
||||
print('请确保该目录下存在用于复刻的 wav 文件。')
|
||||
return
|
||||
|
||||
try:
|
||||
# 1. 初始化管理器
|
||||
tts_manager = QwenTTSManager()
|
||||
|
||||
# 2. 执行复刻
|
||||
print(f'[系统] 正在上传并复刻音频: {os.path.basename(VOICE_FILE_PATH)} ...')
|
||||
voice_id = tts_manager.create_voice_enrollment(VOICE_FILE_PATH)
|
||||
|
||||
print('\n' + '='*50)
|
||||
print(f' 声音复刻成功!')
|
||||
print(f' Voice ID: {voice_id}')
|
||||
print('='*50)
|
||||
print('\n请复制上面的 Voice ID,用于 T2_PlayVoice.py 进行播音测试。')
|
||||
|
||||
except Exception as e:
|
||||
print(f'[错误] 复刻过程中发生异常: {e}')
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
48
TTS/T2_PlayVoice.py
Normal file
48
TTS/T2_PlayVoice.py
Normal file
@@ -0,0 +1,48 @@
|
||||
# coding=utf-8
|
||||
import os
|
||||
import sys
|
||||
|
||||
# 添加项目根目录到 sys.path 以便导入 Util
|
||||
root_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
||||
if root_dir not in sys.path:
|
||||
sys.path.append(root_dir)
|
||||
|
||||
from Util.AlyTtsKit import QwenTTSManager
|
||||
|
||||
# ======= 配置 =======
|
||||
# 请在此处粘贴 T1_CloneVoice.py 生成的 Voice ID
|
||||
MY_VOICE_ID = "qwen-tts-vc-guanyu-voice-20260131160431051-8e51"
|
||||
|
||||
# 待合成播音的文本列表
|
||||
PLAY_TEXTS = [
|
||||
'您好,这是利用克隆完成的声音进行的播音测试。',
|
||||
'如果您能听到这段话,说明声音复刻和实时合成流程已经全部打通。',
|
||||
'这种模块化的拆分让调试变得更加简单了!'
|
||||
]
|
||||
|
||||
def main():
|
||||
"""
|
||||
T2: 播音测试
|
||||
"""
|
||||
print('[T2] 启动播音测试流程...')
|
||||
|
||||
if not MY_VOICE_ID or "请替换" in MY_VOICE_ID:
|
||||
print('[错误] 未检测到有效的 Voice ID。')
|
||||
print('请先运行 T1_CloneVoice.py 获取 ID,并修改本脚本中的 MY_VOICE_ID 变量。')
|
||||
return
|
||||
|
||||
try:
|
||||
# 1. 初始化管理器
|
||||
tts_manager = QwenTTSManager()
|
||||
|
||||
# 2. 执行播音
|
||||
print(f'[系统] 正在使用 Voice ID: {MY_VOICE_ID} 进行播音...')
|
||||
tts_manager.start_synthesis(MY_VOICE_ID, PLAY_TEXTS)
|
||||
|
||||
print('[系统] 播音测试完成。')
|
||||
|
||||
except Exception as e:
|
||||
print(f'[错误] 播音过程中发生异常: {e}')
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
@@ -1,57 +0,0 @@
|
||||
# coding=utf-8
|
||||
# Installation instructions for pyaudio:
|
||||
# CentOS
|
||||
# sudo yum install -y portaudio portaudio-devel && pip install pyaudio
|
||||
# Microsoft Windows
|
||||
# python -m pip install pyaudio
|
||||
|
||||
import os
|
||||
import sys
|
||||
|
||||
# 添加项目根目录到 sys.path 以便导入 Util
|
||||
root_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
||||
if root_dir not in sys.path:
|
||||
sys.path.append(root_dir)
|
||||
|
||||
from Util.AlyTtsKit import QwenTTSManager
|
||||
|
||||
# ======= 测试配置 =======
|
||||
VOICE_FILE_PATH = os.path.join(os.path.dirname(__file__), "voice.mp3")
|
||||
|
||||
def main():
|
||||
"""
|
||||
测试函数
|
||||
"""
|
||||
print('[系统] 启动 Qwen TTS 测试 (使用 AlyTtsKit)...')
|
||||
|
||||
# 待合成的文本
|
||||
test_texts = [
|
||||
'您好,我是您的 AI 助手。',
|
||||
'现在正在测试抽取到 Util 目录下的 AlyTtsKit 功能。',
|
||||
'希望这次重构能让代码更加模块化!'
|
||||
]
|
||||
|
||||
try:
|
||||
# 1. 初始化管理器
|
||||
tts_manager = QwenTTSManager()
|
||||
|
||||
# 2. 创建/获取音色
|
||||
if not os.path.exists(VOICE_FILE_PATH):
|
||||
print(f'[错误] 测试音频文件不存在: {VOICE_FILE_PATH}')
|
||||
return
|
||||
|
||||
print('[系统] 正在进行声音复刻...')
|
||||
voice_id = tts_manager.create_voice_enrollment(VOICE_FILE_PATH)
|
||||
print(f'[系统] 声音复刻成功,Voice ID: {voice_id}')
|
||||
|
||||
# 3. 执行合成并播放
|
||||
print('[系统] 开始语音合成...')
|
||||
tts_manager.start_synthesis(voice_id, test_texts)
|
||||
|
||||
print('[系统] 测试完成。')
|
||||
|
||||
except Exception as e:
|
||||
print(f'[系统] 发生错误: {e}')
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
BIN
TTS/少惠林.wav
Normal file
BIN
TTS/少惠林.wav
Normal file
Binary file not shown.
3
TTS/文档.md
Normal file
3
TTS/文档.md
Normal file
@@ -0,0 +1,3 @@
|
||||
录制音频
|
||||
https://www.audacityteam.org/download/
|
||||
https://c.biancheng.net/view/yb9mmfd.html
|
||||
BIN
Util/__pycache__/AlyTtsKit.cpython-310.pyc
Normal file
BIN
Util/__pycache__/AlyTtsKit.cpython-310.pyc
Normal file
Binary file not shown.
Reference in New Issue
Block a user