『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
楼主: ptbsare

[技术探讨] 本地语言助手基于Sherpa Onnx的Wyoming STT/TTS Addon无惧断网纯离线

[复制链接]

2

主题

40

帖子

151

积分

注册会员

Rank: 2

积分
151
金钱
111
HASS币
0
发表于 2025-2-14 21:30:17 | 显示全部楼层
支持一个,
回复

使用道具 举报

3

主题

16

帖子

207

积分

中级会员

Rank: 3Rank: 3

积分
207
金钱
191
HASS币
0
发表于 2025-2-14 22:01:08 | 显示全部楼层
你好,我是在树莓派4b(4G)版本上运行,STT没有问题,但是TTS,但凡文字多一点(超过20个字样子)就没有朗读声音
回复

使用道具 举报

1

主题

47

帖子

300

积分

论坛技术达人

积分
300
金钱
253
HASS币
0
 楼主| 发表于 2025-2-14 22:24:23 | 显示全部楼层
物联网不互联 发表于 2025-2-14 22:01
你好,我是在树莓派4b(4G)版本上运行,STT没有问题,但是TTS,但凡文字多一点(超过20个字样子)就没有朗 ...

你好,个人主观推测可能有两种原因(我手上没有树莓派没有测试过):
1、树莓派可用内存可能不太够OOM了。
2、CPU性能可能不够,跑的模型又太大导致合成时间太长(导致homeassistant认为TTS合成超时了?待验证),你可以多等一会儿。
打开DEBUG,在日志里面看下,有没有
”Sent TTS Chunk"
"Sent Audio Stop”
这样的字眼来判定模型究竟有没有把音频发送出去。
3、我不了解树莓派现在的性能水平是怎样的,跑TTS个人还是建议使用稍微强一些的CPU。
回复

使用道具 举报

164

主题

2644

帖子

8174

积分

元老级技术达人

积分
8174
金钱
5525
HASS币
30
发表于 2025-2-15 14:48:56 | 显示全部楼层
报错内容如下,我用的是0.28版,是什么原因造成的,配置的威联通nas。j41245.  20G内存,用的是自定义模型列子
INFO:sherpa_onnx_addon:Synthesizing: 下午好,现在是北京时间
ERROR:asyncio:Task exception was never retrieved
future: <Task finished name='wyoming event handler' coro=<AsyncEventHandler.run() done, defined at /usr/local/lib/python3.11/dist-packages/wyoming/server.py:31> exception=ConnectionResetError('Connection lost')>
Traceback (most recent call last):
  File "/usr/local/lib/python3.11/dist-packages/wyoming/server.py", line 41, in run
    if not (await self.handle_event(event)):
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/run.py", line 131, in handle_event
    await self.write_event(
  File "/usr/local/lib/python3.11/dist-packages/wyoming/server.py", line 29, in write_event
    await async_write_event(event, self.writer)
  File "/usr/local/lib/python3.11/dist-packages/wyoming/event.py", line 131, in async_write_event
    await writer.drain()
  File "/usr/lib/python3.11/asyncio/streams.py", line 378, in drain
DEBUG:sherpa_onnx_addon:Received event: Event(type='describe', data=None, payload=None)


回复

使用道具 举报

1

主题

47

帖子

300

积分

论坛技术达人

积分
300
金钱
253
HASS币
0
 楼主| 发表于 2025-2-15 15:55:52 | 显示全部楼层
bugensui 发表于 2025-2-15 14:48
报错内容如下,我用的是0.28版,是什么原因造成的,配置的威联通nas。j41245.  20G内存,用的是自定义模型 ...

详细说下你的安装方式 docker的环境变量配置,与homeassistant是怎么安装的,看到你报的错是connection lost,这个跟模型关系不大可能是你的docker与homeassistant之间通信问题(Connection Reset日志)。
如果你要使用vits-melo-tts-zh_en这个模型已经不用自定义模型了 这个在0.2.9里面已经内置了,升级镜像到0.2.9然后设置TTS_MODEL环境变量即可,详见帖子更新日志。
回复

使用道具 举报

164

主题

2644

帖子

8174

积分

元老级技术达人

积分
8174
金钱
5525
HASS币
30
发表于 2025-2-15 16:59:39 | 显示全部楼层
本帖最后由 bugensui 于 2025-2-15 17:00 编辑
ptbsare 发表于 2025-2-15 15:55
详细说下你的安装方式 docker的环境变量配置,与homeassistant是怎么安装的,看到你报的错是connection l ...

配置如下,haos是部署在威联通nas的虚拟机里的,docker也是部署威联通nas里的,都是1个网段,ip都是这样192.168.0.***。并且我又测试了下,几个字的可以成功。长点的就报错,真是奇怪,应该不是通信不通,我的nas配置刚刚发了,到底是什么问题,这个长文本不行的问题,我之前也反馈过,另外上面也有家友说树莓派上不行,我的配置按照道理,应该设备的配置是够的
version: "3.9"
services:
  certimate:
    image: ghcr.io/ptbsare/home-assistant-addons/amd64-addon-sherpa-onnx-tts-stt:0.2.8
    container_name: sherpa-onnx-tts-stt
    environment:
      LANGUAGE: "zh-CN"

      STT_USE_INT8_ONNX_MODEL: "True"
      STT_THREAD_NUM: "8"

      CUSTOM_TTS_MODEL: "vits-melo-tts-zh_en"
      CUSTOM_TTS_MODEL_EVAL: |
        sherpa_onnx.OfflineTts(
          sherpa_onnx.OfflineTtsConfig(
          model=sherpa_onnx.OfflineTtsModelConfig(
          vits=sherpa_onnx.OfflineTtsVitsModelConfig(
          model="/tts-models/vits-melo-tts-zh_en/model.onnx",
          lexicon="/tts-models/vits-melo-tts-zh_en/lexicon.txt",
          tokens="/tts-models/vits-melo-tts-zh_en/tokens.txt",
          dict_dir="/tts-models/vits-melo-tts-zh_en/dict",
          ),
         provider="cpu",
         num_threads=8,
          debug=True,
          ),
          rule_fsts="/tts-models/vits-melo-tts-zh_en/phone.fst,/tts-models/vits-melo-tts-zh_en/date.fst,/tts-models/vits-melo-tts-zh_en/number.fst",                 
          max_num_sentences=1,
          )
        )
      DEBUG: "True"
    ports:
      - 10400:10400
    restart: unless-stopped


部分日志.txt

34.54 KB, 下载次数: 1

错误日志

回复

使用道具 举报

1

主题

47

帖子

300

积分

论坛技术达人

积分
300
金钱
253
HASS币
0
 楼主| 发表于 2025-2-15 17:49:51 | 显示全部楼层
本帖最后由 ptbsare 于 2025-2-15 17:52 编辑
bugensui 发表于 2025-2-15 16:59
配置如下,haos是部署在威联通nas的虚拟机里的,docker也是部署威联通nas里的,都是1个网段,ip都是这样19 ...

你好,谢谢你,了解了哈,我这边看你的日志。初步判断可能是威联通过于频繁的容器health check打断了语音合成的过程,这个导致短语音可以,长语音被health check打断了。但是我手上没有威联通,我劳烦您提供一下。在威联通里面运行这个命令的输出,完整输出给我,我需要排查一下,谢谢。
docker inspect 你的容器名字
例如:
docker inspect tts-stt
回复

使用道具 举报

164

主题

2644

帖子

8174

积分

元老级技术达人

积分
8174
金钱
5525
HASS币
30
发表于 2025-2-15 18:05:32 | 显示全部楼层
ptbsare 发表于 2025-2-15 17:49
你好,谢谢你,了解了哈,我这边看你的日志。初步判断可能是威联通过于频繁的容器health check打断了语音 ...

已经发了,作者大佬,还有个小问题,即使短文本,tts合成速度都很慢,感觉不正常,比如“客厅窗帘已经打开”,能合成,但是3-4秒以上,感觉不是很正常,我直接用haos的加载项里,也部署了你的项目,也是长文本不行,我之前以为是haos虚拟机给的内存不够,虚拟机haos的只给了4g内存,后来我删了加载项里的,我换成了威联通的docker,毕竟可以直接享受20g内存,按照道理配置应该够,stt好像也不快,我也部署了另外1个大佬的stt的离线项目,基本上秒识别,奇怪,感觉也不是威联通的问题
$ docker inspect sherpa-onnx-tts-stt
[
    {
        "Id": "9944353cc0bc6fe407eb1c049339354dafd6d54e0dfc9e660869088c0b639ae0",
        "Created": "2025-02-15T06:40:33.623722684Z",
        "Path": "/init",
        "Args": [],
        "State": {
            "Status": "running",
            "Running": true,
            "Paused": false,
            "Restarting": false,
            "OOMKilled": false,
            "Dead": false,
            "Pid": 5439,
            "ExitCode": 0,
            "Error": "",
            "StartedAt": "2025-02-15T06:43:26.369582229Z",
            "FinishedAt": "2025-02-15T06:43:25.544117355Z",
            "Health": {
                "Status": "healthy",
                "FailingStreak": 0,
                "Log": [
                    {
                        "Start": "2025-02-15T17:35:11.796267995+08:00",
                        "End": "2025-02-15T17:35:13.982849776+08:00",
                        "ExitCode": 0,
                        "Output": ""
                    },
                    {
                        "Start": "2025-02-15T17:40:13.983657188+08:00",
                        "End": "2025-02-15T17:40:16.181561414+08:00",
                        "ExitCode": 0,
                        "Output": ""
                    },
                    {
                        "Start": "2025-02-15T17:45:16.182367908+08:00",
                        "End": "2025-02-15T17:45:18.322771343+08:00",
                        "ExitCode": 0,
                        "Output": ""
                    },
                    {
                        "Start": "2025-02-15T17:50:18.324331318+08:00",
                        "End": "2025-02-15T17:50:20.422867614+08:00",
                        "ExitCode": 0,
                        "Output": ""
                    },
                    {
                        "Start": "2025-02-15T17:55:20.424306133+08:00",
                        "End": "2025-02-15T17:55:22.533803951+08:00",
                        "ExitCode": 0,
                        "Output": ""
                    }
                ]
            }
        },
        "Image": "sha256:1e86cff5c9dfe1a848fb2e50adf158e9fe77c763b1965fa984ba2612918cb421",
        "ResolvConfPath": "/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/containers/9944353cc0bc6fe407eb1c049339354dafd6d54e0dfc9e660869088c0b639ae0/resolv.conf",
        "HostnamePath": "/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/containers/9944353cc0bc6fe407eb1c049339354dafd6d54e0dfc9e660869088c0b639ae0/hostname",
        "HostsPath": "/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/containers/9944353cc0bc6fe407eb1c049339354dafd6d54e0dfc9e660869088c0b639ae0/hosts",
        "LogPath": "/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/containers/9944353cc0bc6fe407eb1c049339354dafd6d54e0dfc9e660869088c0b639ae0/9944353cc0bc6fe407eb1c049339354dafd6d54e0dfc9e660869088c0b639ae0-json.log",
        "Name": "/sherpa-onnx-tts-stt",
        "RestartCount": 0,
        "Driver": "overlay2",
        "Platform": "linux",
        "MountLabel": "",
        "ProcessLabel": "",
        "AppArmorProfile": "docker-default",
        "ExecIDs": null,
        "HostConfig": {
            "Binds": null,
            "ContainerIDFile": "",
            "LogConfig": {
                "Type": "json-file",
                "Config": {
                    "max-file": "10",
                    "max-size": "10m"
                }
            },
            "NetworkMode": "wyoming_default",
            "PortBindings": {
                "10400/tcp": [
                    {
                        "HostIp": "",
                        "HostPort": "10400"
                    }
                ]
            },
            "RestartPolicy": {
                "Name": "always",
                "MaximumRetryCount": 0
            },
            "AutoRemove": false,
            "VolumeDriver": "",
            "VolumesFrom": null,
            "ConsoleSize": [
                0,
                0
            ],
            "CapAdd": null,
            "CapDrop": null,
            "CgroupnsMode": "host",
            "Dns": null,
            "DnsOptions": null,
            "DnsSearch": null,
            "ExtraHosts": [],
            "GroupAdd": null,
            "IpcMode": "private",
            "Cgroup": "",
            "Links": null,
            "OomScoreAdj": 0,
            "PidMode": "",
            "Privileged": false,
            "PublishAllPorts": false,
            "ReadonlyRootfs": false,
            "SecurityOpt": null,
            "UTSMode": "",
            "UsernsMode": "",
            "ShmSize": 67108864,
            "Runtime": "runc",
            "Isolation": "",
            "CpuShares": 0,
            "Memory": 0,
            "NanoCpus": 0,
            "CgroupParent": "",
            "BlkioWeight": 0,
            "BlkioWeightDevice": null,
            "BlkioDeviceReadBps": null,
            "BlkioDeviceWriteBps": null,
            "BlkioDeviceReadIOps": null,
            "BlkioDeviceWriteIOps": null,
            "CpuPeriod": 0,
            "CpuQuota": 0,
            "CpuRealtimePeriod": 0,
            "CpuRealtimeRuntime": 0,
            "CpusetCpus": "",
            "CpusetMems": "",
            "Devices": null,
            "DeviceCgroupRules": null,
            "DeviceRequests": null,
            "MemoryReservation": 0,
            "MemorySwap": 0,
            "MemorySwappiness": null,
            "OomKillDisable": false,
            "PidsLimit": null,
            "Ulimits": [
                {
                    "Name": "nofile",
                    "Hard": 65535,
                    "Soft": 65535
                }
            ],
            "CpuCount": 0,
            "CpuPercent": 0,
            "IOMaximumIOps": 0,
            "IOMaximumBandwidth": 0,
            "MaskedPaths": [
                "/proc/asound",
                "/proc/acpi",
                "/proc/kcore",
                "/proc/keys",
                "/proc/latency_stats",
                "/proc/timer_list",
                "/proc/timer_stats",
                "/proc/sched_debug",
                "/proc/scsi",
                "/sys/firmware",
                "/sys/devices/virtual/powercap"
            ],
            "ReadonlyPaths": [
                "/proc/bus",
                "/proc/fs",
                "/proc/irq",
                "/proc/sys",
                "/proc/sysrq-trigger"
            ]
        },
        "GraphDriver": {
            "Data": {
                "LowerDir": "/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/6cd95cca3bbdf9b1637d677f4c515518391d5366f20036543dea0b70f2b0bd28-init/diff:/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/5956ed47bf13cae834c3abbc682dad75349173013471ba3e8187df0f7dca6c19/diff:/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/53aeb30e10b85fc3097ad50e018cb051bd6376da9805e67a782360c97dcb01b6/diff:/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/2408a30073545b5eeb1f6cb98cd78e6b28c5d393238b98b316e17535b2b7cd67/diff:/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/5cf7e93ebb00547faf2a9054ec091d795600730be5297d7fe6f07ed7ca6dad8e/diff:/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/8cb03b87020497978f2c266223139657e3cd1921c7be5c9122804343184f181a/diff:/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/a4b3436c9e26bb2bf36d985279af48950f73ebde104bf7e82458c4c45ac4b141/diff:/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/1168d3626b4640b70a6d3f8669bf26aad3d061cc8ed2e342ee3766a510a4474f/diff:/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/40acfe6dbba1861e08d48ad9fb2b885b732d1e7d4293adc68ddd4751a4c635bb/diff:/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/c80580a0b9678059f71cc839f53e252c6b820e8edde823d55abf8b0116d260fc/diff:/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/c41052779323e6a77fb610defbe685903955000ea63c28a39ca28d8b104b715f/diff:/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/adc57323516ed348fca763b9f221e507c76dfa0e489cb3d113123da60d7c9234/diff:/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/0f9a0b2039a64ebee8fcbbaaddfa900cc68a82fdac4dbc38d29943844bb5e7ba/diff:/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/a211cca488a8d4d03497719f900208a10f5850ba311e62b5630899f6cd836326/diff:/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/2a83f39680bc0c19b3ad92ca8a63f1d12cec8c680e5e32bdcdf963405cbd7642/diff:/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/88021c76798f67b89def09d69086a914620b091728cb8a605e46f5ed91b42be5/diff:/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/ad7d216dadac41eb92c56347b8248505eac138b95a00184b8fe61b86971f1545/diff:/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/0a25283aa9f01f124c78f75a5dc47ef2ebdafa68dd6991c2f27a0826337a1742/diff:/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/e3c2a96480c049d2e9eb251f0d2de570c2719e71e7351700f9ccf41175acba85/diff:/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/ff735cd1171e0a8b87db7e06f8a1d71a59c7485137d5151732c85eb54f098fcb/diff:/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/dc1c179d5f60554e4dc7f5050be0c0e7a52fbe0c13ff747440f62d9c99aa4aa7/diff",
                "MergedDir": "/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/6cd95cca3bbdf9b1637d677f4c515518391d5366f20036543dea0b70f2b0bd28/merged",
                "UpperDir": "/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/6cd95cca3bbdf9b1637d677f4c515518391d5366f20036543dea0b70f2b0bd28/diff",
                "WorkDir": "/share/CACHEDEV1_DATA/Container/container-station-data/lib/docker/overlay2/6cd95cca3bbdf9b1637d677f4c515518391d5366f20036543dea0b70f2b0bd28/work"
            },
            "Name": "overlay2"
        },
        "Mounts": [],
        "Config": {
            "Hostname": "9944353cc0bc",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": true,
            "AttachStderr": true,
            "ExposedPorts": {
                "10400/tcp": {}
            },
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "CUSTOM_TTS_MODEL_EVAL=sherpa_onnx.OfflineTts(\n  sherpa_onnx.OfflineTtsConfig(\n  model=sherpa_onnx.OfflineTtsModelConfig(\n  vits=sherpa_onnx.OfflineTtsVitsModelConfig(\n  model="/tts-models/vits-melo-tts-zh_en/model.onnx",\n  lexicon="/tts-models/vits-melo-tts-zh_en/lexicon.txt",\n  tokens="/tts-models/vits-melo-tts-zh_en/tokens.txt",\n  dict_dir="/tts-models/vits-melo-tts-zh_en/dict",\n  ),\n provider="cpu",\n num_threads=8,\n  debug=True,\n  ),\n  rule_fsts="/tts-models/vits-melo-tts-zh_en/phone.fst,/tts-models/vits-melo-tts-zh_en/date.fst,/tts-models/vits-melo-tts-zh_en/number.fst",                 \n  max_num_sentences=1,\n  )\n)\n",
                "DEBUG=True",
                "LANGUAGE=zh-CN",
                "STT_USE_INT8_ONNX_MODEL=True",
                "STT_THREAD_NUM=8",
                "CUSTOM_TTS_MODEL=vits-melo-tts-zh_en",
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "LANG=C.UTF-8",
                "DEBIAN_FRONTEND=noninteractive",
                "CURL_CA_BUNDLE=/etc/ssl/certs/ca-certificates.crt",
                "S6_BEHAVIOUR_IF_STAGE2_FAILS=2",
                "S6_CMD_WAIT_FOR_SERVICES_MAXTIME=0",
                "S6_CMD_WAIT_FOR_SERVICES=1",
                "S6_SERVICES_READYTIME=50",
                "SPEED=1.0",
                "STT_MODEL=sherpa-onnx-paraformer-zh-2023-03-28",
                "TTS_MODEL=matcha-icefall-zh-baker",
                "TTS_THREAD_NUM=3",
                "TTS_SPEAKER_SID=0",
                "CUSTOM_STT_MODEL=null",
                "CUSTOM_STT_MODEL_EVAL=null"
            ],
            "Cmd": null,
            "Healthcheck": {
                "Test": [
                    "CMD-SHELL",
                    "echo '{ "type": "describe" }'         | nc -w 1 localhost 10400         | grep -iq "Sherpa"         || exit 1"
                ],
                "Interval": 300000000000,
                "StartPeriod": 180000000000
            },
            "Image": "ghcr.io/ptbsare/home-assistant-addons/amd64-addon-sherpa-onnx-tts-stt:0.2.8",
            "Volumes": null,
            "WorkingDir": "/app",
            "Entrypoint": [
                "/init"
            ],
            "OnBuild": null,
            "Labels": {
                "com.docker.compose.config-hash": "cc2f80873b53e2d4db2214ab31b27b48fcef079c7592d8a8a257a735379fca71",
                "com.docker.compose.container-number": "1",
                "com.docker.compose.depends_on": "",
                "com.docker.compose.image": "sha256:1e86cff5c9dfe1a848fb2e50adf158e9fe77c763b1965fa984ba2612918cb421",
                "com.docker.compose.oneoff": "False",
                "com.docker.compose.project": "wyoming",
                "com.docker.compose.project.config_files": "/share/CACHEDEV1_DATA/.qpkg/container-station/data/application/wyoming/docker-compose.yml,/share/CACHEDEV1_DATA/.qpkg/container-station/data/application/wyoming/docker-compose.resource.yml",
                "com.docker.compose.project.working_dir": "/share/CACHEDEV1_DATA/.qpkg/container-station/data/application/wyoming",
                "com.docker.compose.service": "certimate",
                "com.docker.compose.version": "2.29.1",
                "io.hass.arch": "amd64",
                "io.hass.base.arch": "amd64",
                "io.hass.base.image": "debian:bookworm-slim",
                "io.hass.base.name": "debian",
                "io.hass.base.version": "2024.12.1",
                "io.hass.type": "base",
                "io.hass.version": "2024.12.1",
                "org.opencontainers.image.created": "2024-12-13 17:06:10+00:00",
                "org.opencontainers.image.revision": "48c6a8c1fc7d6398105e3fd961c90d5f9449e823",
                "org.opencontainers.image.source": "https://github.com/ptbsare/home-assistant-addons",
                "org.opencontainers.image.version": "2024.12.1"
            }
        },
        "NetworkSettings": {
            "Bridge": "",
            "SandboxID": "750c6332428ecc4f37c575605e58203979f4b7dbaea023d1e775c8e86dc3279a",
            "SandboxKey": "/var/run/docker/netns/750c6332428e",
            "Ports": {
                "10400/tcp": [
                    {
                        "HostIp": "0.0.0.0",
                        "HostPort": "10400"
                    }
                ]
            },
            "HairpinMode": false,
            "LinkLocalIPv6Address": "",
            "LinkLocalIPv6PrefixLen": 0,
            "SecondaryIPAddresses": null,
            "SecondaryIPv6Addresses": null,
            "EndpointID": "",
            "Gateway": "",
            "GlobalIPv6Address": "",
            "GlobalIPv6PrefixLen": 0,
            "IPAddress": "",
            "IPPrefixLen": 0,
            "IPv6Gateway": "",
            "MacAddress": "",
            "Networks": {
                "wyoming_default": {
                    "IPAMConfig": null,
                    "Links": null,
                    "Aliases": [
                        "sherpa-onnx-tts-stt",
                        "certimate"
                    ],
                    "MacAddress": "02:42:ac:1d:04:02",
                    "DriverOpts": null,
                    "NetworkID": "6a2bbc6b02c7ace9112f343ceebba16265d85dbaecb374a90493cf2c86dd741e",
                    "EndpointID": "92f114bffe3846cc5352e8200c0846494d9b7f7a6bb1ce5f3c18f50f54b65cc8",
                    "Gateway": "172.29.4.1",
                    "IPAddress": "172.29.4.2",
                    "IPPrefixLen": 22,
                    "IPv6Gateway": "",
                    "GlobalIPv6Address": "",
                    "GlobalIPv6PrefixLen": 0,
                    "DNSNames": [
                        "sherpa-onnx-tts-stt",
                        "certimate",
                        "9944353cc0bc"
                    ]
                }
            }
        }
    }
]

回复

使用道具 举报

1

主题

47

帖子

300

积分

论坛技术达人

积分
300
金钱
253
HASS币
0
 楼主| 发表于 2025-2-15 18:22:35 | 显示全部楼层
本帖最后由 ptbsare 于 2025-2-15 18:29 编辑
bugensui 发表于 2025-2-15 18:05
已经发了,作者大佬,还有个小问题,即使短文本,tts合成速度都很慢,感觉不正常,比如“客厅窗帘已经打开 ...

好的,了解了哈,现在可能确认是你机器合成长文本用时较长被定期的HEALTHCKECK打断了,这个不管是在虚拟机中还是在docker中都是一样的原因,下一个版本我会强制拉长dockerfile HEALTHCHECK的间隔,在这之前,如果你想正常合成超长文本,建议关闭威联通docker container的HEALTHCHECK,docker run 命令里面加入`-no-healthcheck`这个参数即可,我不知道威联通docker管理界面是怎样的,你想办法在启动容器的docker run命令中加入-no-healthcheck这个参数或者搜搜教程如何关闭威联通docker容器的健康检查。
关于STT,如果默认的大模型速度不满意,建议将STT_MODEL设置成内置的sherpa-onnx-paraformer-zh-small-2024-03-09,这个模型更小更快。
老生常谈:STT/TTS本就是需要较强CPU性能的运算,不能指望在任意CPU上都能秒出结果。其速度均取决于您的机器性能/分配的线程数量和选择的模型是什么,只能保证模型一样硬件配置一样速度才是一样的,当然效果也是一样的;建议选择适合你机器的模型,或者想选择效果好模型的同时也提升硬件配置。
回复

使用道具 举报

164

主题

2644

帖子

8174

积分

元老级技术达人

积分
8174
金钱
5525
HASS币
30
发表于 2025-2-15 18:48:03 | 显示全部楼层
ptbsare 发表于 2025-2-15 18:22
好的,了解了哈,现在可能确认是你机器合成长文本用时较长被定期的HEALTHCKECK打断了,这个不管是在虚拟机 ...

好的,谢谢大佬的耐心排查,health check是nas的健康策略是吧,他干扰了docker的处理是吧。那没事,我等新版本吧,奇怪,不知道其他人都没有这样的情况
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2025-3-4 22:48 , Processed in 0.132856 second(s), 32 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表