Gemini Lyria RealTime 快速上手:5 分钟跑通第一个实时音乐生成 Demo
【免费下载链接】cookbookExamples and guides for using the Gemini API项目地址: https://gitcode.com/GitHub_Trending/coo/cookbook
Gemini Lyria RealTime 是 Google Gemini API 生态里的实时音乐生成模型:输入一句文字描述,几秒后扬声器就开始放出对应的曲子,你还能边听边下命令,改速度、换配器。这篇 Lyria RealTime 教程面向新手,带你用官方示例代码跑通一个可交互的 AI 实时音乐生成 Demo。
🎵 它到底能做什么
先看一个具体流程:脚本启动后,先给模型一句 "Piano",设好 120 BPM 和降 A 大调,然后播放。约 1 秒后,你会听到一段以钢琴为主的曲子在持续生成;这时在控制台输入bpm=90,音乐会按新速度重新生成。这就是"实时"的含义——生成和收听同时进行,每条指令都直接作用于正在播放的音乐。
它暂时做不到的事,也说一下:
- 输出是边生成边播的音频流(48kHz 立体声),示例脚本不会自动存成 mp3 文件;
- 模型目前是实验版(v1alpha),参数和效果都可能调整;
- 你能控制的是风格文字、BPM、调式这类参数,控制不了"第 3 小节必须出现某个和弦"这种细粒度结构。
原理三句话讲完:文字指令通过 WebSocket 实时会话发给模型(WebSocket 可以理解为一条双向长连接),模型按小块持续回传音频,脚本用 PyAudio 直接播放;中间留 1 秒缓冲吸收网络抖动,低延迟就是这么来的。
🛠️ 环境准备:两条命令装好依赖
建议 Python 版本在 3.9 以上。克隆示例仓库,再装依赖:
git clone https://gitcode.com/GitHub_Trending/coo/cookbook pip install -U google-genai pip install pyaudio websocketsgoogle-genai要 1.16 及以上版本才支持 Lyria RealTime,pyaudio负责把音频送到扬声器。不想装环境的话,直接在 Colab 里打开 quickstarts/Get_started_LyriaRealTime.ipynb 也能跑。
🚀 第一次生成:最小可跑流程
- 在 Google AI Studio 申请 API Key,设为环境变量
GOOGLE_API_KEY,脚本启动时会检查它。 - 运行脚本:
python quickstarts/Get_started_LyriaRealTime.py- 看到什么:控制台先打印 "Starting with some piano",约 1 秒后扬声器响起一段 120 BPM、降 A 大调、以钢琴为主的音乐,并且持续生成、不会放完就停。
- 控制台出现
Set new prompt提示后,输入任意一行指令(下一节有可抄的);输入q结束会话退出。
🎛️ 控制音乐的手感:BPM、调式和配器指令
提示符支持的输入:bpm=数字或AUTO、scale=调式名或AUTO、top_k=数字、play、pause,以及风格A:权重,风格B:权重的混合提示。可直接抄:
bpm=90 爵士钢琴:0.7, 大提琴:0.3 pause q让输出更稳的几条经验:
- 风格描述用"具体乐器 + 情绪",如"爵士钢琴""电影感弦乐",比"好听一点"这类模糊词有效。
- 混合风格时权重加起来接近 1,权重高的风格会更突出。
scale=后跟调式名或AUTO,脚本初始值A_FLAT_MAJOR_F_MINOR就是降 A 大调。- 改
bpm=、scale=、top_k=都会重置上下文,音乐会短暂停顿再按新参数继续,这是预期行为。 top_k=控制采样时的候选数量,数值越大,生成越"放飞"。
🎮 三个真实玩法
游戏动态配乐:把游戏状态映射成指令——进入战斗发急促弦乐:1.0并跟一条bpm=160,回到安全区换成舒缓钢琴:1.0加bpm=80。音乐是流式生成的,切换时不需要预置音频文件和淡入淡出。
视频定制 BGM:按分镜逐段下指令,开场清晨氛围钢琴:1.0,冲突段落切紧张铜管:1.0,边生成边用系统录音把扬声器输出录下来,再剪进时间线。
互动艺术装置:把观众的声音或传感器信号转成提示词发进会话,动作就会直接改变现场音乐。examples/iot/esp32/voice_led_controller/ 里的 ESP32 语音控制示例展示了"麦克风到硬件采集"这一段怎么搭,照这个思路把输出端换成音乐会话即可。
⚠️ 坑位清单:现象、原因与处理
| 现象 | 原因 | 处理 |
|---|---|---|
启动时停在Please enter your API key或请求超时 | 没设置GOOGLE_API_KEY,或网络不通 | 到 Google AI Studio 申请密钥,设成环境变量后重跑 |
| 音乐中途卡顿、断音 | 1 秒缓冲吸收不了当时的网络抖动 | 把脚本里的BUFFER_SECONDS调大,代价是整体延迟变大 |
指令发出后打印Prompt was filtered out | 描述触发了安全过滤 | 换成更中性的音乐描述再发一次 |
| 改完 BPM 或调式,音乐停了一下才继续 | 设置生效需要reset_context重置上下文 | 预期行为,等几秒即可 |
📚 下一步:学习入口与小结
- quickstarts/Get_started_LyriaRealTime.ipynb:官方入门 notebook,可直接在 Colab 打开;
- quickstarts/websockets/Get_started_LyriaRealTime_websockets.ipynb:想看 WebSocket 会话底层怎么收发,看它;
- quickstarts/Get_started_Lyria.ipynb:非实时的 Lyria 3,适合一次性生成结构完整的曲子。
到这里,你已经掌握了"输入描述 → 听到音乐 → 边听边改"的完整闭环。AI 实时音乐生成怎么用,记住三件事就够开始了:具体的乐器词、风格:权重混合语法、以及"改参数会重置上下文"这一条预期。
【免费下载链接】cookbookExamples and guides for using the Gemini API项目地址: https://gitcode.com/GitHub_Trending/coo/cookbook
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考