FunASR/setup.py
zhifu gao 3b0526e7be
update with main (#1783)
* add cmakelist

* add paraformer-torch

* add debug for funasr-onnx-offline

* fix redefinition of jieba StdExtension.hpp

* add loading torch models

* update funasr-onnx-offline

* add SwitchArg for wss-server

* add SwitchArg for funasr-onnx-offline

* update cmakelist

* update funasr-onnx-offline-rtf

* add define condition

* add gpu define for offlne-stream

* update com define

* update offline-stream

* update cmakelist

* update func CompileHotwordEmbedding

* add timestamp for paraformer-torch

* add C10_USE_GLOG for paraformer-torch

* update paraformer-torch

* fix func FunASRWfstDecoderInit

* update model.h

* fix func FunASRWfstDecoderInit

* fix tpass_stream

* update paraformer-torch

* add bladedisc for funasr-onnx-offline

* update comdefine

* update funasr-wss-server

* add log for torch

* fix GetValue BLADEDISC

* fix log

* update cmakelist

* update warmup to 10

* update funasrruntime

* add batch_size for wss-server

* add batch for bins

* add batch for offline-stream

* add batch for paraformer

* add batch for offline-stream

* fix func SetBatchSize

* add SetBatchSize for model

* add SetBatchSize for model

* fix func Forward

* fix padding

* update funasrruntime

* add dec reset for batch

* set batch default value

* add argv for CutSplit

* sort frame_queue

* sorted msgs

* fix FunOfflineInfer

* add dynamic batch for fetch

* fix FetchDynamic

* update run_server.sh

* update run_server.sh

* cpp http post server support (#1739)

* add cpp http server

* add some comment

* remove some comments

* del debug infos

* restore run_server.sh

* adapt to new model struct

* 修复了onnxruntime在macos下编译失败的错误 (#1748)

* Add files via upload

增加macos的编译支持

* Add files via upload

增加macos支持

* Add files via upload

target_link_directories(funasr PUBLIC ${ONNXRUNTIME_DIR}/lib)
target_link_directories(funasr PUBLIC ${FFMPEG_DIR}/lib)
添加 if(APPLE) 限制

---------

Co-authored-by: Yabin Li <wucong.lyb@alibaba-inc.com>

* Delete docs/images/wechat.png

* Add files via upload

* fixed the issues about seaco-onnx timestamp

* fix bug (#1764)

当语音识别结果包含 `http` 时,标点符号预测会把它会被当成 url

* fix empty asr result (#1765)

解码结果为空的语音片段,text 用空字符串

* docs

* docs

* docs

* docs

* docs

* keep empty speech result (#1772)

* docs

* docs

* update wechat QRcode

* Add python funasr api support for websocket srv (#1777)

* add python funasr_api supoort

* change little to README.md

* add core tools stream

* modified a little

* fix bug for timeout

* support for buffer decode

* add ffmpeg decode for buffer

* auto frontend

* auto frontend

---------

Co-authored-by: 雾聪 <wucong.lyb@alibaba-inc.com>
Co-authored-by: zhaomingwork <61895407+zhaomingwork@users.noreply.github.com>
Co-authored-by: szsteven008 <97944818+szsteven008@users.noreply.github.com>
Co-authored-by: Ephemeroptera <605686962@qq.com>
Co-authored-by: 彭震东 <zhendong.peng@qq.com>
Co-authored-by: Shi Xian <40013335+R1ckShi@users.noreply.github.com>
Co-authored-by: 维石 <shixian.shi@alibaba-inc.com>
2024-06-04 11:21:36 +08:00

152 lines
4.5 KiB
Python

#!/usr/bin/env python3
"""FunASR setup script."""
import os
from setuptools import find_packages
from setuptools import setup
requirements = {
"install": [
"scipy>=1.4.1",
"librosa",
"jamo", # For kss
"PyYAML>=5.1.2",
"soundfile>=0.12.1",
"kaldiio>=2.17.0",
"torch_complex",
# "nltk>=3.4.5",
"sentencepiece", # train
"jieba",
"rotary_embedding_torch",
# "ffmpeg-python",
# "pypinyin>=0.44.0",
# "espnet_tts_frontend",
# ENH
"pytorch_wpe",
"editdistance>=0.5.2",
# "g2p",
# "nara_wpe",
# PAI
"oss2",
# "edit-distance",
# "textgrid",
# "protobuf",
"tqdm",
"umap_learn",
"jaconv",
"hydra-core>=1.3.2",
"tensorboardX",
# "rotary_embedding_torch",
"openai-whisper",
],
# train: The modules invoked when training only.
"train": [
"editdistance",
],
# all: The modules should be optionally installled due to some reason.
# Please consider moving them to "install" occasionally
"all": [
# NOTE(kamo): Append modules requiring specific pytorch version or torch>1.3.0
"torch_optimizer",
"fairscale",
"transformers",
"openai-whisper",
],
"setup": [
"numpy",
"pytest-runner",
],
"test": [
"pytest>=3.3.0",
"pytest-timeouts>=1.2.1",
"pytest-pythonpath>=0.7.3",
"pytest-cov>=2.7.1",
"hacking>=2.0.0",
"mock>=2.0.0",
"pycodestyle",
"jsondiff<2.0.0,>=1.2.0",
"flake8>=3.7.8",
"flake8-docstrings>=1.3.1",
"black",
],
"doc": [
"Jinja2",
"Sphinx",
"sphinx-rtd-theme>=0.2.4",
"sphinx-argparse>=0.2.5",
"commonmark",
"recommonmark>=0.4.0",
"nbsphinx>=0.4.2",
"sphinx-markdown-tables>=0.0.12",
"configargparse>=1.2.1",
],
"llm": [
"transformers>=4.32.0",
"accelerate",
"tiktoken",
"einops",
"transformers_stream_generator>=0.0.4",
"scipy",
"torchvision",
"pillow",
"matplotlib",
],
}
requirements["all"].extend(requirements["train"])
requirements["all"].extend(requirements["llm"])
requirements["test"].extend(requirements["train"])
install_requires = requirements["install"]
setup_requires = requirements["setup"]
tests_require = requirements["test"]
extras_require = {k: v for k, v in requirements.items() if k not in ["install", "setup"]}
dirname = os.path.dirname(__file__)
version_file = os.path.join(dirname, "funasr", "version.txt")
with open(version_file, "r") as f:
version = f.read().strip()
setup(
name="funasr",
version=version,
url="https://github.com/alibaba-damo-academy/FunASR.git",
author="Speech Lab of Alibaba Group",
author_email="funasr@list.alibaba-inc.com",
description="FunASR: A Fundamental End-to-End Speech Recognition Toolkit",
long_description=open(os.path.join(dirname, "README.md"), encoding="utf-8").read(),
long_description_content_type="text/markdown",
license="The MIT License",
packages=find_packages(include=["funasr*"]),
package_data={"funasr": ["version.txt"]},
install_requires=install_requires,
setup_requires=setup_requires,
tests_require=tests_require,
extras_require=extras_require,
python_requires=">=3.7.0",
classifiers=[
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Science/Research",
"Operating System :: POSIX :: Linux",
"License :: OSI Approved :: Apache Software License",
"Topic :: Software Development :: Libraries :: Python Modules",
],
entry_points={
"console_scripts": [
"funasr = funasr.bin.inference:main_hydra",
"funasr-train = funasr.bin.train:main_hydra",
"funasr-export = funasr.bin.export:main_hydra",
"scp2jsonl = funasr.datasets.audio_datasets.scp2jsonl:main_hydra",
"jsonl2scp = funasr.datasets.audio_datasets.jsonl2scp:main_hydra",
"funasr-scp2jsonl = funasr.datasets.audio_datasets.scp2jsonl:main_hydra",
"funasr-jsonl2scp = funasr.datasets.audio_datasets.jsonl2scp:main_hydra",
]
},
)