first commit for takway.ai
This commit is contained in:
commit
d7a6de771c
3256 files changed
+795173
No files matched your search
@@ -0,0 +1,51 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
import argparse
|
||||
import os
|
||||
import sys
|
||||
import unittest
|
||||
from fnmatch import fnmatch
|
||||
|
||||
|
||||
def gather_test_cases(test_dir, pattern, list_tests):
|
||||
case_list = []
|
||||
for dirpath, dirnames, filenames in os.walk(test_dir):
|
||||
for file in filenames:
|
||||
if fnmatch(file, pattern):
|
||||
case_list.append(file)
|
||||
|
||||
test_suite = unittest.TestSuite()
|
||||
|
||||
for case in case_list:
|
||||
test_case = unittest.defaultTestLoader.discover(start_dir=test_dir, pattern=case)
|
||||
test_suite.addTest(test_case)
|
||||
if hasattr(test_case, "__iter__"):
|
||||
for subcase in test_case:
|
||||
if list_tests:
|
||||
print(subcase)
|
||||
else:
|
||||
if list_tests:
|
||||
print(test_case)
|
||||
return test_suite
|
||||
|
||||
|
||||
def main(args):
|
||||
runner = unittest.TextTestRunner()
|
||||
test_suite = gather_test_cases(os.path.abspath(args.test_dir), args.pattern, args.list_tests)
|
||||
if not args.list_tests:
|
||||
result = runner.run(test_suite)
|
||||
if len(result.failures) > 0:
|
||||
sys.exit(len(result.failures))
|
||||
if len(result.errors) > 0:
|
||||
sys.exit(len(result.errors))
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
parser = argparse.ArgumentParser("test runner")
|
||||
parser.add_argument("--list_tests", action="store_true", help="list all tests")
|
||||
parser.add_argument("--pattern", default="test_*.py", help="test file pattern")
|
||||
parser.add_argument("--test_dir", default="tests", help="directory to be tested")
|
||||
parser.add_argument("--disable_profile", action="store_true", help="disable profiling")
|
||||
args = parser.parse_args()
|
||||
print(f"working dir: {os.getcwd()}")
|
||||
main(args)
|
||||
@@ -0,0 +1,610 @@
|
||||
import unittest
|
||||
|
||||
from modelscope.pipelines import pipeline
|
||||
from modelscope.utils.constant import Tasks
|
||||
from modelscope.utils.logger import get_logger
|
||||
|
||||
logger = get_logger()
|
||||
|
||||
|
||||
class TestConformerInferencePipelines(unittest.TestCase):
|
||||
def test_funasr_path(self):
|
||||
import funasr
|
||||
import os
|
||||
|
||||
logger.info("run_dir:{0} ; funasr_path: {1}".format(os.getcwd(), funasr.__file__))
|
||||
|
||||
def test_aishell1(self):
|
||||
inference_pipeline = pipeline(
|
||||
task=Tasks.auto_speech_recognition,
|
||||
model="damo/speech_conformer_asr_nat-zh-cn-16k-aishell1-vocab4234-pytorch",
|
||||
)
|
||||
rec_result = inference_pipeline(
|
||||
audio_in="https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/test_audio/asr_example_zh.wav"
|
||||
)
|
||||
logger.info("asr inference result: {0}".format(rec_result))
|
||||
|
||||
def test_aishell2(self):
|
||||
inference_pipeline = pipeline(
|
||||
task=Tasks.auto_speech_recognition,
|
||||
model="damo/speech_conformer_asr_nat-zh-cn-16k-aishell2-vocab5212-pytorch",
|
||||
)
|
||||
rec_result = inference_pipeline(
|
||||
audio_in="https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/test_audio/asr_example_zh.wav"
|
||||
)
|
||||
logger.info("asr inference result: {0}".format(rec_result))
|
||||
|
||||
|
||||
class TestData2vecInferencePipelines(unittest.TestCase):
|
||||
def test_funasr_path(self):
|
||||
import funasr
|
||||
import os
|
||||
|
||||
logger.info("run_dir:{0} ; funasr_path: {1}".format(os.getcwd(), funasr.__file__))
|
||||
|
||||
def test_transformer(self):
|
||||
inference_pipeline = pipeline(
|
||||
task=Tasks.auto_speech_recognition,
|
||||
model="damo/speech_data2vec_pretrain-zh-cn-aishell2-16k-pytorch",
|
||||
)
|
||||
rec_result = inference_pipeline(
|
||||
audio_in="https://modelscope.oss-cn-beijing.aliyuncs.com/test/audios/asr_example.wav"
|
||||
)
|
||||
logger.info("asr inference result: {0}".format(rec_result))
|
||||
assert rec_result["text"] == "每一天都要快乐喔"
|
||||
|
||||
def test_paraformer(self):
|
||||
inference_pipeline = pipeline(
|
||||
task=Tasks.auto_speech_recognition,
|
||||
model="damo/speech_data2vec_pretrain-paraformer-zh-cn-aishell2-16k",
|
||||
)
|
||||
rec_result = inference_pipeline(
|
||||
audio_in="https://modelscope.oss-cn-beijing.aliyuncs.com/test/audios/asr_example.wav"
|
||||
)
|
||||
logger.info("asr inference result: {0}".format(rec_result))
|
||||
assert rec_result["text"] == "每一天都要快乐喔"
|
||||
|
||||
|
||||
class TestMfccaInferencePipelines(unittest.TestCase):
|
||||
def test_funasr_path(self):
|
||||
import funasr
|
||||
import os
|
||||
|
||||
logger.info("run_dir:{0} ; funasr_path: {1}".format(os.getcwd(), funasr.__file__))
|
||||
|
||||
def test_alimeeting(self):
|
||||
inference_pipeline = pipeline(
|
||||
task=Tasks.auto_speech_recognition,
|
||||
model="NPU-ASLP/speech_mfcca_asr-zh-cn-16k-alimeeting-vocab4950",
|
||||
model_revision="v3.0.0",
|
||||
)
|
||||
rec_result = inference_pipeline(
|
||||
audio_in="https://pre.modelscope.cn/api/v1/models/NPU-ASLP/speech_mfcca_asr-zh-cn-16k-alimeeting-vocab4950/repo?Revision=master&FilePath=example/asr_example_mc.wav"
|
||||
)
|
||||
logger.info("asr inference result: {0}".format(rec_result))
|
||||
|
||||
|
||||
class TestParaformerInferencePipelines(unittest.TestCase):
|
||||
def test_funasr_path(self):
|
||||
import funasr
|
||||
import os
|
||||
|
||||
logger.info("run_dir:{0} ; funasr_path: {1}".format(os.getcwd(), funasr.__file__))
|
||||
|
||||
def test_paraformer_large_contextual_common(self):
|
||||
param_dict = dict()
|
||||
param_dict["hotword"] = (
|
||||
"https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/test_audio/hotword.txt"
|
||||
)
|
||||
inference_pipeline = pipeline(
|
||||
task=Tasks.auto_speech_recognition,
|
||||
model="damo/speech_paraformer-large-contextual_asr_nat-zh-cn-16k-common-vocab8404",
|
||||
param_dict=param_dict,
|
||||
)
|
||||
rec_result = inference_pipeline(
|
||||
audio_in="https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/test_audio/asr_example_hotword.wav"
|
||||
)
|
||||
logger.info("asr inference result: {0}".format(rec_result))
|
||||
assert rec_result["text"] == "国务院发展研究中心市场经济研究所副所长邓郁松认为"
|
||||
|
||||
def test_paraformer_large_aishell1(self):
|
||||
inference_pipeline = pipeline(
|
||||
task=Tasks.auto_speech_recognition,
|
||||
model="damo/speech_paraformer-large_asr_nat-zh-cn-16k-aishell1-vocab8404-pytorch",
|
||||
)
|
||||
rec_result = inference_pipeline(
|
||||
audio_in="https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/test_audio/asr_example_zh.wav"
|
||||
)
|
||||
logger.info("asr inference result: {0}".format(rec_result))
|
||||
assert rec_result["text"] == "欢迎大家来体验达摩院推出的语音识别模型"
|
||||
|
||||
def test_paraformer_large_aishell2(self):
|
||||
inference_pipeline = pipeline(
|
||||
task=Tasks.auto_speech_recognition,
|
||||
model="damo/speech_paraformer-large_asr_nat-zh-cn-16k-aishell2-vocab8404-pytorch",
|
||||
)
|
||||
rec_result = inference_pipeline(
|
||||
audio_in="https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/test_audio/asr_example_zh.wav"
|
||||
)
|
||||
logger.info("asr inference result: {0}".format(rec_result))
|
||||
assert rec_result["text"] == "欢迎大家来体验达摩院推出的语音识别模型"
|
||||
|
||||
def test_paraformer_large_common(self):
|
||||
inference_pipeline = pipeline(
|
||||
task=Tasks.auto_speech_recognition,
|
||||
model="damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch",
|
||||
)
|
||||
rec_result = inference_pipeline(
|
||||
audio_in="https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/test_audio/asr_example_zh.wav"
|
||||
)
|
||||
logger.info("asr inference result: {0}".format(rec_result))
|
||||
assert rec_result["text"] == "欢迎大家来体验达摩院推出的语音识别模型"
|
||||
|
||||
def test_paraformer_large_online_common(self):
|
||||
inference_pipeline = pipeline(
|
||||
task=Tasks.auto_speech_recognition,
|
||||
model="damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-online",
|
||||
model_revision="v1.0.6",
|
||||
update_model=False,
|
||||
mode="paraformer_fake_streaming",
|
||||
)
|
||||
rec_result = inference_pipeline(
|
||||
audio_in="https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/test_audio/asr_example_zh.wav"
|
||||
)
|
||||
logger.info("asr inference result: {0}".format(rec_result))
|
||||
assert rec_result["text"] == "欢迎大家来体验达摩院推出的语音识别模型"
|
||||
|
||||
def test_paraformer_online_common(self):
|
||||
inference_pipeline = pipeline(
|
||||
task=Tasks.auto_speech_recognition,
|
||||
model="damo/speech_paraformer_asr_nat-zh-cn-16k-common-vocab8404-online",
|
||||
model_revision="v1.0.6",
|
||||
update_model=False,
|
||||
mode="paraformer_fake_streaming",
|
||||
)
|
||||
rec_result = inference_pipeline(
|
||||
audio_in="https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/test_audio/asr_example_zh.wav"
|
||||
)
|
||||
logger.info("asr inference result: {0}".format(rec_result))
|
||||
assert rec_result["text"] == "欢迎大家来体验达摩院推出的语音识别模型"
|
||||
|
||||
def test_paraformer_tiny_commandword(self):
|
||||
inference_pipeline = pipeline(
|
||||
task=Tasks.auto_speech_recognition,
|
||||
model="damo/speech_paraformer-tiny-commandword_asr_nat-zh-cn-16k-vocab544-pytorch",
|
||||
)
|
||||
rec_result = inference_pipeline(
|
||||
audio_in="https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/test_audio/asr_example_zh_command.wav"
|
||||
)
|
||||
logger.info("asr inference result: {0}".format(rec_result))
|
||||
|
||||
def test_paraformer_8k(self):
|
||||
inference_pipeline = pipeline(
|
||||
task=Tasks.auto_speech_recognition,
|
||||
model="damo/speech_paraformer_asr_nat-zh-cn-8k-common-vocab8358-tensorflow1",
|
||||
)
|
||||
rec_result = inference_pipeline(
|
||||
audio_in="https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/test_audio/asr_example_8K.wav"
|
||||
)
|
||||
logger.info("asr inference result: {0}".format(rec_result))
|
||||
|
||||
def test_paraformer_aishell1(self):
|
||||
inference_pipeline = pipeline(
|
||||
task=Tasks.auto_speech_recognition,
|
||||
model="damo/speech_paraformer_asr_nat-zh-cn-16k-aishell1-vocab4234-pytorch",
|
||||
)
|
||||
rec_result = inference_pipeline(
|
||||
audio_in="https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/test_audio/asr_example_zh.wav"
|
||||
)
|
||||
logger.info("asr inference result: {0}".format(rec_result))
|
||||
|
||||
def test_paraformer_aishell2(self):
|
||||
inference_pipeline = pipeline(
|
||||
task=Tasks.auto_speech_recognition,
|
||||
model="damo/speech_paraformer_asr_nat-zh-cn-16k-aishell2-vocab5212-pytorch",
|
||||
)
|
||||
rec_result = inference_pipeline(
|
||||
audio_in="https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/test_audio/asr_example_zh.wav"
|
||||
)
|
||||
logger.info("asr inference result: {0}".format(rec_result))
|
||||
|
||||
|
||||
class TestParaformerBertInferencePipelines(unittest.TestCase):
|
||||
def test_funasr_path(self):
|
||||
import funasr
|
||||
import os
|
||||
|
||||
logger.info("run_dir:{0} ; funasr_path: {1}".format(os.getcwd(), funasr.__file__))
|
||||
|
||||
def test_aishell1(self):
|
||||
inference_pipeline = pipeline(
|
||||
task=Tasks.auto_speech_recognition,
|
||||
model="damo/speech_paraformerbert_asr_nat-zh-cn-16k-aishell1-vocab4234-pytorch",
|
||||
)
|
||||
rec_result = inference_pipeline(
|
||||
audio_in="https://modelscope.oss-cn-beijing.aliyuncs.com/test/audios/asr_example.wav"
|
||||
)
|
||||
logger.info("asr inference result: {0}".format(rec_result))
|
||||
|
||||
def test_aishell2(self):
|
||||
inference_pipeline = pipeline(
|
||||
task=Tasks.auto_speech_recognition,
|
||||
model="damo/speech_paraformerbert_asr_nat-zh-cn-16k-aishell2-vocab5212-pytorch",
|
||||
)
|
||||
rec_result = inference_pipeline(
|
||||
audio_in="https://modelscope.oss-cn-beijing.aliyuncs.com/test/audios/asr_example.wav"
|
||||
)
|
||||
logger.info("asr inference result: {0}".format(rec_result))
|
||||
|
||||
|
||||
class TestUniasrInferencePipelines(unittest.TestCase):
|
||||
def test_funasr_path(self):
|
||||
import funasr
|
||||
import os
|
||||
|
||||
logger.info("run_dir:{0} ; funasr_path: {1}".format(os.getcwd(), funasr.__file__))
|
||||
|
||||
def test_uniasr_2pass_cantonese_chs_16k_common_offline(self):
|
||||
inference_pipeline = pipeline(
|
||||
task=Tasks.auto_speech_recognition,
|
||||
model="damo/speech_UniASR_asr_2pass-cantonese-CHS-16k-common-vocab1468-tensorflow1-online",
|
||||
)
|
||||
rec_result = inference_pipeline(
|
||||
audio_in="https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/test_audio/asr_example_cantonese-CHS.wav",
|
||||
param_dict={"decoding_model": "offline"},
|
||||
)
|
||||
logger.info("asr inference result: {0}".format(rec_result))
|
||||
|
||||
def test_uniasr_2pass_cantonese_chs_16k_common_online(self):
|
||||
inference_pipeline = pipeline(
|
||||
task=Tasks.auto_speech_recognition,
|
||||
model="damo/speech_UniASR_asr_2pass-cantonese-CHS-16k-common-vocab1468-tensorflow1-online",
|
||||
)
|
||||
rec_result = inference_pipeline(
|
||||
audio_in="https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/test_audio/asr_example_cantonese-CHS.wav",
|
||||
param_dict={"decoding_model": "normal"},
|
||||
)
|
||||
logger.info("asr inference result: {0}".format(rec_result))
|
||||
|
||||
def test_uniasr_2pass_cn_dialect_offline(self):
|
||||
inference_pipeline = pipeline(
|
||||
task=Tasks.auto_speech_recognition,
|
||||
model="damo/speech_UniASR_asr_2pass-cn-dialect-16k-vocab8358-tensorflow1-offline",
|
||||
)
|
||||
rec_result = inference_pipeline(
|
||||
audio_in="https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/test_audio/asr_example_zh.wav"
|
||||
)
|
||||
logger.info("asr inference result: {0}".format(rec_result))
|
||||
|
||||
def test_uniasr_2pass_cn_dialect_online(self):
|
||||
inference_pipeline = pipeline(
|
||||
task=Tasks.auto_speech_recognition,
|
||||
model="damo/speech_UniASR_asr_2pass-cn-dialect-16k-vocab8358-tensorflow1-online",
|
||||
)
|
||||
rec_result = inference_pipeline(
|
||||
audio_in="https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/test_audio/asr_example_zh.wav"
|
||||
)
|
||||
logger.info("asr inference result: {0}".format(rec_result))
|
||||
|
||||
def test_uniasr_2pass_de_common_offline(self):
|
||||
inference_pipeline = pipeline(
|
||||
task=Tasks.auto_speech_recognition,
|
||||
model="damo/speech_UniASR_asr_2pass-de-16k-common-vocab3690-tensorflow1-offline",
|
||||
)
|
||||
rec_result = inference_pipeline(
|
||||
audio_in="https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/test_audio/asr_example_de.wav",
|
||||
param_dict={"decoding_model": "offline"},
|
||||
)
|
||||
logger.info("asr inference result: {0}".format(rec_result))
|
||||
|
||||
def test_uniasr_2pass_de_common_online(self):
|
||||
inference_pipeline = pipeline(
|
||||
task=Tasks.auto_speech_recognition,
|
||||
model="damo/speech_UniASR_asr_2pass-de-16k-common-vocab3690-tensorflow1-online",
|
||||
)
|
||||
rec_result = inference_pipeline(
|
||||
audio_in="https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/test_audio/asr_example_de.wav",
|
||||
param_dict={"decoding_model": "normal"},
|
||||
)
|
||||
logger.info("asr inference result: {0}".format(rec_result))
|
||||
|
||||
def test_uniasr_2pass_en_common_offline(self):
|
||||
inference_pipeline = pipeline(
|
||||
task=Tasks.auto_speech_recognition,
|
||||
model="damo/speech_UniASR_asr_2pass-en-16k-common-vocab1080-tensorflow1-offline",
|
||||
)
|
||||
rec_result = inference_pipeline(
|
||||
audio_in="https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/test_audio/asr_example_en.wav",
|
||||
param_dict={"decoding_model": "offline"},
|
||||
)
|
||||
logger.info("asr inference result: {0}".format(rec_result))
|
||||
|
||||
def test_uniasr_2pass_en_common_online(self):
|
||||
inference_pipeline = pipeline(
|
||||
task=Tasks.auto_speech_recognition,
|
||||
model="damo/speech_UniASR_asr_2pass-en-16k-common-vocab1080-tensorflow1-online",
|
||||
)
|
||||
rec_result = inference_pipeline(
|
||||
audio_in="https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/test_audio/asr_example_en.wav",
|
||||
param_dict={"decoding_model": "normal"},
|
||||
)
|
||||
logger.info("asr inference result: {0}".format(rec_result))
|
||||
|
||||
def test_uniasr_2pass_es_common_offline(self):
|
||||
inference_pipeline = pipeline(
|
||||
task=Tasks.auto_speech_recognition,
|
||||
model="damo/speech_UniASR_asr_2pass-es-16k-common-vocab3445-tensorflow1-offline",
|
||||
)
|
||||
rec_result = inference_pipeline(
|
||||
audio_in="https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/test_audio/asr_example_es.wav",
|
||||
param_dict={"decoding_model": "offline"},
|
||||
)
|
||||
logger.info("asr inference result: {0}".format(rec_result))
|
||||
|
||||
def test_uniasr_2pass_es_common_online(self):
|
||||
inference_pipeline = pipeline(
|
||||
task=Tasks.auto_speech_recognition,
|
||||
model="damo/speech_UniASR_asr_2pass-es-16k-common-vocab3445-tensorflow1-online",
|
||||
)
|
||||
rec_result = inference_pipeline(
|
||||
audio_in="https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/test_audio/asr_example_es.wav",
|
||||
param_dict={"decoding_model": "normal"},
|
||||
)
|
||||
logger.info("asr inference result: {0}".format(rec_result))
|
||||
|
||||
def test_uniasr_2pass_fa_common_offline(self):
|
||||
inference_pipeline = pipeline(
|
||||
task=Tasks.auto_speech_recognition,
|
||||
model="damo/speech_UniASR_asr_2pass-fa-16k-common-vocab1257-pytorch-offline",
|
||||
)
|
||||
rec_result = inference_pipeline(
|
||||
audio_in="https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/test_audio/asr_example_fa.wav",
|
||||
param_dict={"decoding_model": "offline"},
|
||||
)
|
||||
logger.info("asr inference result: {0}".format(rec_result))
|
||||
|
||||
def test_uniasr_2pass_fa_common_online(self):
|
||||
inference_pipeline = pipeline(
|
||||
task=Tasks.auto_speech_recognition,
|
||||
model="damo/speech_UniASR_asr_2pass-fa-16k-common-vocab1257-pytorch-online",
|
||||
)
|
||||
rec_result = inference_pipeline(
|
||||
audio_in="https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/test_audio/asr_example_fa.wav",
|
||||
param_dict={"decoding_model": "normal"},
|
||||
)
|
||||
logger.info("asr inference result: {0}".format(rec_result))
|
||||
|
||||
def test_uniasr_2pass_fr_common_offline(self):
|
||||
inference_pipeline = pipeline(
|
||||
task=Tasks.auto_speech_recognition,
|
||||
model="damo/speech_UniASR_asr_2pass-fr-16k-common-vocab3472-tensorflow1-offline",
|
||||
)
|
||||
rec_result = inference_pipeline(
|
||||
audio_in="https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/test_audio/asr_example_fr.wav",
|
||||
param_dict={"decoding_model": "offline"},
|
||||
)
|
||||
logger.info("asr inference result: {0}".format(rec_result))
|
||||
|
||||
def test_uniasr_2pass_fr_common_online(self):
|
||||
inference_pipeline = pipeline(
|
||||
task=Tasks.auto_speech_recognition,
|
||||
model="damo/speech_UniASR_asr_2pass-fr-16k-common-vocab3472-tensorflow1-online",
|
||||
)
|
||||
rec_result = inference_pipeline(
|
||||
audio_in="https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/test_audio/asr_example_fr.wav",
|
||||
param_dict={"decoding_model": "normal"},
|
||||
)
|
||||
logger.info("asr inference result: {0}".format(rec_result))
|
||||
|
||||
def test_uniasr_2pass_id_common_offline(self):
|
||||
inference_pipeline = pipeline(
|
||||
task=Tasks.auto_speech_recognition,
|
||||
model="damo/speech_UniASR_asr_2pass-id-16k-common-vocab1067-tensorflow1-online",
|
||||
)
|
||||
rec_result = inference_pipeline(
|
||||
audio_in="https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/test_audio/asr_example_id.wav",
|
||||
param_dict={"decoding_model": "offline"},
|
||||
)
|
||||
logger.info("asr inference result: {0}".format(rec_result))
|
||||
|
||||
def test_uniasr_2pass_id_common_online(self):
|
||||
inference_pipeline = pipeline(
|
||||
task=Tasks.auto_speech_recognition,
|
||||
model="damo/speech_UniASR_asr_2pass-id-16k-common-vocab1067-tensorflow1-online",
|
||||
)
|
||||
rec_result = inference_pipeline(
|
||||
audio_in="https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/test_audio/asr_example_id.wav",
|
||||
param_dict={"decoding_model": "normal"},
|
||||
)
|
||||
logger.info("asr inference result: {0}".format(rec_result))
|
||||
|
||||
def test_uniasr_2pass_ja_common_offline(self):
|
||||
inference_pipeline = pipeline(
|
||||
task=Tasks.auto_speech_recognition,
|
||||
model="damo/speech_UniASR_asr_2pass-ja-16k-common-vocab93-tensorflow1-offline",
|
||||
)
|
||||
rec_result = inference_pipeline(
|
||||
audio_in="https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/test_audio/asr_example_ja.wav",
|
||||
param_dict={"decoding_model": "offline"},
|
||||
)
|
||||
logger.info("asr inference result: {0}".format(rec_result))
|
||||
|
||||
def test_uniasr_2pass_ja_common_online(self):
|
||||
inference_pipeline = pipeline(
|
||||
task=Tasks.auto_speech_recognition,
|
||||
model="damo/speech_UniASR_asr_2pass-ja-16k-common-vocab93-tensorflow1-online",
|
||||
)
|
||||
rec_result = inference_pipeline(
|
||||
audio_in="https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/test_audio/asr_example_ja.wav",
|
||||
param_dict={"decoding_model": "normal"},
|
||||
)
|
||||
logger.info("asr inference result: {0}".format(rec_result))
|
||||
|
||||
def test_uniasr_2pass_ko_common_offline(self):
|
||||
inference_pipeline = pipeline(
|
||||
task=Tasks.auto_speech_recognition,
|
||||
model="damo/speech_UniASR_asr_2pass-ko-16k-common-vocab6400-tensorflow1-offline",
|
||||
)
|
||||
rec_result = inference_pipeline(
|
||||
audio_in="https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/test_audio/asr_example_ko.wav",
|
||||
param_dict={"decoding_model": "offline"},
|
||||
)
|
||||
logger.info("asr inference result: {0}".format(rec_result))
|
||||
|
||||
def test_uniasr_2pass_ko_common_online(self):
|
||||
inference_pipeline = pipeline(
|
||||
task=Tasks.auto_speech_recognition,
|
||||
model="damo/speech_UniASR_asr_2pass-ko-16k-common-vocab6400-tensorflow1-online",
|
||||
)
|
||||
rec_result = inference_pipeline(
|
||||
audio_in="https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/test_audio/asr_example_ko.wav",
|
||||
param_dict={"decoding_model": "normal"},
|
||||
)
|
||||
logger.info("asr inference result: {0}".format(rec_result))
|
||||
|
||||
def test_uniasr_2pass_minnan_common_offline(self):
|
||||
inference_pipeline = pipeline(
|
||||
task=Tasks.auto_speech_recognition,
|
||||
model="damo/speech_UniASR_asr_2pass-minnan-16k-common-vocab3825",
|
||||
)
|
||||
rec_result = inference_pipeline(
|
||||
audio_in="https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/test_audio/asr_example_zh.wav",
|
||||
param_dict={"decoding_model": "offline"},
|
||||
)
|
||||
logger.info("asr inference result: {0}".format(rec_result))
|
||||
|
||||
def test_uniasr_2pass_pt_common_offline(self):
|
||||
inference_pipeline = pipeline(
|
||||
task=Tasks.auto_speech_recognition,
|
||||
model="damo/speech_UniASR_asr_2pass-pt-16k-common-vocab1617-tensorflow1-offline",
|
||||
)
|
||||
rec_result = inference_pipeline(
|
||||
audio_in="https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/test_audio/asr_example_pt.wav",
|
||||
param_dict={"decoding_model": "offline"},
|
||||
)
|
||||
logger.info("asr inference result: {0}".format(rec_result))
|
||||
|
||||
def test_uniasr_2pass_pt_common_online(self):
|
||||
inference_pipeline = pipeline(
|
||||
task=Tasks.auto_speech_recognition,
|
||||
model="damo/speech_UniASR_asr_2pass-pt-16k-common-vocab1617-tensorflow1-online",
|
||||
)
|
||||
rec_result = inference_pipeline(
|
||||
audio_in="https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/test_audio/asr_example_pt.wav",
|
||||
param_dict={"decoding_model": "normal"},
|
||||
)
|
||||
logger.info("asr inference result: {0}".format(rec_result))
|
||||
|
||||
def test_uniasr_2pass_ru_common_offline(self):
|
||||
inference_pipeline = pipeline(
|
||||
task=Tasks.auto_speech_recognition,
|
||||
model="damo/speech_UniASR_asr_2pass-ru-16k-common-vocab1664-tensorflow1-offline",
|
||||
)
|
||||
rec_result = inference_pipeline(
|
||||
audio_in="https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/test_audio/asr_example_ru.wav",
|
||||
param_dict={"decoding_model": "offline"},
|
||||
)
|
||||
logger.info("asr inference result: {0}".format(rec_result))
|
||||
|
||||
def test_uniasr_2pass_ru_common_online(self):
|
||||
inference_pipeline = pipeline(
|
||||
task=Tasks.auto_speech_recognition,
|
||||
model="damo/speech_UniASR_asr_2pass-ru-16k-common-vocab1664-tensorflow1-online",
|
||||
)
|
||||
rec_result = inference_pipeline(
|
||||
audio_in="https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/test_audio/asr_example_ru.wav",
|
||||
param_dict={"decoding_model": "normal"},
|
||||
)
|
||||
logger.info("asr inference result: {0}".format(rec_result))
|
||||
|
||||
def test_uniasr_2pass_vi_common_offline(self):
|
||||
inference_pipeline = pipeline(
|
||||
task=Tasks.auto_speech_recognition,
|
||||
model="damo/speech_UniASR_asr_2pass-vi-16k-common-vocab1001-pytorch-offline",
|
||||
)
|
||||
rec_result = inference_pipeline(
|
||||
audio_in="https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/test_audio/asr_example_vi.wav",
|
||||
param_dict={"decoding_model": "offline"},
|
||||
)
|
||||
logger.info("asr inference result: {0}".format(rec_result))
|
||||
|
||||
def test_uniasr_2pass_vi_common_online(self):
|
||||
inference_pipeline = pipeline(
|
||||
task=Tasks.auto_speech_recognition,
|
||||
model="damo/speech_UniASR_asr_2pass-vi-16k-common-vocab1001-pytorch-online",
|
||||
)
|
||||
rec_result = inference_pipeline(
|
||||
audio_in="https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/test_audio/asr_example_vi.wav",
|
||||
param_dict={"decoding_model": "normal"},
|
||||
)
|
||||
logger.info("asr inference result: {0}".format(rec_result))
|
||||
|
||||
def test_uniasr_2pass_zhcn_8k_common_vocab3445_offline(self):
|
||||
inference_pipeline = pipeline(
|
||||
task=Tasks.auto_speech_recognition,
|
||||
model="damo/speech_UniASR_asr_2pass-zh-cn-8k-common-vocab3445-pytorch-offline",
|
||||
)
|
||||
rec_result = inference_pipeline(
|
||||
audio_in="https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/test_audio/asr_example_zh.wav",
|
||||
param_dict={"decoding_model": "offline"},
|
||||
)
|
||||
logger.info("asr inference result: {0}".format(rec_result))
|
||||
|
||||
def test_uniasr_2pass_zhcn_8k_common_vocab3445_online(self):
|
||||
inference_pipeline = pipeline(
|
||||
task=Tasks.auto_speech_recognition,
|
||||
model="damo/speech_UniASR_asr_2pass-zh-cn-8k-common-vocab3445-pytorch-online",
|
||||
)
|
||||
rec_result = inference_pipeline(
|
||||
audio_in="https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/test_audio/asr_example_zh.wav",
|
||||
param_dict={"decoding_model": "normal"},
|
||||
)
|
||||
logger.info("asr inference result: {0}".format(rec_result))
|
||||
|
||||
def test_uniasr_2pass_zhcn_8k_common_vocab8358_offline(self):
|
||||
inference_pipeline = pipeline(
|
||||
task=Tasks.auto_speech_recognition,
|
||||
model="damo/speech_UniASR_asr_2pass-zh-cn-8k-common-vocab8358-tensorflow1-offline",
|
||||
)
|
||||
rec_result = inference_pipeline(
|
||||
audio_in="https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/test_audio/asr_example_zh.wav",
|
||||
param_dict={"decoding_model": "offline"},
|
||||
)
|
||||
logger.info("asr inference result: {0}".format(rec_result))
|
||||
|
||||
def test_uniasr_2pass_zhcn_8k_common_vocab8358_online(self):
|
||||
inference_pipeline = pipeline(
|
||||
task=Tasks.auto_speech_recognition,
|
||||
model="damo/speech_UniASR_asr_2pass-zh-cn-8k-common-vocab8358-tensorflow1-online",
|
||||
)
|
||||
rec_result = inference_pipeline(
|
||||
audio_in="https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/test_audio/asr_example_zh.wav",
|
||||
param_dict={"decoding_model": "normal"},
|
||||
)
|
||||
logger.info("asr inference result: {0}".format(rec_result))
|
||||
|
||||
def test_uniasr_2pass_zhcn_16k_common_vocab8358_offline(self):
|
||||
inference_pipeline = pipeline(
|
||||
task=Tasks.auto_speech_recognition,
|
||||
model="damo/speech_UniASR_asr_2pass-zh-cn-16k-common-vocab8358-tensorflow1-offline",
|
||||
)
|
||||
rec_result = inference_pipeline(
|
||||
audio_in="https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/test_audio/asr_example_zh.wav",
|
||||
param_dict={"decoding_model": "offline"},
|
||||
)
|
||||
logger.info("asr inference result: {0}".format(rec_result))
|
||||
|
||||
def test_uniasr_2pass_zhcn_16k_common_vocab8358_online(self):
|
||||
inference_pipeline = pipeline(
|
||||
task=Tasks.auto_speech_recognition,
|
||||
model="damo/speech_UniASR_asr_2pass-zh-cn-16k-common-vocab8358-tensorflow1-online",
|
||||
)
|
||||
rec_result = inference_pipeline(
|
||||
audio_in="https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/test_audio/asr_example_zh.wav",
|
||||
param_dict={"decoding_model": "normal"},
|
||||
)
|
||||
logger.info("asr inference result: {0}".format(rec_result))
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
@@ -0,0 +1,36 @@
|
||||
import unittest
|
||||
|
||||
from modelscope.pipelines import pipeline
|
||||
from modelscope.utils.constant import Tasks
|
||||
from modelscope.utils.logger import get_logger
|
||||
|
||||
logger = get_logger()
|
||||
|
||||
|
||||
class TestParaformerInferencePipelines(unittest.TestCase):
|
||||
def test_funasr_path(self):
|
||||
import funasr
|
||||
import os
|
||||
|
||||
logger.info("run_dir:{0} ; funasr_path: {1}".format(os.getcwd(), funasr.__file__))
|
||||
|
||||
def test_inference_pipeline(self):
|
||||
inference_pipeline = pipeline(
|
||||
task=Tasks.auto_speech_recognition,
|
||||
model="damo/speech_paraformer-large-vad-punc_asr_nat-zh-cn-16k-common-vocab8404-pytorch",
|
||||
model_revision="v1.2.1",
|
||||
vad_model="damo/speech_fsmn_vad_zh-cn-16k-common-pytorch",
|
||||
vad_model_revision="v1.1.8",
|
||||
punc_model="damo/punc_ct-transformer_zh-cn-common-vocab272727-pytorch",
|
||||
punc_model_revision="v1.1.6",
|
||||
ngpu=1,
|
||||
)
|
||||
rec_result = inference_pipeline(
|
||||
audio_in="https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/test_audio/asr_example_zh.wav"
|
||||
)
|
||||
logger.info("asr_vad_punc inference result: {0}".format(rec_result))
|
||||
assert rec_result["text"] == "欢迎大家来体验达摩院推出的语音识别模型。"
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
@@ -0,0 +1,27 @@
|
||||
import unittest
|
||||
|
||||
from modelscope.pipelines import pipeline
|
||||
from modelscope.utils.constant import Tasks
|
||||
from modelscope.utils.logger import get_logger
|
||||
|
||||
logger = get_logger()
|
||||
|
||||
|
||||
class TestTransformerInferencePipelines(unittest.TestCase):
|
||||
def test_funasr_path(self):
|
||||
import funasr
|
||||
import os
|
||||
|
||||
logger.info("run_dir:{0} ; funasr_path: {1}".format(os.getcwd(), funasr.__file__))
|
||||
|
||||
def test_inference_pipeline(self):
|
||||
inference_pipeline = pipeline(
|
||||
task=Tasks.language_score_prediction,
|
||||
model="damo/speech_transformer_lm_zh-cn-common-vocab8404-pytorch",
|
||||
)
|
||||
rec_result = inference_pipeline(text_in="hello 大 家 好 呀")
|
||||
logger.info("lm inference result: {0}".format(rec_result))
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
@@ -0,0 +1,43 @@
|
||||
import unittest
|
||||
|
||||
from modelscope.pipelines import pipeline
|
||||
from modelscope.utils.constant import Tasks
|
||||
from modelscope.utils.logger import get_logger
|
||||
|
||||
logger = get_logger()
|
||||
|
||||
|
||||
class TestTransformerInferencePipelines(unittest.TestCase):
|
||||
def test_funasr_path(self):
|
||||
import funasr
|
||||
import os
|
||||
|
||||
logger.info("run_dir:{0} ; funasr_path: {1}".format(os.getcwd(), funasr.__file__))
|
||||
|
||||
def test_inference_pipeline(self):
|
||||
inference_pipeline = pipeline(
|
||||
task=Tasks.punctuation,
|
||||
model="damo/punc_ct-transformer_zh-cn-common-vocab272727-pytorch",
|
||||
model_revision="v1.1.7",
|
||||
)
|
||||
inputs = "./egs_modelscope/punctuation/punc_ct-transformer_zh-cn-common-vocab272727-pytorch/data/punc_example.txt"
|
||||
rec_result = inference_pipeline(text_in=inputs)
|
||||
logger.info("punctuation inference result: {0}".format(rec_result))
|
||||
|
||||
def test_vadrealtime_inference_pipeline(self):
|
||||
inference_pipeline = pipeline(
|
||||
task=Tasks.punctuation,
|
||||
model="damo/punc_ct-transformer_zh-cn-common-vad_realtime-vocab272727",
|
||||
)
|
||||
inputs = "跨境河流是养育沿岸|人民的生命之源长期以来为帮助下游地区防灾减灾中方技术人员|在上游地区极为恶劣的自然条件下克服巨大困难甚至冒着生命危险|向印方提供汛期水文资料处理紧急事件中方重视印方在跨境河流问题上的关切|愿意进一步完善双方联合工作机制|凡是|中方能做的我们|都会去做而且会做得更好我请印度朋友们放心中国在上游的|任何开发利用都会经过科学|规划和论证兼顾上下游的利益"
|
||||
vads = inputs.split("|")
|
||||
rec_result_all = "outputs:"
|
||||
param_dict = {"cache": []}
|
||||
for vad in vads:
|
||||
rec_result = inference_pipeline(text_in=vad, param_dict=param_dict)
|
||||
rec_result_all += rec_result["text"]
|
||||
logger.info("punctuation inference result: {0}".format(rec_result_all))
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
@@ -0,0 +1,48 @@
|
||||
import unittest
|
||||
|
||||
import numpy as np
|
||||
from modelscope.pipelines import pipeline
|
||||
from modelscope.utils.constant import Tasks
|
||||
from modelscope.utils.logger import get_logger
|
||||
|
||||
logger = get_logger()
|
||||
|
||||
|
||||
class TestXVectorInferencePipelines(unittest.TestCase):
|
||||
def test_funasr_path(self):
|
||||
import funasr
|
||||
import os
|
||||
|
||||
logger.info("run_dir:{0} ; funasr_path: {1}".format(os.getcwd(), funasr.__file__))
|
||||
|
||||
def test_inference_pipeline(self):
|
||||
inference_sv_pipline = pipeline(
|
||||
task=Tasks.speaker_verification,
|
||||
model="damo/speech_xvector_sv-zh-cn-cnceleb-16k-spk3465-pytorch",
|
||||
)
|
||||
|
||||
# the same speaker
|
||||
rec_result = inference_sv_pipline(
|
||||
audio_in=(
|
||||
"https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/test_audio/sv_example_enroll.wav",
|
||||
"https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/test_audio/sv_example_same.wav",
|
||||
)
|
||||
)
|
||||
assert (
|
||||
abs(rec_result["scores"][0] - 0.85) < 0.1 and abs(rec_result["scores"][1] - 0.14) < 0.1
|
||||
)
|
||||
logger.info(f"Similarity {rec_result['scores']}")
|
||||
|
||||
# different speaker
|
||||
rec_result = inference_sv_pipline(
|
||||
audio_in=(
|
||||
"https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/test_audio/sv_example_enroll.wav",
|
||||
"https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/test_audio/sv_example_different.wav",
|
||||
)
|
||||
)
|
||||
assert abs(rec_result["scores"][0] - 0.0) < 0.1 and abs(rec_result["scores"][1] - 1.0) < 0.1
|
||||
logger.info(f"Similarity {rec_result['scores']}")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
@@ -0,0 +1,58 @@
|
||||
import unittest
|
||||
|
||||
from modelscope.pipelines import pipeline
|
||||
from modelscope.utils.constant import Tasks
|
||||
from modelscope.utils.logger import get_logger
|
||||
|
||||
logger = get_logger()
|
||||
|
||||
|
||||
class TestTimestampPredictionPipelines(unittest.TestCase):
|
||||
def test_funasr_path(self):
|
||||
import funasr
|
||||
import os
|
||||
|
||||
logger.info("run_dir:{0} ; funasr_path: {1}".format(os.getcwd(), funasr.__file__))
|
||||
|
||||
def test_inference_pipeline(self):
|
||||
inference_pipeline = pipeline(
|
||||
task=Tasks.speech_timestamp,
|
||||
model="damo/speech_timestamp_prediction-v1-16k-offline",
|
||||
model_revision="v1.1.0",
|
||||
)
|
||||
|
||||
rec_result = inference_pipeline(
|
||||
audio_in="https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/test_audio/asr_example_timestamps.wav",
|
||||
text_in="一 个 东 太 平 洋 国 家 为 什 么 跑 到 西 太 平 洋 来 了 呢",
|
||||
)
|
||||
print(rec_result)
|
||||
logger.info("punctuation inference result: {0}".format(rec_result))
|
||||
assert rec_result == {
|
||||
"text": "<sil> 0.000 0.380;一 0.380 0.560;个 0.560 0.800;东 0.800 0.980;太 0.980 1.140;平 1.140 1.260;洋 1.260 1.440;国 1.440 1.680;家 1.680 1.920;<sil> 1.920 2.040;为 2.040 2.200;什 2.200 2.320;么 2.320 2.500;跑 2.500 2.680;到 2.680 2.860;西 2.860 3.040;太 3.040 3.200;平 3.200 3.380;洋 3.380 3.500;来 3.500 3.640;了 3.640 3.800;呢 3.800 4.150;<sil> 4.150 4.440;",
|
||||
"timestamp": [
|
||||
[380, 560],
|
||||
[560, 800],
|
||||
[800, 980],
|
||||
[980, 1140],
|
||||
[1140, 1260],
|
||||
[1260, 1440],
|
||||
[1440, 1680],
|
||||
[1680, 1920],
|
||||
[2040, 2200],
|
||||
[2200, 2320],
|
||||
[2320, 2500],
|
||||
[2500, 2680],
|
||||
[2680, 2860],
|
||||
[2860, 3040],
|
||||
[3040, 3200],
|
||||
[3200, 3380],
|
||||
[3380, 3500],
|
||||
[3500, 3640],
|
||||
[3640, 3800],
|
||||
[3800, 4150],
|
||||
],
|
||||
}
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
@@ -0,0 +1,85 @@
|
||||
import unittest
|
||||
|
||||
from modelscope.pipelines import pipeline
|
||||
from modelscope.utils.constant import Tasks
|
||||
from modelscope.utils.logger import get_logger
|
||||
|
||||
logger = get_logger()
|
||||
|
||||
|
||||
class TestFSMNInferencePipelines(unittest.TestCase):
|
||||
def test_funasr_path(self):
|
||||
import funasr
|
||||
import os
|
||||
|
||||
logger.info("run_dir:{0} ; funasr_path: {1}".format(os.getcwd(), funasr.__file__))
|
||||
|
||||
def test_8k(self):
|
||||
inference_pipeline = pipeline(
|
||||
task=Tasks.voice_activity_detection,
|
||||
model="damo/speech_fsmn_vad_zh-cn-8k-common",
|
||||
)
|
||||
rec_result = inference_pipeline(
|
||||
audio_in="https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/test_audio/vad_example_8k.wav"
|
||||
)
|
||||
logger.info("vad inference result: {0}".format(rec_result))
|
||||
assert rec_result["text"] == [
|
||||
[0, 1960],
|
||||
[2870, 6730],
|
||||
[7960, 10180],
|
||||
[12140, 14830],
|
||||
[15740, 19400],
|
||||
[20220, 24230],
|
||||
[25540, 27290],
|
||||
[30070, 30970],
|
||||
[32070, 34280],
|
||||
[35990, 37050],
|
||||
[39400, 41020],
|
||||
[41810, 47320],
|
||||
[48120, 52150],
|
||||
[53560, 58310],
|
||||
[59290, 62210],
|
||||
[63110, 66420],
|
||||
[67300, 68280],
|
||||
[69670, 71770],
|
||||
[73100, 75550],
|
||||
[76850, 78500],
|
||||
[79380, 83280],
|
||||
[85000, 92320],
|
||||
[93560, 94110],
|
||||
[94990, 95620],
|
||||
[96940, 97590],
|
||||
[98400, 100530],
|
||||
[101600, 104890],
|
||||
[108780, 110900],
|
||||
[112020, 113460],
|
||||
[114210, 115030],
|
||||
]
|
||||
|
||||
def test_16k(self):
|
||||
inference_pipeline = pipeline(
|
||||
task=Tasks.voice_activity_detection,
|
||||
model="damo/speech_fsmn_vad_zh-cn-16k-common-pytorch",
|
||||
)
|
||||
rec_result = inference_pipeline(
|
||||
audio_in="https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/test_audio/vad_example.wav"
|
||||
)
|
||||
logger.info("vad inference result: {0}".format(rec_result))
|
||||
assert rec_result["text"] == [
|
||||
[70, 2340],
|
||||
[2620, 6200],
|
||||
[6480, 23670],
|
||||
[23950, 26250],
|
||||
[26780, 28990],
|
||||
[29950, 31430],
|
||||
[31750, 37600],
|
||||
[38210, 46900],
|
||||
[47310, 49630],
|
||||
[49910, 56460],
|
||||
[56740, 59540],
|
||||
[59820, 70450],
|
||||
]
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
Reference in new issue
Block a user