Lyria RealTime 快速上手:3 步对话式生成实时音乐
2026/9/9 15:03:27 网站建设 项目流程

Lyria RealTime 快速上手:3 步对话式生成实时音乐

【免费下载链接】cookbookExamples and guides for using the Gemini API项目地址: https://gitcode.com/GitHub_Trending/coo/cookbook

假设你在剪辑短片或做直播,想让背景音乐从“舒缓钢琴”一句话切成“轻快电子”,Google 的 Gemini Lyria RealTime 模型就是干这个的:它以流式方式持续生成纯器乐实时音乐,你可以在播放过程中随时改风格、调速、换调。这篇文章以官方示例仓库 cookbook 为准,走一遍实时音乐生成的完整流程。

Lyria RealTime 能做什么、不能做什么

先把能力边界说清楚,避免期望错位:

  • 能持续生成纯器乐:通过 websocket(一种双向长连接通道)不断下发音频小块,而不是生成一段固定时长的片段就结束;
  • 能在播放中实时改音乐:会话不中断,发新提示词后曲风逐步转向;
  • 能单独调参数:速度(BPM,每分钟节拍数)、音阶(大小调)、采样多样性(top_k,控制生成随机性)各自独立设置;
  • 不能生成人声:目前只输出器乐,没有歌手演唱;
  • 还是预览功能:模型名lyria-realtime-exp中的 exp 表示实验性,API 走 v1alpha 版本,当前免费但有配额限制,行为可能变化。

准备工作:两条命令跑通示例

需要 Python 3.9 及以上环境和一个 Gemini API key。

  1. 克隆示例仓库:
git clone https://gitcode.com/GitHub_Trending/coo/cookbook
  1. 安装依赖(本地实时播放用 PyAudio 驱动声卡):
pip install -U google-genai pip install pyaudio websockets
  1. 设置 API key(从 Google AI Studio 获取):
export GOOGLE_API_KEY="你的key"

核心示例是本地可运行的 quickstarts/Get_started_LyriaRealTime.py;Colab 版 quickstarts/Get_started_LyriaRealTime.ipynb 因浏览器环境无法播放实时音频,适合用来理解流程,实际体验请用 Python 脚本。

实时音乐生成三步走

第 1 步:打开会话,播放第一首

python quickstarts/Get_started_LyriaRealTime.py

脚本内部三个关键调用完成首次播放:client.aio.live.music.connect(model=...)建立连接,set_weighted_prompts发送初始提示词(示例用 "Piano"),session.play()启动音频流。之后音频块以 48000 Hz、双声道、16 位格式连续写入声卡。

第 2 步:播放中发一行命令

脚本启动后终端持续等待输入,命令不中断播放:

输入作用
play/pause恢复 / 暂停
bpm=80变速到 80 拍每分钟;bpm=AUTO恢复自动
scale=C_MAJOR切换音阶(大小调)
top_k=50调整生成多样性
lofi beats:2, piano:1带权重的多提示词,lofi 风格占比更大
q结束会话

注意:改 bpm、scale、top_k 后示例会调用reset_context()重置上下文,让新参数从头生效;带权重的提示词里权重可以为小数甚至负数,但不能为 0。

第 3 步:理解缓冲,处理被过滤的提示词

示例中BUFFER_SECONDS=1:播放前先攒 1 秒缓冲,吸收网络抖动避免爆音。代码注释写得很直白——缓冲越大越不容易掉音,但播放和命令响应的延迟也越大,网络不稳时可以把它调大。

如果提示词触发内容安全过滤,模型不会报错,而是回一条filtered_prompt消息;终端里看到它就说明这段内容被拦下,需要换个说法重写。

调优技巧:输入示例 → 生成效果

  • 输入Piano(单提示词)→ 纯钢琴独奏;想叠加音色改用带权重写法,如warm piano:2, soft strings:1,前半占主导、弦乐作铺底;
  • 输入bpm=70→ 曲速明显放慢,情绪变松弛;bpm=140→ 节奏紧凑紧张;
  • 输入scale=C_MINOR→ 从明亮转忧郁;音阶必须写 SDKtypes.Scale枚举里的值,拼错只会提示 “Matching enum not found”;
  • 输入较小的top_k→ 旋律选择更保守、重复增多;想要更多意外感就调大。

实操建议:一次只改一个变量,效果好坏才归因得清。

上图是 AI 生成的手绘城堡,适合“先生成画面、再配实时 BGM”这类组合创作场景。

常见问题

现象可能原因解决办法
连接成功但没声音PyAudio 装不上或系统无输出设备Linux 先装 PortAudio;用python -c "import pyaudio; print(pyaudio.PyAudio().get_device_count())"确认设备数
音频断音、卡顿网络抖动、缓冲过小调大BUFFER_SECONDS
改参数后没变化上一命令未生效,或改的项没有重置上下文等几秒再发;bpm/scale/top_k 在示例中会自动 reset
提示词被拦截,音乐停更触发内容安全过滤filtered_prompt日志,改写措辞
在 Colab 里听不到实时音频浏览器环境无法播放实时流换本地 Python 脚本,或试用 AI Studio 的 Prompt DJ、MIDI DJ 应用

场景延伸

短视频 / 直播的动态配乐:剪辑时按场景发对应提示词(开场 lofi、冲突段落电子、结尾钢琴),把实时音频流录下来当临时代声;成片后用同一套参数重跑整段,保证风格一致。

游戏氛围乐:不预置长曲目,而是让模型循环播放基底旋律,按玩家状态(战斗中紧张、探索时舒缓)发风格切换指令,并用 bpm 与带权重提示词实时调节紧张度。

写在最后

Lyria RealTime 把“给音乐写提示词”变成了可以边听边改的实时过程:连会话、发提示词、调参数,三步就能跑起来。想继续深入,建议按 quickstarts/Get_started_LyriaRealTime.py(本地实时体验)→ quickstarts/websockets/Get_started_LyriaRealTime_websockets.ipynb(看懂底层 websocket 协议)→ quickstarts/Get_started_Lyria.ipynb(非实时的 Lyria,适合批量生成对比)的顺序阅读。

【免费下载链接】cookbookExamples and guides for using the Gemini API项目地址: https://gitcode.com/GitHub_Trending/coo/cookbook

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询