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

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

[智能音箱] Music Assistant语音命令随机播放nas歌曲(手拉手教程)

[复制链接]

158

主题

2502

帖子

7776

积分

元老级技术达人

积分
7776
金钱
5269
HASS币
30
 楼主| 发表于 2025-1-23 21:10:06 | 显示全部楼层
lichao622 发表于 2025-1-22 10:37
我现在已经开始用官方的llm蓝图了。很好用。https://github.com/music-assistant/voice-support?tab=readme ...

你真是的,又说官方的自动化好用,又问我要,我感觉我写的,更简单,逻辑适合我们平时的口语习惯。
回复

使用道具 举报

7

主题

72

帖子

697

积分

高级会员

Rank: 4

积分
697
金钱
625
HASS币
0
发表于 2025-1-23 22:57:50 | 显示全部楼层
本帖最后由 piajava 于 2025-1-23 23:04 编辑

我分享一下自己在用的方案:
1.官方本地句子触发器蓝图https://github.com/music-assista ... t_blueprint_en.yaml的修改版,目前的问题是可以指定播放设备但无法指定区域,需要手动设置下default_player_entity_id:triggers:
  - trigger: conversation
    command:
      - 在{area_or_player_name}(播放|收听)(专辑|唱片|合集|单曲){media_name}
      - (播放|收听)(专辑|唱片|合集|单曲){media_name}
    id: album
  - trigger: conversation
    command:
      - 在{area_or_player_name}(播放|收听)(歌曲|音乐){media_name}
      - (播放|收听)(歌曲|音乐){media_name}
    id: track
  - trigger: conversation
    command:
      - 在{area_or_player_name}(播放|收听)(歌手|艺术家){media_name}的(歌|音乐)
      - (播放|收听)(歌手|艺术家){media_name}的(歌|音乐)
    id: artist
  - trigger: conversation
    command:
      - 在{area_or_player_name}(播放|收听)(广播电台|电台|频道){media_name}
      - (播放|收听)(广播电台|电台|频道){media_name}
    id: radio
  - trigger: conversation
    command:
      - 在{area_or_player_name}(播放|收听)播放列表{media_name}
      - (播放|收听)播放列表{media_name}
    id: playlist
2.配合官方大模型脚本https://github.com/music-assista ... m_voice_script.yaml,本地识别不出来的时候配置的ai助理会尝试调用脚本生成播放命令。
回复

使用道具 举报

75

主题

608

帖子

2608

积分

金牌会员

Rank: 6Rank: 6

积分
2608
金钱
1995
HASS币
0
发表于 2025-1-23 23:13:59 | 显示全部楼层
piajava 发表于 2025-1-23 22:57
我分享一下自己在用的方案:
1.官方本地句子触发器蓝图https://github.com/music-assista ... t_blueprint_ ...

实测不说地址可以直接传入助手所在的位置,说了区域就能指定传入了区域对应的播放器了。但是有个问题,关于播放列表这个,一般都是播放艺术家的播放列表,比如许嵩。就要说播放播放列表许嵩。感觉好别扭哈哈。
回复

使用道具 举报

75

主题

608

帖子

2608

积分

金牌会员

Rank: 6Rank: 6

积分
2608
金钱
1995
HASS币
0
发表于 2025-1-23 23:15:07 | 显示全部楼层
piajava 发表于 2025-1-23 22:57
我分享一下自己在用的方案:
1.官方本地句子触发器蓝图https://github.com/music-assista ... t_blueprint_ ...

楼主的方案有个优点,可以判断是传入播放列表还是艺术家。
回复

使用道具 举报

7

主题

72

帖子

697

积分

高级会员

Rank: 4

积分
697
金钱
625
HASS币
0
发表于 2025-1-23 23:19:43 | 显示全部楼层
lichao622 发表于 2025-1-23 23:13
实测不说地址可以直接传入助手所在的位置,说了区域就能指定传入了区域对应的播放器了。但是有个问题,关 ...

因为我自己没有按歌手创建播放列表,指定歌手我是直接说 播放歌手许嵩的歌,不过这样子播放出来的还没有办法随机播放,每次的顺序都是一样的。也许可以试试把播放列表那里的关键字换一下看有没有不那么别扭的哈哈
回复

使用道具 举报

75

主题

608

帖子

2608

积分

金牌会员

Rank: 6Rank: 6

积分
2608
金钱
1995
HASS币
0
发表于 2025-1-23 23:29:49 | 显示全部楼层
piajava 发表于 2025-1-23 23:19
因为我自己没有按歌手创建播放列表,指定歌手我是直接说 播放歌手许嵩的歌,不过这样子播放出来的还没有 ...

我是接入的苹果音乐,然后有时候,比如许嵩,如果是播放列表就会有20多首歌曲,如果是艺术家只有10首,大部分都是这样,但是也有的歌手,没有播放列表,只有艺术家,比如说,播放播放列表焦迈奇。就没办法放了。就要换个说法,换成艺术家的说法,就这点很烦。
回复

使用道具 举报

75

主题

608

帖子

2608

积分

金牌会员

Rank: 6Rank: 6

积分
2608
金钱
1995
HASS币
0
发表于 2025-1-23 23:32:45 | 显示全部楼层
piajava 发表于 2025-1-23 23:19
因为我自己没有按歌手创建播放列表,指定歌手我是直接说 播放歌手许嵩的歌,不过这样子播放出来的还没有 ...

随机播放,你直接可以在music assist里面设置,有随机播放。
其实我想了最好的说法是比如 播放许嵩的歌/歌曲。然后查找是否有播放列表,有就播播放列表,没有就艺术家。类似楼主的。但是区域怎么传入呢。
回复

使用道具 举报

7

主题

72

帖子

697

积分

高级会员

Rank: 4

积分
697
金钱
625
HASS币
0
发表于 2025-1-23 23:43:36 | 显示全部楼层
lichao622 发表于 2025-1-23 23:29
我是接入的苹果音乐,然后有时候,比如许嵩,如果是播放列表就会有20多首歌曲,如果是艺术家只有10首,大 ...

可能是歌曲元数据的一个通病,比如1.A和B共同演唱的版本,这时候艺术家也许会识别为一个叫A/B的人。2.艺术家信息有差别,比如简体和繁体,中文和英文,这是我在MA上经常会遇到的。这两个痛点确实是手动创建一个对应的播放列表比较容易解决。
回复

使用道具 举报

7

主题

72

帖子

697

积分

高级会员

Rank: 4

积分
697
金钱
625
HASS币
0
发表于 2025-1-23 23:49:24 | 显示全部楼层
lichao622 发表于 2025-1-23 23:32
随机播放,你直接可以在music assist里面设置,有随机播放。
其实我想了最好的说法是比如 播放许嵩的歌/ ...

MA官方的蓝图区域和播放设备是同级的,用的变量{area_or_player_name}。
随机播放这个,我不确定调用随机播放是会将当前播放队列随机播放还是将整个媒体库随机播放,后者就难搞了
回复

使用道具 举报

158

主题

2502

帖子

7776

积分

元老级技术达人

积分
7776
金钱
5269
HASS币
30
 楼主| 发表于 2025-1-24 10:36:05 | 显示全部楼层
lichao622 发表于 2025-1-23 23:32
随机播放,你直接可以在music assist里面设置,有随机播放。
其实我想了最好的说法是比如 播放许嵩的歌/ ...

我就是这样的呀,优先使用播放播放列表,如果没有,才播放艺术家的,2选一,优先播放列表
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2025-2-2 11:52 , Processed in 0.114508 second(s), 30 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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