From 20a4bccc397b005c16a77a06207f8cad07e35d33 Mon Sep 17 00:00:00 2001 From: WilliamZhang06 Date: Wed, 26 Jan 2022 20:36:09 +0800 Subject: [PATCH 1/5] added engine other works, test=server --- speechserving/speechserving/bin/main.py | 30 ---------------- .../speechserving/bin/paddlespeech-client.py | 30 ---------------- .../speechserving/bin/paddlespeech-server.py | 30 ---------------- .../speechserving/conf/application.yaml | 6 ++++ speechserving/speechserving/conf/asr/asr.yaml | 5 +++ speechserving/speechserving/conf/tts/tts.yaml | 0 .../engine/asr/python/asr_engine.py | 20 ++++------- .../speechserving/engine/engine_factory.py | 25 +++++++++++++ speechserving/speechserving/main.py | 31 ++++++++-------- speechserving/speechserving/restful/api.py | 16 +++++++-- .../speechserving/restful/asr_api.py | 5 ++- speechserving/speechserving/utils/config.py | 30 ++++++++++++++++ speechserving/speechserving/utils/util.py | 35 +++++++++++++++++++ 13 files changed, 139 insertions(+), 124 deletions(-) create mode 100644 speechserving/speechserving/conf/tts/tts.yaml create mode 100644 speechserving/speechserving/engine/engine_factory.py create mode 100644 speechserving/speechserving/utils/config.py create mode 100644 speechserving/speechserving/utils/util.py diff --git a/speechserving/speechserving/bin/main.py b/speechserving/speechserving/bin/main.py index c5167dd4..97043fd7 100644 --- a/speechserving/speechserving/bin/main.py +++ b/speechserving/speechserving/bin/main.py @@ -11,33 +11,3 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. -import argparse - - -def init(args): - """ 系统初始化 - """ - - -def main(args): - """主程序入口""" - - if init(args): - app.run(host='0.0.0.0', port=conf.port) - - -if __name__ == "__main__": - parser = argparse.ArgumentParser() - parser.add_argument( - "--config_file", - action="store", - help="yaml file of the app", - default="./conf/application.yaml") - parser.add_argument( - "--log_file", - action="store", - help="log file", - default="./log/paddlespeech.log") - args = parser.parse_args() - - main(args) diff --git a/speechserving/speechserving/bin/paddlespeech-client.py b/speechserving/speechserving/bin/paddlespeech-client.py index c5167dd4..97043fd7 100644 --- a/speechserving/speechserving/bin/paddlespeech-client.py +++ b/speechserving/speechserving/bin/paddlespeech-client.py @@ -11,33 +11,3 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. -import argparse - - -def init(args): - """ 系统初始化 - """ - - -def main(args): - """主程序入口""" - - if init(args): - app.run(host='0.0.0.0', port=conf.port) - - -if __name__ == "__main__": - parser = argparse.ArgumentParser() - parser.add_argument( - "--config_file", - action="store", - help="yaml file of the app", - default="./conf/application.yaml") - parser.add_argument( - "--log_file", - action="store", - help="log file", - default="./log/paddlespeech.log") - args = parser.parse_args() - - main(args) diff --git a/speechserving/speechserving/bin/paddlespeech-server.py b/speechserving/speechserving/bin/paddlespeech-server.py index c5167dd4..97043fd7 100644 --- a/speechserving/speechserving/bin/paddlespeech-server.py +++ b/speechserving/speechserving/bin/paddlespeech-server.py @@ -11,33 +11,3 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. -import argparse - - -def init(args): - """ 系统初始化 - """ - - -def main(args): - """主程序入口""" - - if init(args): - app.run(host='0.0.0.0', port=conf.port) - - -if __name__ == "__main__": - parser = argparse.ArgumentParser() - parser.add_argument( - "--config_file", - action="store", - help="yaml file of the app", - default="./conf/application.yaml") - parser.add_argument( - "--log_file", - action="store", - help="log file", - default="./log/paddlespeech.log") - args = parser.parse_args() - - main(args) diff --git a/speechserving/speechserving/conf/application.yaml b/speechserving/speechserving/conf/application.yaml index 358a76dc..29b40b15 100644 --- a/speechserving/speechserving/conf/application.yaml +++ b/speechserving/speechserving/conf/application.yaml @@ -6,3 +6,9 @@ host: '0.0.0.0' port: 8090 +################################################################## +# CONFIG FILE # +################################################################## +# add engine type (Options: asr, tts) and config file here. +engine_backend: + asr: 'conf/asr/asr.yaml' \ No newline at end of file diff --git a/speechserving/speechserving/conf/asr/asr.yaml b/speechserving/speechserving/conf/asr/asr.yaml index e69de29b..87405155 100644 --- a/speechserving/speechserving/conf/asr/asr.yaml +++ b/speechserving/speechserving/conf/asr/asr.yaml @@ -0,0 +1,5 @@ +model: 'conformer_wenetspeech' +lang: 'conformer_wenetspeech' +lang: 'zh' +sample_rate: 16000 +decode_method: 'attention_rescoring' diff --git a/speechserving/speechserving/conf/tts/tts.yaml b/speechserving/speechserving/conf/tts/tts.yaml new file mode 100644 index 00000000..e69de29b diff --git a/speechserving/speechserving/engine/asr/python/asr_engine.py b/speechserving/speechserving/engine/asr/python/asr_engine.py index 6bd8b616..8dbc7a3e 100644 --- a/speechserving/speechserving/engine/asr/python/asr_engine.py +++ b/speechserving/speechserving/engine/asr/python/asr_engine.py @@ -14,18 +14,21 @@ from engine.base_engine import BaseEngine from utils.log import logger +from utils.config import get_config __all__ = ['ASREngine'] class ASREngine(BaseEngine): - def __init__(self, name=None): + def __init__(self): super(ASREngine, self).__init__() - self.executor = name + + def init(self, config_file: str): + self.config_file = config_file + self.executor = None self.input = None self.output = None - - def init(self): + config = get_config(self.config_file) pass def postprocess(self): @@ -34,12 +37,3 @@ class ASREngine(BaseEngine): def run(self): logger.info("start run asr engine") return "hello world" - - -if __name__ == "__main__": - # test Singleton - class1 = ASREngine("ASREngine") - class2 = ASREngine() - print(class1 is class2) - print(id(class1)) - print(id(class2)) diff --git a/speechserving/speechserving/engine/engine_factory.py b/speechserving/speechserving/engine/engine_factory.py new file mode 100644 index 00000000..64104405 --- /dev/null +++ b/speechserving/speechserving/engine/engine_factory.py @@ -0,0 +1,25 @@ +# Copyright (c) 2022 PaddlePaddle Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +from engine.asr.python.asr_engine import ASREngine + + +class EngineFactory(object): + @staticmethod + def get_engine(engine_name): + if engine_name == 'asr': + return ASREngine() + elif engine_name == 'tts': + return None + else: + return None diff --git a/speechserving/speechserving/main.py b/speechserving/speechserving/main.py index 8374b291..4cc1403f 100644 --- a/speechserving/speechserving/main.py +++ b/speechserving/speechserving/main.py @@ -12,41 +12,42 @@ # See the License for the specific language governing permissions and # limitations under the License. import argparse - import uvicorn import yaml -from engine.asr.python.asr_engine import ASREngine from fastapi import FastAPI -from restful.api import router as api_router +from restful.api import setup_router from utils.log import logger +from utils.config import get_config +from engine.engine_factory import EngineFactory app = FastAPI( title="PaddleSpeech Serving API", description="Api", version="0.0.1") -def init(args): - """ 系统初始化 +def init(config): + """ system initialization """ + # init api + api_list = list(config.engine_backend) + api_router = setup_router(api_list) app.include_router(api_router) - # engine single - ASR_ENGINE = ASREngine("asr") - - # todo others + # init engine + engine_list = [] + for engine in config.engine_backend: + engine_list.append(EngineFactory.get_engine(engine_name=engine)) + engine_list[-1].init(config_file=config.engine_backend[engine]) return True def main(args): - """主程序入口""" + """main function""" - #TODO configuration - from yacs.config import CfgNode - with open(args.config_file, 'rt') as f: - config = CfgNode(yaml.safe_load(f)) + config = get_config(args.config_file) - if init(args): + if init(config): uvicorn.run(app, host=config.host, port=config.port, debug=True) diff --git a/speechserving/speechserving/restful/api.py b/speechserving/speechserving/restful/api.py index dc309fab..6db8c79a 100644 --- a/speechserving/speechserving/restful/api.py +++ b/speechserving/speechserving/restful/api.py @@ -16,6 +16,16 @@ from fastapi import APIRouter from .asr_api import router as asr_router from .tts_api import router as tts_router -router = APIRouter() -router.include_router(asr_router) -router.include_router(tts_router) +_router = APIRouter() + +def setup_router(api_list: list): + + for api_name in api_list: + if api_name == 'asr': + _router.include_router(asr_router) + elif api_name == 'tts': + _router.include_router(tts_router) + else: + pass + + return _router \ No newline at end of file diff --git a/speechserving/speechserving/restful/asr_api.py b/speechserving/speechserving/restful/asr_api.py index eb335e09..9d97b380 100644 --- a/speechserving/speechserving/restful/asr_api.py +++ b/speechserving/speechserving/restful/asr_api.py @@ -14,13 +14,12 @@ from fastapi import APIRouter import base64 - from engine.asr.python.asr_engine import ASREngine from .response import ASRResponse from .request import ASRRequest -router = APIRouter() +router = APIRouter() @router.get('/paddlespeech/asr/help') def help(): @@ -44,8 +43,8 @@ def asr(request_body: ASRRequest): """ # single asr_engine = ASREngine() + print("asr_engine id :" ,id(asr_engine)) - asr_engine.init() asr_results = asr_engine.run() asr_engine.postprocess() diff --git a/speechserving/speechserving/utils/config.py b/speechserving/speechserving/utils/config.py new file mode 100644 index 00000000..513c16f6 --- /dev/null +++ b/speechserving/speechserving/utils/config.py @@ -0,0 +1,30 @@ +# Copyright (c) 2021 PaddlePaddle Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +import yaml +from yacs.config import CfgNode + + +def get_config(config_file): + """[summary] + + Args: + config_file (str): config_file + + Returns: + CfgNode: + """ + with open(config_file, 'rt') as f: + config = CfgNode(yaml.safe_load(f)) + + return config diff --git a/speechserving/speechserving/utils/util.py b/speechserving/speechserving/utils/util.py new file mode 100644 index 00000000..6e1bd26c --- /dev/null +++ b/speechserving/speechserving/utils/util.py @@ -0,0 +1,35 @@ +# Copyright (c) 2022 PaddlePaddle Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the +import base64 + + +def readwav2base64(wav_file): + """ + read wave file and covert to base64 string + """ + with open(wav_file, 'rb') as f: + base64_bytes = base64.b64encode(f.read()) + base64_string = base64_bytes.decode('utf-8') + return base64_string + + +def readbase64towav(base64_string): + pass + + + + +def self_check(): + """ self check resource + """ + return True From 3f690493bd8d4b37d715919d4d991941b1e8d7fc Mon Sep 17 00:00:00 2001 From: WilliamZhang06 Date: Thu, 27 Jan 2022 15:22:30 +0800 Subject: [PATCH 2/5] fix comments, test=doc --- speechserving/speechserving/conf/asr/asr.yaml | 1 - speechserving/speechserving/restful/api.py | 3 ++- speechserving/speechserving/utils/util.py | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/speechserving/speechserving/conf/asr/asr.yaml b/speechserving/speechserving/conf/asr/asr.yaml index 87405155..cfa3a68f 100644 --- a/speechserving/speechserving/conf/asr/asr.yaml +++ b/speechserving/speechserving/conf/asr/asr.yaml @@ -1,5 +1,4 @@ model: 'conformer_wenetspeech' -lang: 'conformer_wenetspeech' lang: 'zh' sample_rate: 16000 decode_method: 'attention_rescoring' diff --git a/speechserving/speechserving/restful/api.py b/speechserving/speechserving/restful/api.py index b3b87ea5..c5539f24 100644 --- a/speechserving/speechserving/restful/api.py +++ b/speechserving/speechserving/restful/api.py @@ -11,6 +11,7 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. +from typing import List from fastapi import APIRouter from .tts_api import router as tts_router @@ -18,7 +19,7 @@ from .asr_api import router as asr_router _router = APIRouter() -def setup_router(api_list: list): +def setup_router(api_list: List): for api_name in api_list: if api_name == 'asr': diff --git a/speechserving/speechserving/utils/util.py b/speechserving/speechserving/utils/util.py index 6e1bd26c..cf568572 100644 --- a/speechserving/speechserving/utils/util.py +++ b/speechserving/speechserving/utils/util.py @@ -13,7 +13,7 @@ import base64 -def readwav2base64(wav_file): +def wav2base64(wav_file): """ read wave file and covert to base64 string """ @@ -23,7 +23,7 @@ def readwav2base64(wav_file): return base64_string -def readbase64towav(base64_string): +def base64towav(base64_string): pass From 3222b2c5fc336e80b78c7a540db7a0a4fe54f597 Mon Sep 17 00:00:00 2001 From: WilliamZhang06 Date: Fri, 28 Jan 2022 18:55:11 +0800 Subject: [PATCH 3/5] added asr engine, test=doc --- speechserving/speechserving/conf/asr/asr.yaml | 3 + .../engine/asr/python/asr_engine.py | 163 ++++++++++++++++-- .../speechserving/restful/asr_api.py | 7 +- speechserving/tests/http_client.py | 10 +- 4 files changed, 164 insertions(+), 19 deletions(-) diff --git a/speechserving/speechserving/conf/asr/asr.yaml b/speechserving/speechserving/conf/asr/asr.yaml index cfa3a68f..39df2548 100644 --- a/speechserving/speechserving/conf/asr/asr.yaml +++ b/speechserving/speechserving/conf/asr/asr.yaml @@ -1,4 +1,7 @@ model: 'conformer_wenetspeech' lang: 'zh' sample_rate: 16000 +cfg_path: "/home/users/zhangyinhui/.paddlespeech/models/conformer_wenetspeech-zh-16k/asr1_conformer_wenetspeech_ckpt_0.1.1.model.tar/model.yaml" +ckpt_path: "/home/users/zhangyinhui/.paddlespeech/models/conformer_wenetspeech-zh-16k/asr1_conformer_wenetspeech_ckpt_0.1.1.model.tar/exp/conformer/checkpoints/wenetspeech" decode_method: 'attention_rescoring' +force_yes: False diff --git a/speechserving/speechserving/engine/asr/python/asr_engine.py b/speechserving/speechserving/engine/asr/python/asr_engine.py index 8dbc7a3e..bb1596af 100644 --- a/speechserving/speechserving/engine/asr/python/asr_engine.py +++ b/speechserving/speechserving/engine/asr/python/asr_engine.py @@ -11,29 +11,172 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. -from engine.base_engine import BaseEngine +import paddle +import io +import soundfile +import os +import librosa +from typing import List +from typing import Optional +from typing import Union + +from paddlespeech.cli.log import logger +from paddlespeech.cli.asr.infer import ASRExecutor +from paddlespeech.s2t.frontend.featurizer.text_featurizer import TextFeaturizer +from paddlespeech.s2t.transform.transformation import Transformation +from paddlespeech.s2t.utils.dynamic_import import dynamic_import +from paddlespeech.s2t.utils.utility import UpdateConfig -from utils.log import logger +from engine.base_engine import BaseEngine from utils.config import get_config __all__ = ['ASREngine'] +class ASRServerExecutor(ASRExecutor): + def __init__(self): + super().__init__() + pass + + def _check(self, audio_file: str, sample_rate: int, force_yes: bool): + self.sample_rate = sample_rate + if self.sample_rate != 16000 and self.sample_rate != 8000: + logger.error("please input --sr 8000 or --sr 16000") + return False + + logger.info("checking the audio file format......") + try: + audio, audio_sample_rate = soundfile.read( + audio_file, dtype="int16", always_2d=True) + except Exception as e: + logger.exception(e) + logger.error( + "can not open the audio file, please check the audio file format is 'wav'. \n \ + you can try to use sox to change the file format.\n \ + For example: \n \ + sample rate: 16k \n \ + sox input_audio.xx --rate 16k --bits 16 --channels 1 output_audio.wav \n \ + sample rate: 8k \n \ + sox input_audio.xx --rate 8k --bits 16 --channels 1 output_audio.wav \n \ + ") + + logger.info("The sample rate is %d" % audio_sample_rate) + if audio_sample_rate != self.sample_rate: + logger.warning("The sample rate of the input file is not {}.\n \ + The program will resample the wav file to {}.\n \ + If the result does not meet your expectations,\n \ + Please input the 16k 16 bit 1 channel wav file. \ + ".format(self.sample_rate, self.sample_rate)) + self.change_format = True + else: + logger.info("The audio file format is right") + self.change_format = False + + return True + + def preprocess(self, model_type: str, input: Union[str, os.PathLike]): + """ + Input preprocess and return paddle.Tensor stored in self.input. + Input content can be a text(tts), a file(asr, cls) or a streaming(not supported yet). + """ + + audio_file = input + # logger.info("Preprocess audio_file:" + audio_file) + + # Get the object for feature extraction + if "deepspeech2online" in model_type or "deepspeech2offline" in model_type: + audio, _ = self.collate_fn_test.process_utterance( + audio_file=audio_file, transcript=" ") + audio_len = audio.shape[0] + audio = paddle.to_tensor(audio, dtype='float32') + audio_len = paddle.to_tensor(audio_len) + audio = paddle.unsqueeze(audio, axis=0) + # vocab_list = collate_fn_test.vocab_list + self._inputs["audio"] = audio + self._inputs["audio_len"] = audio_len + logger.info(f"audio feat shape: {audio.shape}") + + elif "conformer" in model_type or "transformer" in model_type or "wenetspeech" in model_type: + logger.info("get the preprocess conf") + preprocess_conf = self.config.preprocess_config + preprocess_args = {"train": False} + preprocessing = Transformation(preprocess_conf) + logger.info("read the audio file") + audio, audio_sample_rate = soundfile.read( + audio_file, dtype="int16", always_2d=True) + + if self.change_format: + if audio.shape[1] >= 2: + audio = audio.mean(axis=1, dtype=np.int16) + else: + audio = audio[:, 0] + # pcm16 -> pcm 32 + audio = self._pcm16to32(audio) + audio = librosa.resample(audio, audio_sample_rate, + self.sample_rate) + audio_sample_rate = self.sample_rate + # pcm32 -> pcm 16 + audio = self._pcm32to16(audio) + else: + audio = audio[:, 0] + + logger.info(f"audio shape: {audio.shape}") + # fbank + audio = preprocessing(audio, **preprocess_args) + + audio_len = paddle.to_tensor(audio.shape[0]) + audio = paddle.to_tensor(audio, dtype='float32').unsqueeze(axis=0) + + self._inputs["audio"] = audio + self._inputs["audio_len"] = audio_len + logger.info(f"audio feat shape: {audio.shape}") + + else: + raise Exception("wrong type") + + class ASREngine(BaseEngine): + """ASR server engine + + Args: + metaclass: Defaults to Singleton. + """ def __init__(self): super(ASREngine, self).__init__() def init(self, config_file: str): - self.config_file = config_file - self.executor = None + + self.executor = ASRServerExecutor() + self.config = get_config(config_file) + + paddle.set_device(paddle.get_device()) + self.executor._init_from_path( + self.config.model, + self.config.lang, + self.config.sample_rate, + self.config.cfg_path, + self.config.decode_method, + self.config.ckpt_path) + + logger.info("Initialize ASR server engine successfully.") + self.input = None self.output = None - config = get_config(self.config_file) - pass - def postprocess(self): - pass + def run(self, audio_data): + + if self.executor._check(io.BytesIO(audio_data), self.config.sample_rate, self.config.force_yes): + self.executor.preprocess(self.config.model, io.BytesIO(audio_data)) + self.executor.infer(self.config.model) + self.output = self.executor.postprocess() # Retrieve result of asr. + else: + logger.info("file check failed!") - def run(self): logger.info("start run asr engine") - return "hello world" + + def postprocess(self): + + return self.output + + + diff --git a/speechserving/speechserving/restful/asr_api.py b/speechserving/speechserving/restful/asr_api.py index 9d97b380..ab2c8048 100644 --- a/speechserving/speechserving/restful/asr_api.py +++ b/speechserving/speechserving/restful/asr_api.py @@ -41,12 +41,11 @@ def asr(request_body: ASRRequest): Returns: json: [description] """ + audio_data = base64.b64decode(request_body.audio) # single asr_engine = ASREngine() - print("asr_engine id :" ,id(asr_engine)) - - asr_results = asr_engine.run() - asr_engine.postprocess() + asr_engine.run(audio_data) + asr_results = asr_engine.postprocess() json_body = { "success": True, diff --git a/speechserving/tests/http_client.py b/speechserving/tests/http_client.py index 3787d764..73f5c18d 100644 --- a/speechserving/tests/http_client.py +++ b/speechserving/tests/http_client.py @@ -14,6 +14,8 @@ import requests import json import time import base64 +import soundfile +import io import argparse @@ -36,11 +38,11 @@ def main(args): # start Timestamp time_start=time.time() - # test_audio_dir = "test_data/16_audio.wav" - # audio = readwav2base64(test_audio_dir) + test_audio_dir = "./16_audio.wav" + audio = readwav2base64(test_audio_dir) data = { - "audio": "exSI6ICJlbiIsCgkgICAgInBvc2l0aW9uIjogImZhbHNlIgoJf", + "audio": audio, "audio_format": "wav", "sample_rate": 16000, "lang": "zh_cn", @@ -55,8 +57,6 @@ def main(args): print(r.json()) - - if __name__ == "__main__": parser = argparse.ArgumentParser() parser.add_argument("--model_type", action="store", From c2eb9ad20513783aec0ebcd39b00bbf0d3d9ac44 Mon Sep 17 00:00:00 2001 From: WilliamZhang06 Date: Mon, 14 Feb 2022 11:26:06 +0800 Subject: [PATCH 4/5] added asr engine and fixed bugs, test=doc --- .../speechserving/conf/application.yaml | 2 + speechserving/speechserving/conf/asr/asr.yaml | 4 +- .../engine/asr/python/asr_engine.py | 67 ++++++++++------- .../speechserving/engine/base_engine.py | 2 + .../speechserving/engine/engine_factory.py | 4 +- speechserving/speechserving/main.py | 22 ++++-- speechserving/speechserving/restful/api.py | 5 +- .../speechserving/restful/asr_api.py | 73 +++++++++++++------ .../speechserving/restful/request.py | 5 +- .../speechserving/restful/response.py | 19 +++++ .../speechserving/restful/tts_api.py | 5 +- speechserving/speechserving/utils/__init__.py | 13 ++++ speechserving/speechserving/utils/config.py | 2 +- speechserving/speechserving/utils/errors.py | 2 +- speechserving/speechserving/utils/util.py | 6 +- 15 files changed, 159 insertions(+), 72 deletions(-) diff --git a/speechserving/speechserving/conf/application.yaml b/speechserving/speechserving/conf/application.yaml index 8c4d9bc6..c8d71f2f 100644 --- a/speechserving/speechserving/conf/application.yaml +++ b/speechserving/speechserving/conf/application.yaml @@ -10,6 +10,8 @@ port: 8090 # CONFIG FILE # ################################################################## # add engine type (Options: asr, tts) and config file here. + engine_backend: asr: 'conf/asr/asr.yaml' tts: 'conf/tts/tts.yaml' + diff --git a/speechserving/speechserving/conf/asr/asr.yaml b/speechserving/speechserving/conf/asr/asr.yaml index 39df2548..4c3b0a67 100644 --- a/speechserving/speechserving/conf/asr/asr.yaml +++ b/speechserving/speechserving/conf/asr/asr.yaml @@ -1,7 +1,7 @@ model: 'conformer_wenetspeech' lang: 'zh' sample_rate: 16000 -cfg_path: "/home/users/zhangyinhui/.paddlespeech/models/conformer_wenetspeech-zh-16k/asr1_conformer_wenetspeech_ckpt_0.1.1.model.tar/model.yaml" -ckpt_path: "/home/users/zhangyinhui/.paddlespeech/models/conformer_wenetspeech-zh-16k/asr1_conformer_wenetspeech_ckpt_0.1.1.model.tar/exp/conformer/checkpoints/wenetspeech" +cfg_path: +ckpt_path: decode_method: 'attention_rescoring' force_yes: False diff --git a/speechserving/speechserving/engine/asr/python/asr_engine.py b/speechserving/speechserving/engine/asr/python/asr_engine.py index bb1596af..e8289332 100644 --- a/speechserving/speechserving/engine/asr/python/asr_engine.py +++ b/speechserving/speechserving/engine/asr/python/asr_engine.py @@ -11,23 +11,23 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. -import paddle import io -import soundfile import os -import librosa from typing import List from typing import Optional from typing import Union -from paddlespeech.cli.log import logger +import librosa +import paddle +import soundfile +from engine.base_engine import BaseEngine + from paddlespeech.cli.asr.infer import ASRExecutor +from paddlespeech.cli.log import logger from paddlespeech.s2t.frontend.featurizer.text_featurizer import TextFeaturizer from paddlespeech.s2t.transform.transformation import Transformation from paddlespeech.s2t.utils.dynamic_import import dynamic_import from paddlespeech.s2t.utils.utility import UpdateConfig - -from engine.base_engine import BaseEngine from utils.config import get_config __all__ = ['ASREngine'] @@ -141,42 +141,55 @@ class ASREngine(BaseEngine): Args: metaclass: Defaults to Singleton. """ + def __init__(self): super(ASREngine, self).__init__() - def init(self, config_file: str): + def init(self, config_file: str) -> bool: + """init engine resource + + Args: + config_file (str): config file + Returns: + bool: init failed or success + """ + self.input = None + self.output = None self.executor = ASRServerExecutor() - self.config = get_config(config_file) - paddle.set_device(paddle.get_device()) - self.executor._init_from_path( - self.config.model, - self.config.lang, - self.config.sample_rate, - self.config.cfg_path, - self.config.decode_method, - self.config.ckpt_path) + try: + self.config = get_config(config_file) + paddle.set_device(paddle.get_device()) + self.executor._init_from_path( + self.config.model, self.config.lang, self.config.sample_rate, + self.config.cfg_path, self.config.decode_method, + self.config.ckpt_path) + except: + logger.info("Initialize ASR server engine Failed.") + return False logger.info("Initialize ASR server engine successfully.") - - self.input = None - self.output = None + return True def run(self, audio_data): + """engine run - if self.executor._check(io.BytesIO(audio_data), self.config.sample_rate, self.config.force_yes): + Args: + audio_data (bytes): base64.b64decode + """ + if self.executor._check( + io.BytesIO(audio_data), self.config.sample_rate, + self.config.force_yes): + logger.info("start run asr engine") self.executor.preprocess(self.config.model, io.BytesIO(audio_data)) self.executor.infer(self.config.model) - self.output = self.executor.postprocess() # Retrieve result of asr. + self.output = self.executor.postprocess() # Retrieve result of asr. else: logger.info("file check failed!") - - logger.info("start run asr engine") + self.output = None def postprocess(self): - + """postprocess + """ return self.output - - - diff --git a/speechserving/speechserving/engine/base_engine.py b/speechserving/speechserving/engine/base_engine.py index 36048dcc..0cc20209 100644 --- a/speechserving/speechserving/engine/base_engine.py +++ b/speechserving/speechserving/engine/base_engine.py @@ -18,6 +18,8 @@ from typing import Union from pattern_singleton import Singleton +__all__ = ['BaseEngine'] + class BaseEngine(metaclass=Singleton): """ diff --git a/speechserving/speechserving/engine/engine_factory.py b/speechserving/speechserving/engine/engine_factory.py index 336a9a6f..2b9f9db7 100644 --- a/speechserving/speechserving/engine/engine_factory.py +++ b/speechserving/speechserving/engine/engine_factory.py @@ -14,10 +14,12 @@ from engine.asr.python.asr_engine import ASREngine from engine.tts.python.tts_engine import TTSEngine +__all__ = ['EngineFactory'] + class EngineFactory(object): @staticmethod - def get_engine(engine_name): + def get_engine(engine_name: str): if engine_name == 'asr': return ASREngine() elif engine_name == 'tts': diff --git a/speechserving/speechserving/main.py b/speechserving/speechserving/main.py index 3b367418..6d4891c7 100644 --- a/speechserving/speechserving/main.py +++ b/speechserving/speechserving/main.py @@ -12,21 +12,28 @@ # See the License for the specific language governing permissions and # limitations under the License. import argparse + import uvicorn import yaml +from engine.engine_factory import EngineFactory from fastapi import FastAPI - from restful.api import setup_router -from utils.log import logger + from utils.config import get_config -from engine.engine_factory import EngineFactory +from utils.log import logger app = FastAPI( title="PaddleSpeech Serving API", description="Api", version="0.0.1") def init(config): - """ system initialization + """system initialization + + Args: + config (CfgNode): config object + + Returns: + bool: """ # init api api_list = list(config.engine_backend) @@ -34,10 +41,11 @@ def init(config): app.include_router(api_router) # init engine - engine_list = [] + engine_pool = [] for engine in config.engine_backend: - engine_list.append(EngineFactory.get_engine(engine_name=engine)) - engine_list[-1].init(config_file=config.engine_backend[engine]) + engine_pool.append(EngineFactory.get_engine(engine_name=engine)) + if not engine_pool[-1].init(config_file=config.engine_backend[engine]): + return False return True diff --git a/speechserving/speechserving/restful/api.py b/speechserving/speechserving/restful/api.py index c5539f24..bdff935a 100644 --- a/speechserving/speechserving/restful/api.py +++ b/speechserving/speechserving/restful/api.py @@ -12,13 +12,15 @@ # See the License for the specific language governing permissions and # limitations under the License. from typing import List + from fastapi import APIRouter -from .tts_api import router as tts_router from .asr_api import router as asr_router +from .tts_api import router as tts_router _router = APIRouter() + def setup_router(api_list: List): for api_name in api_list: @@ -30,4 +32,3 @@ def setup_router(api_list: List): pass return _router - diff --git a/speechserving/speechserving/restful/asr_api.py b/speechserving/speechserving/restful/asr_api.py index ab2c8048..6ac647bc 100644 --- a/speechserving/speechserving/restful/asr_api.py +++ b/speechserving/speechserving/restful/asr_api.py @@ -11,16 +11,23 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. -from fastapi import APIRouter import base64 +import traceback +from typing import Union from engine.asr.python.asr_engine import ASREngine -from .response import ASRResponse -from .request import ASRRequest +from fastapi import APIRouter +from .request import ASRRequest +from .response import ASRResponse +from .response import ErrorResponse +from utils.errors import ErrorCode +from utils.errors import failed_response +from utils.exception import ServerBaseException router = APIRouter() + @router.get('/paddlespeech/asr/help') def help(): """help @@ -28,10 +35,23 @@ def help(): Returns: json: [description] """ - return {'hello': 'world'} + response = { + "success": "True", + "code": 200, + "message": { + "global": "success" + }, + "result": { + "description": "tts server", + "input": "base64 string of wavfile", + "output": "transcription" + } + } + return response -@router.post("/paddlespeech/asr", response_model=ASRResponse) +@router.post( + "/paddlespeech/asr", response_model=Union[ASRResponse, ErrorResponse]) def asr(request_body: ASRRequest): """asr api @@ -41,21 +61,28 @@ def asr(request_body: ASRRequest): Returns: json: [description] """ - audio_data = base64.b64decode(request_body.audio) - # single - asr_engine = ASREngine() - asr_engine.run(audio_data) - asr_results = asr_engine.postprocess() - - json_body = { - "success": True, - "code": 0, - "message": { - "description": "success" - }, - "result": { - "transcription": asr_results - } - } - - return json_body + try: + # single + audio_data = base64.b64decode(request_body.audio) + asr_engine = ASREngine() + asr_engine.run(audio_data) + asr_results = asr_engine.postprocess() + + response = { + "success": True, + "code": 200, + "message": { + "description": "success" + }, + "result": { + "transcription": asr_results + } + } + + except ServerBaseException as e: + response = failed_response(e.error_code, e.msg) + except: + response = failed_response(ErrorCode.SERVER_UNKOWN_ERR) + traceback.print_exc() + + return response diff --git a/speechserving/speechserving/restful/request.py b/speechserving/speechserving/restful/request.py index 9ebc6d75..2be5f0e5 100644 --- a/speechserving/speechserving/restful/request.py +++ b/speechserving/speechserving/restful/request.py @@ -19,7 +19,6 @@ from pydantic import BaseModel __all__ = ['ASRRequest', 'TTSRequest'] - #****************************************************************************************/ #************************************ ASR request ***************************************/ #****************************************************************************************/ @@ -31,14 +30,14 @@ class ASRRequest(BaseModel): "audio_format": "wav", "sample_rate": 16000, "lang": "zh_cn", - "ptt":false + "punc":false } """ audio: str audio_format: str sample_rate: int lang: str - ptt: Optional[bool] = None + punc: Optional[bool] = None #****************************************************************************************/ diff --git a/speechserving/speechserving/restful/response.py b/speechserving/speechserving/restful/response.py index db24f531..ab5e395b 100644 --- a/speechserving/speechserving/restful/response.py +++ b/speechserving/speechserving/restful/response.py @@ -86,3 +86,22 @@ class TTSResponse(BaseModel): code: int message: Message result: TTSResult + + +#****************************************************************************************/ +#********************************** Error response **************************************/ +#****************************************************************************************/ +class ErrorResponse(BaseModel): + """ + response example + { + "success": false, + "code": 0, + "message": { + "description": "Unknown error occurred." + } + } + """ + success: bool + code: int + message: Message diff --git a/speechserving/speechserving/restful/tts_api.py b/speechserving/speechserving/restful/tts_api.py index e9dcfa16..a160e31d 100644 --- a/speechserving/speechserving/restful/tts_api.py +++ b/speechserving/speechserving/restful/tts_api.py @@ -12,11 +12,13 @@ # See the License for the specific language governing permissions and # limitations under the License. import traceback +from typing import Union from engine.tts.python.tts_engine import TTSEngine from fastapi import APIRouter from .request import TTSRequest +from .response import ErrorResponse from .response import TTSResponse from utils.errors import ErrorCode from utils.errors import failed_response @@ -47,7 +49,8 @@ def help(): return response -@router.post("/paddlespeech/tts", response_model=TTSResponse) +@router.post( + "/paddlespeech/tts", response_model=Union[TTSResponse, ErrorResponse]) def tts(request_body: TTSRequest): """tts api diff --git a/speechserving/speechserving/utils/__init__.py b/speechserving/speechserving/utils/__init__.py index e69de29b..97043fd7 100644 --- a/speechserving/speechserving/utils/__init__.py +++ b/speechserving/speechserving/utils/__init__.py @@ -0,0 +1,13 @@ +# Copyright (c) 2022 PaddlePaddle Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. diff --git a/speechserving/speechserving/utils/config.py b/speechserving/speechserving/utils/config.py index 513c16f6..8c75f536 100644 --- a/speechserving/speechserving/utils/config.py +++ b/speechserving/speechserving/utils/config.py @@ -15,7 +15,7 @@ import yaml from yacs.config import CfgNode -def get_config(config_file): +def get_config(config_file: str): """[summary] Args: diff --git a/speechserving/speechserving/utils/errors.py b/speechserving/speechserving/utils/errors.py index aa858cb0..17ff7551 100644 --- a/speechserving/speechserving/utils/errors.py +++ b/speechserving/speechserving/utils/errors.py @@ -52,6 +52,6 @@ def failed_response(code, msg=""): if not msg: msg = ErrorMsg.get(code, "Unknown error occurred.") - res = {"success": False, "code": int(code), "message": {"global": msg}} + res = {"success": False, "code": int(code), "message": {"description": msg}} return Response(content=json.dumps(res), media_type="application/json") diff --git a/speechserving/speechserving/utils/util.py b/speechserving/speechserving/utils/util.py index cf568572..e9104fa2 100644 --- a/speechserving/speechserving/utils/util.py +++ b/speechserving/speechserving/utils/util.py @@ -13,7 +13,7 @@ import base64 -def wav2base64(wav_file): +def wav2base64(wav_file: str): """ read wave file and covert to base64 string """ @@ -23,12 +23,10 @@ def wav2base64(wav_file): return base64_string -def base64towav(base64_string): +def base64towav(base64_string: str): pass - - def self_check(): """ self check resource """ From 88f9c818b2609df798e2970e5093f4bd036110f7 Mon Sep 17 00:00:00 2001 From: WilliamZhang06 Date: Mon, 14 Feb 2022 15:30:28 +0800 Subject: [PATCH 5/5] fixed comments, test=doc --- .../engine/asr/python/asr_engine.py | 1 - .../speechserving/engine/engine_factory.py | 5 ++++- speechserving/speechserving/restful/asr_api.py | 2 +- speechserving/tests/16_audio.wav | Bin 0 -> 185864 bytes speechserving/tests/http_client.py | 11 ++--------- 5 files changed, 7 insertions(+), 12 deletions(-) create mode 100644 speechserving/tests/16_audio.wav diff --git a/speechserving/speechserving/engine/asr/python/asr_engine.py b/speechserving/speechserving/engine/asr/python/asr_engine.py index e8289332..a18f906a 100644 --- a/speechserving/speechserving/engine/asr/python/asr_engine.py +++ b/speechserving/speechserving/engine/asr/python/asr_engine.py @@ -81,7 +81,6 @@ class ASRServerExecutor(ASRExecutor): """ audio_file = input - # logger.info("Preprocess audio_file:" + audio_file) # Get the object for feature extraction if "deepspeech2online" in model_type or "deepspeech2offline" in model_type: diff --git a/speechserving/speechserving/engine/engine_factory.py b/speechserving/speechserving/engine/engine_factory.py index 2b9f9db7..bc0c4565 100644 --- a/speechserving/speechserving/engine/engine_factory.py +++ b/speechserving/speechserving/engine/engine_factory.py @@ -11,15 +11,18 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. +from typing import Text + from engine.asr.python.asr_engine import ASREngine from engine.tts.python.tts_engine import TTSEngine + __all__ = ['EngineFactory'] class EngineFactory(object): @staticmethod - def get_engine(engine_name: str): + def get_engine(engine_name: Text): if engine_name == 'asr': return ASREngine() elif engine_name == 'tts': diff --git a/speechserving/speechserving/restful/asr_api.py b/speechserving/speechserving/restful/asr_api.py index 6ac647bc..c63cd76c 100644 --- a/speechserving/speechserving/restful/asr_api.py +++ b/speechserving/speechserving/restful/asr_api.py @@ -42,7 +42,7 @@ def help(): "global": "success" }, "result": { - "description": "tts server", + "description": "asr server", "input": "base64 string of wavfile", "output": "transcription" } diff --git a/speechserving/tests/16_audio.wav b/speechserving/tests/16_audio.wav new file mode 100644 index 0000000000000000000000000000000000000000..3cfa5074efaea618684e3ca7b497a2b1f33fa7e4 GIT binary patch literal 185864 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 z�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›@&xg08;~YC^`Vy<{fp;^R-Eg%AkB{~*kYN1WCR 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

iQuj5;uBvca=*fmnP57V!(Cwi_PZ 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 literal 0 HcmV?d00001 diff --git a/speechserving/tests/http_client.py b/speechserving/tests/http_client.py index 73f5c18d..14adb574 100644 --- a/speechserving/tests/http_client.py +++ b/speechserving/tests/http_client.py @@ -14,10 +14,8 @@ import requests import json import time import base64 -import soundfile import io -import argparse def readwav2base64(wav_file): """ @@ -29,7 +27,7 @@ def readwav2base64(wav_file): return base64_string -def main(args): +def main(): """ main func """ @@ -58,9 +56,4 @@ def main(args): if __name__ == "__main__": - parser = argparse.ArgumentParser() - parser.add_argument("--model_type", action="store", - help="model type: u2, dp2", default="dp2") - args = parser.parse_args() - - main(args) + main()