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

 找回密码
 立即注册
查看: 623|回复: 6

[技术探讨] 用脚本通过语音助手实现MusicAssistant的控制搜索播放!

[复制链接]

76

主题

623

帖子

2704

积分

金牌会员

Rank: 6Rank: 6

积分
2704
金钱
2076
HASS币
0
发表于 2025-1-2 17:11:18 | 显示全部楼层 |阅读模式
本帖最后由 lichao622 于 2025-1-2 17:19 编辑

MusicAssistant目前无法通过语音助手(llm)播放。用脚本的方式,可以完美实现,搜索播放!
语音助手(官方或者自制),语音助手配置的是chtgpt的中转api(或者其他的llm也可以)
实现效果,播放xx的歌曲,播放xx的专辑,播放xx的xx歌曲。播放xx的xx专辑,来首好听的歌曲,适合晚饭的歌曲。
可以识别房间。语音助手会自动传入房间信息(前提是给语音助手分配好了房间),比如你在客厅说播放xx,那么客厅的播放器就会播放。在其他房间同理。如果要控制不在同一房间的播放器,需要指出区域,比如在客厅说,在书房播放音乐。
随便说,llm都会处理!

alias: 指定房间播放歌曲
description: 在指定房间的播放器上播放特定歌曲或专辑,如果未匹配到房间则使用默认播放器
fields:
  room:
    description: 要播放的房间名称(如:客厅、主卧)
    example: 客厅
  media_id:
    description: 歌曲名称
    example: 青花瓷
  artist:
    description: 艺术家名称
    example: 周杰伦
  album:
    description: 专辑名称
    example: 魔杰座
sequence:
  - variables:
      player: |-
        {% if room == '客厅' %}
          media_player.denon_avr_2
        {% elif room == '主卧' %}
          media_player.bedroom_speaker
        {% elif room == '书房' %}
          media_player.study_speaker
        {% else %}
          media_player.denon_avr_2
        {% endif %}
  - target:
      entity_id: "{{ player }}"
    data:
      media_id: "{{ media_id | default('') }}"
      artist: "{{ artist | default('') }}"
      album: "{{ album | default('') }}"
      enqueue: replace
      radio_mode: true
    action: music_assistant.play_media
mode: single




评分

参与人数 2金钱 +24 收起 理由
DDDear + 12 高手,这是高手!
隔壁的王叔叔 + 12 高手,这是高手!

查看全部评分

回复

使用道具 举报

16

主题

227

帖子

1221

积分

金牌会员

Rank: 6Rank: 6

积分
1221
金钱
994
HASS币
0
发表于 2025-1-2 17:40:12 | 显示全部楼层
社区有你更精彩,感谢分享
回复

使用道具 举报

76

主题

623

帖子

2704

积分

金牌会员

Rank: 6Rank: 6

积分
2704
金钱
2076
HASS币
0
 楼主| 发表于 2025-1-2 18:41:39 | 显示全部楼层
duanyudan123 发表于 2025-1-2 17:40
社区有你更精彩,感谢分享

谢谢
回复

使用道具 举报

43

主题

203

帖子

1450

积分

金牌会员

Rank: 6Rank: 6

积分
1450
金钱
1247
HASS币
0
发表于 2025-1-8 17:58:11 | 显示全部楼层
没有写过这个,这个是放在HA的哪个地方?
回复

使用道具 举报

76

主题

623

帖子

2704

积分

金牌会员

Rank: 6Rank: 6

积分
2704
金钱
2076
HASS币
0
 楼主| 发表于 2025-1-8 20:52:41 | 显示全部楼层
lambilly 发表于 2025-1-8 17:58
没有写过这个,这个是放在HA的哪个地方?

脚本,公开给助手
回复

使用道具 举报

43

主题

203

帖子

1450

积分

金牌会员

Rank: 6Rank: 6

积分
1450
金钱
1247
HASS币
0
发表于 2025-1-9 12:42:11 | 显示全部楼层
lichao622 发表于 2025-1-8 20:52
脚本,公开给助手

弄好了,为什么在语音助手中下指令没有起作用?也公开了。alias: 指定房间播放歌曲
description: 在指定房间的播放器上播放特定歌曲或专辑,如果未匹配到房间则使用默认播放器
fields:
  room:
    description: 要播放的房间名称(如:客厅、主卧)
    example: 客厅
  media_id:
    description: 歌曲名称
    example: 青花瓷
  artist:
    description: 艺术家名称
    example: 周杰伦
  album:
    description: 专辑名称
    example: 魔杰座
sequence:
  - variables:
      player: |-
        {% if room == '客厅' %}
          media_player.yu_yin_bo_fang_qi
        {% elif room == '书房' %}
          media_player.hda_intel_pch
        {% else %}
          media_player.yu_yin_bo_fang_qi
        {% endif %}
  - target:
      entity_id: "{{ player }}"
    data:
      media_id: "{{ media_id | default('') }}"
      artist: "{{ artist | default('') }}"
      album: "{{ album | default('') }}"
      enqueue: replace
      radio_mode: true
    action: music_assistant.play_media
mode: single


回复

使用道具 举报

76

主题

623

帖子

2704

积分

金牌会员

Rank: 6Rank: 6

积分
2704
金钱
2076
HASS币
0
 楼主| 发表于 2025-1-13 14:30:44 | 显示全部楼层
lambilly 发表于 2025-1-9 12:42
弄好了,为什么在语音助手中下指令没有起作用?也公开了。alias: 指定房间播放歌曲
description: 在指定房 ...

用的哪个大模型,要把脚本公开。用llm作为语音助手
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2025-3-6 17:31 , Processed in 0.051165 second(s), 29 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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