add start and end request on ws tts, test=doc

pull/1882/head
lym0302 2 years ago
parent d4f863dc97
commit b1f9b8016d

@ -33,7 +33,6 @@ from paddlespeech.cli.log import logger
from paddlespeech.server.utils.audio_handler import ASRWsAudioHandler from paddlespeech.server.utils.audio_handler import ASRWsAudioHandler
from paddlespeech.server.utils.audio_process import wav2pcm from paddlespeech.server.utils.audio_process import wav2pcm
from paddlespeech.server.utils.util import compute_delay from paddlespeech.server.utils.util import compute_delay
from paddlespeech.server.utils.util import network_reachable
from paddlespeech.server.utils.util import wav2base64 from paddlespeech.server.utils.util import wav2base64
__all__ = [ __all__ = [
@ -157,12 +156,6 @@ class TTSClientExecutor(BaseExecutor):
"save_path": output "save_path": output
} }
# Check if the network is reachable
network = 'http://' + server_ip + ":" + str(port)
if network_reachable(network) is not True:
logger.error(f"{network} unreachable, please check the ip address.")
sys.exit(-1)
res = requests.post(url, json.dumps(request)) res = requests.post(url, json.dumps(request))
response_dict = res.json() response_dict = res.json()
if output is not None: if output is not None:
@ -264,12 +257,6 @@ class TTSOnlineClientExecutor(BaseExecutor):
Python API to call an executor. Python API to call an executor.
""" """
# Check if the network is reachable
network = 'http://' + server_ip + ":" + str(port)
if network_reachable(network) is not True:
logger.error(f"{network} unreachable, please check the ip address.")
sys.exit(-1)
if protocol == "http": if protocol == "http":
logger.info("tts http client start") logger.info("tts http client start")
from paddlespeech.server.utils.audio_handler import TTSHttpHandler from paddlespeech.server.utils.audio_handler import TTSHttpHandler
@ -415,13 +402,6 @@ class ASRClientExecutor(BaseExecutor):
# and paddlespeech_client asr only support http protocol # and paddlespeech_client asr only support http protocol
protocol = "http" protocol = "http"
if protocol.lower() == "http": if protocol.lower() == "http":
# Check if the network is reachable
network = 'http://' + server_ip + ":" + str(port)
if network_reachable(network) is not True:
logger.error(
f"{network} unreachable, please check the ip address.")
sys.exit(-1)
from paddlespeech.server.utils.audio_handler import ASRHttpHandler from paddlespeech.server.utils.audio_handler import ASRHttpHandler
logger.info("asr http client start") logger.info("asr http client start")
handler = ASRHttpHandler(server_ip=server_ip, port=port) handler = ASRHttpHandler(server_ip=server_ip, port=port)
@ -527,12 +507,6 @@ class ASROnlineClientExecutor(BaseExecutor):
str: the audio text str: the audio text
""" """
# Check if the network is reachable
network = 'http://' + server_ip + ":" + str(port)
if network_reachable(network) is not True:
logger.error(f"{network} unreachable, please check the ip address.")
sys.exit(-1)
logger.info("asr websocket client start") logger.info("asr websocket client start")
handler = ASRWsAudioHandler( handler = ASRWsAudioHandler(
server_ip, server_ip,
@ -598,12 +572,6 @@ class CLSClientExecutor(BaseExecutor):
Python API to call an executor. Python API to call an executor.
""" """
# Check if the network is reachable
network = 'http://' + server_ip + ":" + str(port)
if network_reachable(network) is not True:
logger.error(f"{network} unreachable, please check the ip address.")
sys.exit(-1)
url = 'http://' + server_ip + ":" + str(port) + '/paddlespeech/cls' url = 'http://' + server_ip + ":" + str(port) + '/paddlespeech/cls'
audio = wav2base64(input) audio = wav2base64(input)
data = {"audio": audio, "topk": topk} data = {"audio": audio, "topk": topk}
@ -669,12 +637,6 @@ class TextClientExecutor(BaseExecutor):
str: the punctuation text str: the punctuation text
""" """
# Check if the network is reachable
network = 'http://' + server_ip + ":" + str(port)
if network_reachable(network) is not True:
logger.error(f"{network} unreachable, please check the ip address.")
sys.exit(-1)
url = 'http://' + server_ip + ":" + str(port) + '/paddlespeech/text' url = 'http://' + server_ip + ":" + str(port) + '/paddlespeech/text'
request = { request = {
"text": input, "text": input,
@ -772,12 +734,6 @@ class VectorClientExecutor(BaseExecutor):
str: the audio embedding or score between enroll and test audio str: the audio embedding or score between enroll and test audio
""" """
# Check if the network is reachable
network = 'http://' + server_ip + ":" + str(port)
if network_reachable(network) is not True:
logger.error(f"{network} unreachable, please check the ip address.")
sys.exit(-1)
if task == "spk": if task == "spk":
from paddlespeech.server.utils.audio_handler import VectorHttpHandler from paddlespeech.server.utils.audio_handler import VectorHttpHandler
logger.info("vector http client start") logger.info("vector http client start")

@ -13,8 +13,6 @@
import base64 import base64
import math import math
import requests
def wav2base64(wav_file: str): def wav2base64(wav_file: str):
""" """
@ -148,21 +146,3 @@ def count_engine(logfile: str="./nohup.out"):
print( print(
f"max final response: {max(final_response_list)} s, min final response: {min(final_response_list)} s" f"max final response: {max(final_response_list)} s, min final response: {min(final_response_list)} s"
) )
def network_reachable(url: str, timeout: int=5) -> bool:
"""Check if the network is reachable
Args:
url (str): http://server_ip:port or ws://server_ip:port
timeout (int, optional): timeout. Defaults to 5.
Returns:
bool: Whether the network is reachable.
"""
try:
request = requests.get(url, timeout=timeout)
return True
except (requests.ConnectionError, requests.Timeout) as exception:
print(exception)
return False

@ -68,6 +68,10 @@ async def websocket_endpoint(websocket: WebSocket):
"session": session "session": session
} }
await websocket.send_json(resp) await websocket.send_json(resp)
break
else:
resp = {"status": 0, "signal": "no valid json data"}
await websocket.send_json(resp)
# speech synthesis request # speech synthesis request
elif 'text' in message: elif 'text' in message:
@ -83,10 +87,12 @@ async def websocket_endpoint(websocket: WebSocket):
resp = {"status": 1, "audio": tts_results} resp = {"status": 1, "audio": tts_results}
await websocket.send_json(resp) await websocket.send_json(resp)
except StopIteration as e: except StopIteration as e:
import pdb
pdb.set_trace()
resp = {"status": 2, "audio": ''} resp = {"status": 2, "audio": ''}
await websocket.send_json(resp) await websocket.send_json(resp)
logger.info( logger.info(
"Complete the transmission of audio streams") "Complete the synthesis of the audio streams")
break break
else: else:

Loading…
Cancel
Save