paddlespeech安装:
PaddleSpeech/demos/streaming_asr_server/README.md at develop · PaddlePaddle/PaddleSpeech · GitHubl
asr服务端:
from paddlespeech.server.bin.paddlespeech_server import ServerExecutor
server_executor = ServerExecutor()
server_executor(
config_file="./conf/ws_conformer_wenetspeech_application_faster.yaml",
log_file="./log/paddlespeech.log")
asr客户端:
import asyncio
import json
import websockets
async def connect_to_server():
server = "your_server_ip"
port = "your_port"
url = f"ws://{server}:{port}/paddlespeech/asr/streaming"
async with websockets.connect(url) as websocket:
print("Connected to server.")
# 发送开始信号
start_signal = {
"name": "test.wav",
"signal": "start",
"nbest": 1
}
await websocket.send(json.dumps(start_signal))
print("Start signal sent.")
# 读取音频数据流并发送给服务器
with open("your_audio_file.wav", "rb") as audio_file:
while True:
audio_chunk = audio_file.read(4096)
if not audio_chunk:
break
await websocket.send(audio_chunk)
print("Audio data sent.")
# 接收解码结果
result = await websocket.recv()
print("Recognition result:", result)
# 发送结束信号
end_signal = {
"name": "test.wav",
"signal": "end",
"nbest": 1
}
await websocket.send(json.dumps(end_signal))
print("End signal sent.")
asyncio.run(connect_to_server())