手册目录
由 AI 生成 DMX 流
此功能让 AI 为一首音乐编写完整的灯光设计,逐帧生成,形式是一个 DMX 流(一个 .DmxStreaming 文件)。DreamShow 会准备一份请求,其中描述场地、逐通道列出的所选灯具,以及对音乐的分析(速度、拍子、小节、段落、重音)。您把它粘贴到一个能运行 Python 的 AI 对话中;AI 会还给您一个文件,由 DreamShow 检查、必要时修正,然后和音乐一起放进一个场景。
与 用 AI 创建演出 不同——后者生成可以逐块修改的场景——这里的结果是一份 DMX 录制:内容非常丰富,与音乐完美对齐,但只能原样重放。
打开方式: 菜单 文件 > 由 AI 生成 DMX 流…
演出必须至少保存过一次:数据流和音乐会放入其媒体文件夹。否则 DreamShow 会显示“请先保存演出:数据流和音乐将放入其媒体文件夹。”。同时必须已加载一个场地。
在您于 AI 对话中工作期间,该窗口保持打开。

1. 音乐
- 下拉列表提供演出媒体文件夹中已有的声音文件(wav、mp3、m4a、aac、wma、flac)。第一个会被默认选中。
- 浏览…:在磁盘的其他位置选择声音文件;它会加入列表并成为所选的音乐。
一旦选定音乐,DreamShow 就会分析它(“正在分析音乐…”),然后显示结果,例如:“214.3 秒,124 BPM,442 拍,110 小节,7 段,26 个重音。”。分析期间,请求按钮会变灰。如果文件无法读取:“无法读取:…”。
2. 相关灯具
列表显示场地中所有的灯具,标记为“隐藏”的除外,格式为 标识 名称。起初全部勾选。
- 全部 / 无:全部勾选或全部取消勾选。
- 场地中的每个 分组 对应一个按钮(提示气泡“添加或移除该组”):勾选该组的所有灯具;如果它们已全部勾选,则取消勾选。
- 计数器“… / …”表示已勾选的数量。
只有已勾选的灯具才会被描述给 AI,返回时也只接受它们的通道。请取消勾选音乐不应控制的设备(烟机、观众席照明等)。
找不到定义的灯具,或其通道超出其域的 512 地址的灯具,会被排除;状态行会提示:“已跳过(找不到定义或地址超出域):…”。
3. 创意意图(可选)
自由文本区域:描述您想要的效果(“开头是冷蓝色氛围,副歌时色彩爆发,桥段中摇头灯呈扇形展开…”)。该文字会原样插入请求中。留空时,请求会让 AI 做出一个跟随乐曲结构、画面多样、摇头灯动作新颖的灯光设计。
- 复制请求:生成请求并复制到剪贴板。状态行显示其大小(“请求:… 个字符,… 台灯具,… 个通道。”),随后是“已复制:请粘贴到 AI 对话中。若对话拒绝过长的消息,请保存后以附件形式发送。”
- 保存请求…:把同一份请求保存为 Markdown(
.md)或文本(.txt)文件。建议的文件名:<音乐名称>-ia-consigne.md。当对话拒绝过长的消息时很实用:改为附上该文件。
如果还没有分析任何音乐:“请先选择音乐。”。如果没有勾选任何灯具:“未选择任何灯具。”。
请求包含什么
- 提出的要求:以
.DmxStreaming文件的形式创建乐曲的灯光,并规定了 必须使用的方法:AI 不得手写该文件,而是保存所提供的 Python 模块(dreamshow_stream.py,不得修改),编写一个逐帧描述灯光的脚本,运行它,然后把文件连同摘要一起交给您下载。如果它无法运行代码,就必须把完整的脚本交给您。 - 预期的文件名:
<音乐名称>-ia.DmxStreaming(简化的名称:小写、无重音符、用连字符)。 - 您的创意意图。
- 音乐:名称、时长、速度、拍数和小节数、可听部分的结束位置、重音,以及一张列有所检测到的段落及其强度和音域的表。
- 场地:其尺寸、以米为单位的坐标(x 从观众左侧到观众右侧,y 从舞台后方到观众,z 从地面起算)以及舞台的位置。
- 灯具:每种类型的型号、模式、数量、摇头灯的水平/垂直范围、像素单元,以及一张列出 所有通道 的表:作用、中性值、可能的取值、锁定 的通道和 禁止 的范围。
- 规则:覆盖整首乐曲,开始和结束时都为黑场;绝不触碰锁定的通道,也不写入禁止的范围;频闪有限制;动作有限制;要有创意。
- 文件格式和完整的 Python 模块,以及一个脚本示例。
锁定的通道与禁止的范围。 DreamShow 会在每台灯具的定义中找出可能使其脱离数据流或被扰乱的内容:复位(reset)、自动或声控程序、主/从模式、灯泡、反转、校准、显示、风扇等设置…… 整个维护通道会被 锁定(它始终保持在中性值);在其他地方,只有危险的范围才被 禁止。中性值使通道无害:遮光器打开、水平和垂直居中、运动速度为最大、无效果、色轮在白色。
4. AI 返回的结果
- 导入数据流…:选择 AI 还给您的
.DmxStreaming文件。DreamShow 会检查它(“正在检查数据流…”),并在演出的媒体文件夹中以所导入文件的名称写入一份 修正后的副本(如果该名称已存在,则加上“-2”、“-3”…)。您的原始文件不会被修改。 - 用此数据流添加场景:导入成功后可用。它会向演出中添加一个名为“AI:<音乐名称>”的场景,位置紧接在 场景 面板中所选场景之后(如果没有选中任何场景,则放在最后)。该场景包含:
- 一条“DMX IA”轨道,其中有一个 DMX 流块(▦ 加文件名),时长与数据流相同;
- 一条“声音”轨道,带有音乐,时长与乐曲相同。如果音乐来自其他位置(浏览… 按钮),它会被复制到演出的媒体文件夹中。 状态行会确认:“场景「…」已添加到演出。”。之后该按钮变灰(一次导入 = 一个场景)。
- 关闭:关闭窗口。
导入时已勾选的灯具才是有效的:请保持与生成请求时相同的选择。
检查与修正
报告显示在按钮下方。每一行以一个符号开头:✖ 错误,⚠ 警告,• 备注,✔ “未发现问题。”。有一行概括该文件:“… 帧,… 秒,每秒 … 帧,… 个通道。”。
错误(不会导入任何内容):
- “文件无法读取:…”:这不是有效的
.DmxStreaming文件。 - “文件中没有任何帧。”
- “文件中没有任何通道属于所选灯具(场地或配接不对?)。”
在副本中所做的修正:
- 外来通道:“已移除所选范围之外的 … 个通道:它们会控制其他设备。”
- 遗漏的通道:“文件中缺少的 … 个通道已按中性值补齐。”
- 禁止的值:写在锁定通道上或禁止范围内的任何值都会恢复为中性值:“… 个禁止值或锁定通道上的值已恢复为中性值(…)”,并列出受影响最多的五个通道。
- 摇头灯速度:真实的摇头灯每个轴每秒大约只能转 180°。如果数据流更快,DreamShow 会提示(“最快运动:… °/秒(…),超出摇头灯能跟随的速度(约 180 °/秒):副本已按灯具的实际能力将其放慢。”),并把每个轴限制在这个速度:这样,模拟显示的就是摇头灯真正会做出的动作。
警示(副本不会被修改):
- “频闪连续 … 秒(建议最多 4 秒)。”
- “频闪占曲目 … %(建议最多 10 %)。”
- “闪烁达每秒 … 次(…),超过 8。”(用亮度做出的闪烁)。
- 当数据流与音乐相差超过半秒时:“时长 … 秒,而音乐为 … 秒。”
备注:
- “所选灯具中有 … 台不在文件中:它们仍由场景控制。”(它们不会被强制设为中性值,否则就会熄灭)。
- 当数据流不是每秒 40 帧时:“文件帧率:每秒 … 帧。”
频闪警示是为舒适度和观众安全而设的提醒:如果出现其中任何一条,请让 AI 减少,或者自行修改场景。
数据流如何播放
- 当红线穿过数据流块时,文件中的每一帧都会在准确的时刻被应用。数据流只控制它自己的通道,涵盖所有相关的域;场景的其余部分正常继续。
- 暂停会冻结画面;单击时间线的标尺会重新定位数据流。该块没有渐变:在其属性中(双击该块)只能设置 起始(秒) 和 时长(秒)。
- 声音轨道上的音乐在同一时刻开始:数据流保持同步。
分步操作
- 如果演出是新的,请保存演出(Ctrl+S),并把音乐复制到其媒体文件夹中(资源库 面板的 导入媒体… 按钮),或者把它放在手边。
- 打开 文件 > 由 AI 生成 DMX 流…。
- 选择音乐,并等待分析行出现。
- 勾选相关的灯具(分组按钮能加快速度)。
- 如果有创意意图,请写下来。
- 单击 复制请求(如果消息对对话来说太长,则单击 保存请求…)。
- 在能运行 Python 的 AI 对话中,粘贴请求(或附上文件)并发送。让 AI 编写并运行它的脚本。
- 下载它生成的
.DmxStreaming文件。 - 在 DreamShow 中,单击 导入数据流… 并选择该文件。阅读报告。
- 在 场景 面板中选择新场景应放在其后的那个场景,然后单击 用此数据流添加场景。
- 关闭窗口,选择场景“AI:…”并开始播放,在模拟中观看效果。
如果 AI 对话无法运行代码,它会给您一个 Python 脚本:请在您的电脑上用 Python 3 运行它,与其中包含的 dreamshow_stream.py 模块放在同一文件夹中,以得到该文件。
须知
- 数据流与场地以及当前的 DMX 地址绑定:如果您重新配接了灯具,请重新生成请求和数据流。
- 摇头灯的动作是根据场地中所声明的每台摇头灯的实际位置和吊挂方式计算的:在生成请求之前,请先在 场地 > 灯具、地址、位置… 中把它们放置正确。
- 请求可能很长(灯具很多时可达数万个字符):这是正常的。
.DmxStreaming数据流也可用于 独立播放器。