Bạn yêu thích việc tạo ra các bài hát tĩnh với các mô hình chuyển văn bản thành nhạc cổ điển?
Hãy chuẩn bị để chỉ huy một bản giao hưởng bất tận.
Giới thiệuLyria RealTime, mô hình thử nghiệm của Google DeepMind không chỉ tạo ra âm nhạc—mà cònhòa tấuvới bạn như nó đã làm trong buổi diễn trước show của Toro y Moi IO:

Trong khi các mô hình tạo nhạc truyền thống hoạt động như một máy hát đĩa (nhập gợi ý -> chờ đợi -> nhận bài hát), Lyria RealTime hoạt động dựa trên nguyên tắc“Âm nhạc như một Động từ.”Nó tạo ra một kết nối truyền phát hai chiều, liên tục và tạo ra một luồng âm thanh stereo 48kHz liên tục.
Bạn có thể điều hướng, biến đổi và biến hình âm thanh ngay lập tức, biến nó thành mô hình tạo sinh đầu tiên thực sự được thiết kế cho các trải nghiệm tương tác.

Và phần tốt nhất?
Hiện tại mô hình nàyhoàn toàn miễn phí để sử dụng!

Đây là bản tóm tắt nhanh về những gì bạn sẽ tìm hiểu trong hướng dẫn này:
Lyria RealTime infographics


Hướng dẫn này sẽ hướng dẫn bạn cách xây dựng với Lyria RealTime bằng cách sử dụng Gemini API.

Hướng dẫn này sẽ bao gồm:

  1. Cách Lyria RealTime Hoạt Động (Kiến trúc “Bộ nhớ Cá vàng”)
  2. Thiết lập Dự án
  3. Truyền Phát Cơ Bản (“Xin chào Thế giới” của Âm nhạc)
  4. Điều Hướng Luồng (Gợi ý Có Trọng số)
  5. Cấu Hình Nâng Cao (BPM, Mật độ & Thang âm)
  6. Bản thiết kế cho Tương lai:
    Các Trường hợp Sử dụng Nâng cao
  7. Chiến lược & Thực hành Tốt nhất về Gợi ý
  8. Nơi để trải nghiệm với Lyria Real Time

Hãy nhảy thẳng đến phần cuối nếu bạn muốn trải nghiệm trực tiếp với Lyria RealTime, ví dụ như làmDJ, lái mộtphi thuyềnhoặc sử dụngmáy ảnhcủa bạn.

Lưu ý:
để xem phiên bản tương tác của bài viết này, hãy xemsổ tay python.


1) Cách Lyria RealTime Hoạt Động

Lyria RealTime sử dụng kết nối WebSocket độ trễ thấp để duy trì một kênh giao tiếp trực tiếp với mô hình.
Không giống như các mô hình ngoại tuyến lên kế hoạch cho toàn bộ cấu trúc bài hát (Mở đầu-Đoạn chính-Điệp khúc), Lyria hoạt động dựa trên hệ thốngtự hồi quy theo khối.

Nó tạo ra âm thanh theo từng khối 2 giây, nhìn lại vài giây ngữ cảnh để duy trì “nhịp điệu” trong khi nhìn vào các điều khiển hiện tại của bạn để quyết định phong cách.
Điều này có nghĩa là mô hình không “sáng tác bài hát” theo nghĩa truyền thống;
nó điều hướng các trạng thái âm nhạc.


2) Thiết lập Dự án

Để làm theo hướng dẫn này, bạn sẽ cần:

  • Một khóa API từ Google AI Studio (có thể dùng khóa miễn phí).
  • Google Gen AI SDK.

Cài đặt SDK:
Python(3.12+được khuyến nghị):

pip install"google-genai>=1.52.0"
Enter fullscreen modeExit fullscreen mode

JavaScript / TypeScript:
Bạn sẽ cần ít nhất phiên bản 1.30 củaJS/TS SDK

npm install @google/genai 
Enter fullscreen modeExit fullscreen mode

Lưu ý:
Các ví dụ sau sử dụng SDK Python để minh họa.
Đối với mẫu mã JS/TS, hãy kiểm traỨng dụng AI studio.


3) Truyền Phát Cơ Bản

Để bắt đầu một phiên, bạn kết nối với mô hình (models/lyria-realtime-exp), gửi cấu hình ban đầu và bắt đầu luồng.
Vòng lặp tương tác là không đồng bộ:
bạn gửi lệnh và máy chủ liên tục trả về các khối âm thanh thô.

[Lưu ý:
Đảm bảo bạn đang sử dụng phiên bản APIv1alphacho các mô hình thử nghiệm như Lyria]
.

importasynciofromgoogleimportgenaifromgoogle.genaiimporttypesclient=genai.Client(http_options={'api_version':'v1alpha'})asyncdefmain():asyncdefreceive_audio(session):"""Tác vụ nền để xử lý các đoạn âm thanh đến."""whileTrue:asyncformessageinsession.receive():ifmessage.server_content.audio_chunks:# 'data' là âm thanh PCM 16-bit thô ở 48kHzaudio_data=message.server_content.audio_chunks.data# Thêm logic phát âm thanh của bạn vào đây!awaitasyncio.sleep(10**-12)asyncwith(client.aio.live.music.connect(model='models/lyria-realtime-exp')assession,asyncio.TaskGroup()astg,):# 1.
Bắt đầu lắng nghe âm thanhtg.create_task(receive_audio(session))# 2.
Gửi khái niệm âm nhạc ban đầuawaitsession.set_weighted_prompts(prompts=[types.WeightedPrompt(text='nhạc thang máy',weight=1.0)])# 3.
Thiết lập không khí (BPM, Nhiệt độ)awaitsession.set_music_generation_config(config=types.LiveMusicGenerationConfig(bpm=90,temperature=1.0))# 4.
Bắt đầu phát nhạcawaitsession.play()# Giữ phiên hoạt độngawaitasyncio.sleep(30)if__name__=="__main__":asyncio.run(main())
Enter fullscreen modeExit fullscreen mode

Chúc mừng, bạn đã có một chút nhạc thang máy!

Không ấn tượng?
Đó chỉ là khởi đầu thôi, padawan thân mến, phần thú vị đây mới đến.


4) Điều Hướng Luồng (Gợi ý Có Trọng Số)

Đây là nơi phép thuật xảy ra.
Khác với việc tạo tĩnh, bạn có thể gửi tin nhắnWeightedPromptmớitrong khi nhạc đang phátđể chuyển đổi mượt mà thể loại, nhạc cụ hoặc tâm trạng.

Tham sốweightlà thanh trộn của bạn.
Trọng số1.0là tiêu chuẩn, nhưng bạn có thể sử dụng nhiều gợi ý để pha trộn ảnh hưởng.

Ví dụ:
Biến đổi từ Piano sang Biểu diễn Trực tiếp

fromgoogle.genaiimporttypes# Gửi điều này trong khi vòng lặp đang chạy để thay đổi phong cáchawaitsession.set_weighted_prompts(prompts=[# Giữ âm piano mạnh mẽ{"text":"Piano","weight":2.0},# Thêm một lớp thiền định tinh tếtypes.WeightedPrompt(text="Thiền định",weight=0.5),# Đẩy cảm giác 'Trực tiếp'types.WeightedPrompt(text="Biểu diễn Trực tiếp",weight=1.0),])
Enter fullscreen modeExit fullscreen mode

Lưu ý:Khi mô hình tạo ra các đoạn liên tiếp, các thay đổi có thể mất vài giây (thường khoảng 2s) để phản ánh trong âm nhạc.

Mẹo Chuyên Nghiệp:
Hòa âm chéo

Thay đổi gợi ý đột ngột có thể gây gián đoạn.
Để có kết quả chuyên nghiệp, hãy triển khai hòa âm chéo phía máy khách bằng cách gửi các giá trị trọng số trung gian nhanh chóng (ví dụ:
mỗi 500ms) để “biến hình” âm nhạc một cách mượt mà.

Ví dụ:
Hàm “Biến hình”

importasynciofromgoogle.genaiimporttypesasyncdefcross_fade(session,old_prompt,new_prompt,duration=2.0,steps=10):"""Smoothly morphs from one musical idea to another."""step_time=duration/stepsforiinrange(steps+1):# Calculate the blend ratio (alpha goes from 0.0 to 1.0)alpha=i/stepsawaitsession.set_weighted_prompts(prompts=[# Fade out the oldtypes.WeightedPrompt(text=old_prompt,weight=1.0-alpha),# Fade in the newtypes.WeightedPrompt(text=new_prompt,weight=alpha),])awaitasyncio.sleep(step_time)# Usage in your main loop:
# Morph from 'Ambient' to 'Techno' over 5 secondsawaitcross_fade(session,"Ambient Drone","Hard Techno",duration=5.0)
Enter fullscreen modeExit fullscreen mode

Lưu ý rằng đoạn mã mẫu này giả định tất cả các prompt của bạn có trọng số là 1, điều này có thể không phải lúc nào cũng đúng.


5) Cấu Hình Nâng Cao (Các Nút Điều Chỉnh)

Lyria RealTime cung cấp các điều khiển tham số thay đổi cấu trúc của âm nhạc.
Nếu bạn không phải là nhạc sĩ, hãy nghĩ về các điều khiển này như là vật lý của thế giới âm thanh:

  • Mật độ(0.0
    – 1.0):
    Hãy nghĩ về điều này như “Mức độ nhộn nhịp”.

    • Thấp(0.1):
      Một tay trống cô đơn chơi vài giây một lần.
      Thưa thớt.
    • Cao(0.9):
      Một dàn nhạc hỗn loạn nơi mọi người chơi cùng một lúc.
      Mãnh liệt.
  • Độ sáng(0.0
    – 1.0):
    Hãy nghĩ về điều này như “Nghẹt ngạt so với Sắc nét”.

    • Thấp(0.1):
      Nghe nhạc từ bên ngoài câu lạc bộ, xuyên qua bức tường.
      Tối và nặng bass.
    • Cao(0.9):
      Nghe qua tai nghe cao cấp.
      Sắc, rõ ràng và nặng âm cao.
  • BPM(60
    – 200):
    Nhịp đập của bản nhạc (Nhịp mỗi phút).
  • Âm giai:
    “Tâm trạng”.
    Nó buộc âm nhạc vào một bộ nốt cụ thể (Khóa/Thể loại).

Quan trọng:
Trong khi mật độ và độ sáng có thể được thay đổi mượt mà ngay lập tức, việc thay đổi BPM hoặc Âm giai là một sự thay đổi cấu trúc cơ bản.
Bạn phải gọireset_context()để những thay đổi này có hiệu lực.
Điều này sẽ xóa “bộ nhớ ngắn hạn” của mô hình, gây ra một đoạn cắt cứng trong âm thanh.

Ví dụ:
“Hard Drop”

# Changing structural parameters requires a context resetawaitsession.set_music_generation_config(config=types.LiveMusicGenerationConfig(bpm=140,scale=types.Scale.C_MAJOR_A_MINOR,# Force happy/neutral mood))# This command is mandatory for BPM/Scale changes to apply!awaitsession.reset_context()
Enter fullscreen modeExit fullscreen mode

6) Bản Thiết Kế Cho Tương Lai:
Các Trường Hợp Sử Dụng Nâng Cao

Chúng ta đã đề cập đến việc phát trực tuyến cơ bản, nhưng các điều khiển tham số của Lyria cho phép các ứng dụng kết nối thế giới vật lý với luồng âm thanh.
Dưới đây là bốn ý tưởng để bạn bắt đầu.

Trường Hợp Sử Dụng A:
“Nhịp Điệu Sinh Trắc Học” (Thể Dục & Sức Khỏe)

Hầu hết các ứng dụng thể dục sử dụng danh sách phát tĩnh hiếm khi khớp với tốc độ thực tế của bạn.
Bởi vì Lyria cho phép kiểm soátbpmdensitytheo thời gian thực, bạn có thể xây dựng một công cụ âm nhạc được ghép nối sinh học với người dùng.

  • Máy Theo Dõi Nhịp Tim (HRM) -> BPM:Ánh xạ trực tiếp nhịp tim của người dùng với nhịp độ của bản nhạc.
  • Gia tốc kế -> Mật độ:Nếu người dùng đang chạy nước rút (biến động chuyển động cao), tăngdensitylên1.0để thêm bộ gõ và độ phức tạp.
    Nếu họ dừng lại nghỉ ngơi, giảmdensityxuống0.2cho một đoạn ambient nhẹ nhàng.

Trường Hợp Sử Dụng B:
“DJ Dân Chủ” (Phát Trực Tuyến Xã Hội)

WeightedPromptschấp nhận giá trị số thực, bạn có thể xây dựng một đài phát thanh cộng tác cho các luồng Twitch hoặc bot Discord nơi khán giả bình chọn thể loại.
Thay vì một hệ thống người chiến thắng nhận tất cả, Lyria có thể pha trộn các phiếu bầu.

  • Đầu vào:100 người dùng bỏ phiếu.
    60 phiếu “Cyberpunk“, 30 phiếu “Jazz“, 10 phiếu “Reggae“.
  • Chuẩn hóa:Chuyển đổi phiếu bầu thành trọng số (0.6, 0.3, 0.1).
  • Kết quả:Mô hình tạo ra một bản nhạc Cyberpunk chủ đạo với hòa âm Jazz rõ ràng và nhịp điệu Reggae tinh tế và thay đổi nó theo thời gian dựa trên phiếu bầu.

Trường Hợp Sử Dụng C:
“Dòng Chảy Tập Trung” (Năng Suất)

Làm việc sâu cần kết cấu âm thanh khác với động não.
Bạn có thể ánh xạ các tham sốbrightnessguidancecủa Lyria vào bộ hẹn giờ Pomodoro để hướng dẫn trạng thái nhận thức của người dùng.

  • Giai Đoạn Làm Việc Sâu:brightnessthấp (âm thanh tối hơn, ấm hơn),densitythấp (ít phiền nhiễu),guidancecao (lặp lại, dễ đoán).
  • Giai Đoạn Nghỉ Giải Lao:brightnesscao (tràn đầy năng lượng, sắc nét),densitycao,guidancethấp (sáng tạo, bất ngờ).

Trường Hợp Sử Dụng D:
“Nhạc Game Thời Gian Thực” (Trò Chơi)

Xuất thân từ ngành công nghiệp trò chơi, tôi không thể không nghĩ đến một ý tưởng trò chơi cho Lyria Real Time.
Bạn có thể để Lyria tạo nhạc cho trò chơi theo thời gian thực dựa trên:

  • Phong cách riêng của trò chơi:một loạt các prompt xác định trò chơi và bầu không khí tổng thể,
  • Môi trường:các prompt khác nhau tùy thuộc vào việc bạn đang ở trong một thành phố nhộn nhịp, trong rừng hay đang lênh đênh trên biển Hy Lạp,
  • Hành động của người chơi:nếu họ đang chiến đấu, hãy thêm prompt “hoành tráng”;
    nếu đang điều tra, hãy đổi thành prompt “bí ẩn”,
  • Tình trạng hiện tại của người chơi:Bạn có thể thay đổi BPM và trọng lượng của prompt “nguy hiểm” tùy thuộc vào thanh máu của người chơi.
    Thanh máu càng thấp, âm nhạc càng trở nên căng thẳng.

  • 7) Chiến lược & Thực hành tốt nhất khi đưa ra Prompt

    Công thức Prompt:
    Qua thử nghiệm, một công thức đáng tin cậy đã xuất hiện:[Điểm neo Thể loại] + [Nhạc cụ] + [Bầu không khí]

    • Nhạc cụ:303 Acid Bass, Buchla Synths, Hang Drum, TR-909 Drum Machine
    • Thể loại:Acid Jazz, Bengal Baul, Glitch Hop, Shoegaze, Vaporwave
    • Tâm trạng:Crunchy Distortion, Ethereal Ambience, Ominous Drone, Swirling Phasers

    Thực hành tốt nhất dành cho Nhà phát triển:

    • Đệm Âm thanh của Bạn:Vì đây là phát trực tuyến thời gian thực qua mạng, hãy triển khai bộ đệm âm thanh phía máy khách (2-3 đoạn) để xử lý tình trạng giật mạng và đảm bảo phát lại mượt mà.
    • Giai đoạn “Ổn định”:Khi bạn bắt đầu một luồng hoặc đặt lại ngữ cảnh, mô hình cần khoảng 5-10 giây để “ổn định” vào một nhịp điệu ổn định.
    • Bộ lọc An toàn:Mô hình kiểm tra các prompt dựa trên bộ lọc an toàn.
      Tránh yêu cầu các nghệ sĩ có bản quyền cụ thể (“Style of Taylor Swift”);
      thay vào đó, hãy phân tích âm thanh của họ thành các mô tả (“Pop, female vocals, acoustic guitar”).
    • Chỉ Nhạc cụ:Mô hình chỉ tạo nhạc cụ.
      Mặc dù bạn có thể đặtmusic_generation_modethànhVOCALIZATION, nó sẽ tạo ra các kết cấu giống giọng hát (oohs/aahs), không phải lời bài hát có ý nghĩa.
    • Giới hạn thời lượng phiên:Các phiên hiện bị giới hạn trong 10 phút, nhưng bạn có thể khởi động lại một phiên mới ngay sau đó.

    Chi tiết và ý tưởng prompt khác trongtài liệucủa Lyria RealTime.


    8. Sẵn sàng “Jam”? Chọn cách bạn muốn khám phá Lyria RealTime

    Một trong những nơi dễ dàng nhất để thử là AI Studio, nơi có sẵn một vài ứng dụng thú vị để bạn trải nghiệm và tùy chỉnh theo nhu cầu:

    • Prompt DJ,MIDI DJMusicFX(chỉ dành cho Mỹ) cho phép bạn thêm và phối trộn nhiều prompt trong thời gian thực:
    • Space DJcho phép bạn điều hướng vũ trụ của các thể loại âm nhạc bằng một tàu vũ trụ!
      Cá nhân tôi rất thích khám phá xung quanh các hành tinhitalo-discoeuro-france.
    • Lyria Cameratạo nhạc thời gian thực dựa trên những gì nó nhìn thấy.
      Tôi rất muốn kết nối nó với camera hành trình của mình!
    • Trang web Magentacũng có rất nhiều bản demo thú vị.
      Đó cũng là một nơi tuyệt vời để tìm hiểu thêm chi tiết về các mô hình tạo nhạc của Deepmind.

    • Cuối cùng,hãy xem bản demochiếc gương thần kỳmà tôi đã tạo, sử dụng Lyria để tạo nhạc nền theo những gì nó kể (Gemini tạo prompt ngay lập tức):

    Và giờ sân khấu thuộc về bạn, bạn sẽ tạo ra điều gì với Lyria RealTime?

    Tài nguyên:

    Đăng ký kênh youtube để ủng hộ Cafedev nha các bạn, Thanks you!