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

 找回密码
 立即注册
查看: 434|回复: 7

[技术探讨] MusicAssistant中文意图模板无反应

[复制链接]

7

主题

72

帖子

697

积分

高级会员

Rank: 4

积分
697
金钱
625
HASS币
0
发表于 2024-12-24 09:15:32 | 显示全部楼层 |阅读模式
本帖最后由 piajava 于 2024-12-25 09:18 编辑

12.25更新,经过不断试错,将<artist>删掉就能在开发者工具中正常识别了,但是后来又遇到语音助手无法处理中文意图的bug,拼尽全力无法战胜,只好等更新再测试——————————————————————————————————————————————————————————————————————
前两天入手了官方assistant voice硬件,搭配官方推荐的MusicAssistant,想着终于可以通过语音控制音箱放歌了。
奈何实际一通操作下来发现并不行,查阅了MusicAssistant文档https://music-assistant.io/integration/voice/,说需要添加扩展意图,然而MusicAssistant只有英文的意图,于是试着汉化一下添加了进去。(en和zh-cn的意图都添加了)
现在问题是,在开发者工具-assistant中,语句解析器能正确识别英文的意图,没添加过扩展意图的中文(台湾)能识别中文意图,但是切换到中文(中国)后解析语句直接无反应,后台也看不到日志,是我意图配置有问题还是ha意图本身的缺陷?
下面是尝试的扩展意图设置
language: "zh-cn"
intents:
  MassPlayMediaAssist:
    data:

      # 定位区域
      - sentences:
          - "<play><artist>{artist}<in>{area}"
          - "<play>[<artist>{artist}的]<album>{album}<in>{area}"
          - "<play>[<artist>{artist}的]<track>{track}<in>{area}"
          - "<play><playlist>{playlist}<in>{area}"
          - "<play><radio_station>{radio}<in>{area}"
        expansion_rules:
          play: "(play|播放|收听)"
          artist: "(artist|艺术家|歌手)"
          track: "(track|歌曲|音乐)"
          album: "(album|专辑|唱片|合集|单曲)"
          playlist: "(playlist|播放列表)"
          radio_station: "(radio_station|广播电台|电台|频道)"
          in: "(in|在)"

      # 定位名称
      - sentences:
          - "<play><artist>{artist}<on>[<player_devices>]{name}"
          - "<play>[<artist>{artist}的]<album>{album}<on>[<player_devices>]{name}"
          - "<play>[<artist>{artist}的]<track>{track}<on>[<player_devices>]{name}"
          - "<play><playlist>{playlist}<on>[<player_devices>]{name}"
          - "<play><radio_station>{radio}<on>[<player_devices>]{name}"
        expansion_rules:
          play: "(play|播放|收听)"
          player_devices: "(player_devices|扬声器|播放器)"
          on: "(on|通过|用)"
          artist: "(artist|艺术家|歌手)"
          track: "(track|歌曲|音乐)"
          album: "(album|专辑|唱片|合集|单曲)"
          playlist: "(playlist|播放列表)"
          radio_station: "(radio_station|广播电台|电台|频道)"
        requires_context:
          domain: "media_player"

      # 定位区域和名称
      - sentences:
          - "<play><artist>{artist}<in>{area}<on>[<player_devices>]{name}"
          - "<play>[<artist>{artist}的]<album>{album}<in>{area}<on>[<player_devices>]{name}"
          - "<play>[<artist>{artist}的]<track>{track}<in>{area}<on>[<player_devices>]{name}"
          - "<play><playlist>{playlist}<in>{area}<on>[<player_devices>]{name}"
          - "<play><radio_station>{radio}<in>{area}<on>[<player_devices>]{name}"
        expansion_rules:
          play: "(play|播放|收听)"
          player_devices: "(player_devices|扬声器|播放器)"
          on: "(on|通过|用|里的)"
          artist: "(artist|艺术家|歌手)"
          track: "(track|歌曲|音乐)"
          album: "(album|专辑|唱片|合集|单曲)"
          playlist: "(playlist|播放列表)"
          radio_station: "(radio_station|广播电台|电台|频道)"
          in: "(in|在|用)"

      # 上下文感知
      - sentences:
          - "<play><artist>{artist}"
          - "<play>[<artist>{artist}的]<album>{album}"
          - "<play>[<artist>{artist}的]<track>{track}"
          - "<play><playlist>{playlist}"
          - "<play><radio_station>{radio}"
        expansion_rules:
          play: "(play|播放|收听)"
          artist: "(artist|艺术家|歌手)"
          track: "(track|歌曲|音乐)"
          album: "(album|专辑|唱片|合集|单曲)"
          playlist: "(playlist|播放列表)"
          radio_station: "(radio_station|广播电台|电台|频道)"
        requires_context:
          area:
            slot: true

lists:
  artist:
    wildcard: true
  album:
    wildcard: true
  track:
    wildcard: true
  playlist:
    wildcard: true
  radio:
    wildcard: true
  radio_mode:
    values:
      - "radio mode"



回复

使用道具 举报

75

主题

608

帖子

2610

积分

金牌会员

Rank: 6Rank: 6

积分
2610
金钱
1997
HASS币
0
发表于 2024-12-24 16:49:27 | 显示全部楼层
终于有人同样的问题了。就是意图不支持。没办法。据说下个月也不支持,可能官方蓝图解决吧
回复

使用道具 举报

7

主题

72

帖子

697

积分

高级会员

Rank: 4

积分
697
金钱
625
HASS币
0
 楼主| 发表于 2024-12-25 09:15:35 | 显示全部楼层
lichao622 发表于 2024-12-24 16:49
终于有人同样的问题了。就是意图不支持。没办法。据说下个月也不支持,可能官方蓝图解决吧 ...

其实有点不一样,现在我这个问题呢解决了,通过不断试错,删掉所有<artist>字段后可以在开发者工具-assistant中成功判断意图。
然后就遇到你的问题了,当前中文环境的意图语言判断有问题,zh-cn中途会被识别成zh,进而所有中文意图全都无法正常识别,我看见github仓库上已经有类似的pr,并且在前几天已经通过了,就是不知道实际更新推送是时候
回复

使用道具 举报

75

主题

608

帖子

2610

积分

金牌会员

Rank: 6Rank: 6

积分
2610
金钱
1997
HASS币
0
发表于 2024-12-25 09:57:23 | 显示全部楼层
piajava 发表于 2024-12-25 09:15
其实有点不一样,现在我这个问题呢解决了,通过不断试错,删掉所有字段后可以在开发者工具-assistant中成 ...

那也就只能等等了,语音助手控制播放这可是太重要的内容了
回复

使用道具 举报

7

主题

72

帖子

697

积分

高级会员

Rank: 4

积分
697
金钱
625
HASS币
0
 楼主| 发表于 2024-12-29 17:53:21 | 显示全部楼层
lichao622 发表于 2024-12-25 09:57
那也就只能等等了,语音助手控制播放这可是太重要的内容了

中文意图的问题在新版本解决了。
Musicassistant的问题也解决了,解决方式是将Musicassistant切换到HACS版的集成
回复

使用道具 举报

75

主题

608

帖子

2610

积分

金牌会员

Rank: 6Rank: 6

积分
2610
金钱
1997
HASS币
0
发表于 2024-12-30 17:41:06 | 显示全部楼层
piajava 发表于 2024-12-29 17:53
中文意图的问题在新版本解决了。
Musicassistant的问题也解决了,解决方式是将Musicassistant切换到HACS ...

2025.1版本吗,我看目前是测试版,就没更新。如果更新到2025.1后。然后把Musicassistant核心集成换成hacs集成吗?
回复

使用道具 举报

75

主题

608

帖子

2610

积分

金牌会员

Rank: 6Rank: 6

积分
2610
金钱
1997
HASS币
0
发表于 2024-12-30 18:19:24 | 显示全部楼层
但是回退还是没有解决。。
回复

使用道具 举报

7

主题

72

帖子

697

积分

高级会员

Rank: 4

积分
697
金钱
625
HASS币
0
 楼主| 发表于 2024-12-31 00:00:34 | 显示全部楼层
lichao622 发表于 2024-12-30 17:41
2025.1版本吗,我看目前是测试版,就没更新。如果更新到2025.1后。然后把Musicassistant核心集成换成hacs ...

我还在用24.12.5,然后把Musicassistant核心集成换成hacs集成。
看看日志报错什么,换hacs集成主要解决“homeassistant.helpers.intent.UnknownIntent: Unknown intent MassPlayMediaAssist”这条报错
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2025-2-3 05:00 , Processed in 0.089338 second(s), 29 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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