# F5-TTS 本项目基于 **F5-TTS** 模型封装,提供简洁的 Docker 部署方式,支持 **SSML 输入**,输出 **PCM 原始音频**,可用于语音合成。 --- ## Quickstart ### 1. 安装镜像 ```bash docker build -t tts:f5 . -f Dockerfile_f5 ``` ### 2. 启动服务 ```bash docker run -it --rm \ -v /models/F5-TTS_Emilia-ZH-EN:/mnt/models \ -e ASCEND_VISIBLE_DEVICES=1 \ --device /dev/davinci2:/dev/davinci0 \ --device /dev/davinci_manager \ --device /dev/devmm_svm \ --device /dev/hisi_hdc \ -v /usr/local/dcmi:/usr/local/dcmi \ -v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi \ -v /usr/local/Ascend/driver/lib64/:/usr/local/Ascend/driver/lib64/ \ -v /usr/local/Ascend/driver/version.info:/usr/local/Ascend/driver/version.info \ -v /etc/ascend_install.info:/etc/ascend_install.info \ --privileged \ -p 8080:80 \ -e MODEL_DIR=/mnt/models \ -e MODEL_NAME=model_1250000.safetensors \ tts:f5 ``` 参数说明: - `MODEL_DIR`:模型所在目录(挂载到容器内 `/mnt/models`) - `MODEL_NAME`:加载的模型文件名(通常为 `.safetensors`) - `-p 8080:80`:将容器内服务端口映射到宿主机 `8080` ### 3. 测试服务 ```bash curl --request POST "http://localhost:8080/tts" \ --header 'Content-Type: application/ssml+xml' \ --header 'User-Agent: curl' \ --data-raw ' 今天天气很好,不知道明天天气怎么样。 ' \ --output sound.pcm ``` --- ## Notes - Fix NPU 兼容问题: F5-TTS/src/f5_tts/model/modules.py -> get_vocos_mel_spectrogram()