本文为实现 WebSocket 将文本转换为语音并返回 Base64 数据给 Vue 客户端【干货】
在本文中,我们将构建一个简单的系统,该系统能够接收文本输入,通过 Microsoft Edge 的文本到语音服务(Edge TTS)转换为语音,并将生成的语音数据以 Base64 编码的形式通过 WebSocket 传输给 Vue 客户端。
后端: Python 3.10
WebSocket: Python 的 websockets 库
文本到语音: edge_tts 库
前端: Vue.js
步骤 1: 设置 Python 环境
首先,确保你的环境中安装了 Python 3.10。然后,安装所需的库:
pip install edge-tts websockets
步骤 2: 创建 WebSocket 服务器
我们将创建一个简单的 WebSocket 服务器,它将接收文本消息,使用 Edge TTS 转换为语音,并将结果以 Base64 编码的形式发送回客户端。
# server.py
async def tts_task(text, voice="zh-CN-YunxiNeural"):
base64_data = ""
memory_file = io.BytesIO()
try:
communicate = edge_tts.Communicate(text, voice)
async for chunk in communicate.stream():
if chunk["