.png)
Chúng tôi đã tạo ra MuseNet, một mạng nơ-ron sâu có thể tạo ra các bản nhạc dài 4 phút với 10 nhạc cụ khác nhau và có thể kết hợp các phong cách từ nhạc đồng quê đến nhạc Mozart đến nhạc Beatles. MuseNet không được lập trình rõ ràng với sự hiểu biết của chúng tôi về âm nhạc, mà thay vào đó, khám phá ra các mẫu hòa âm, nhịp điệu và phong cách bằng cách học cách dự đoán mã thông báo tiếp theo trong hàng trăm nghìn tệp MIDI. MuseNet sử dụng cùng một công nghệ không giám sát mục đích chung như GPT-2 , một máy biến áp quy mô lớn (mở trong cửa sổ mới) mô hình được đào tạo để dự đoán mã thông báo tiếp theo trong một chuỗi, có thể là âm thanh hoặc văn bản.
Vì MuseNet biết nhiều phong cách khác nhau, chúng ta có thể kết hợp các thế hệ theo những cách mới lạ. Ở đây, mô hình được cung cấp 6 nốt đầu tiên của một bản Nocturne của Chopin, nhưng được yêu cầu tạo ra một bản nhạc theo phong cách nhạc pop với piano, trống, bass và guitar. Mô hình đã kết hợp hai phong cách một cách thuyết phục, với toàn bộ ban nhạc tham gia vào khoảng thời gian 30 giây:
Chúng tôi rất mong chờ xem các nhạc sĩ và người không phải nhạc sĩ sẽ sử dụng MuseNet để sáng tác những tác phẩm mới như thế nào!
Ở chế độ đơn giản (hiển thị theo mặc định), bạn sẽ nghe các mẫu ngẫu nhiên chưa được chọn lọc mà chúng tôi đã tạo trước. Chọn một nhà soạn nhạc hoặc phong cách, một bản nhạc nổi tiếng tùy chọn và bắt đầu tạo. Điều này cho phép bạn khám phá nhiều phong cách âm nhạc mà mô hình có thể tạo ra. Ở chế độ nâng cao, bạn có thể tương tác trực tiếp với mô hình. Việc hoàn thành sẽ mất nhiều thời gian hơn, nhưng bạn sẽ tạo ra một bản nhạc hoàn toàn mới.
- Tài khoản Chat GPT 4 tại đây với nhiều ưu đãi đặc biệt hấp dẫn
Một số hạn chế của MuseNet bao gồm:
+ Các nhạc cụ bạn yêu cầu là những gợi ý mạnh mẽ, không phải là yêu cầu bắt buộc. MuseNet tạo ra từng nốt nhạc bằng cách tính toán xác suất trên tất cả các nốt nhạc và nhạc cụ có thể. Mô hình thay đổi để khiến lựa chọn nhạc cụ của bạn có nhiều khả năng hơn, nhưng luôn có khả năng nó sẽ chọn thứ khác.
+ MuseNet gặp khó khăn hơn với những cặp phong cách và nhạc cụ kỳ lạ (như Chopin với bass và trống). Các thế hệ sẽ tự nhiên hơn nếu bạn chọn nhạc cụ gần nhất với phong cách thường dùng của nhà soạn nhạc hoặc ban nhạc.
Mã thông báo của nhà soạn nhạc và nhạc cụ
Chúng tôi đã tạo ra các mã thông báo nhạc sĩ và nhạc cụ để kiểm soát nhiều hơn các loại mẫu mà MuseNet tạo ra. Trong thời gian đào tạo, các mã thông báo nhạc sĩ và nhạc cụ này được thêm vào trước mỗi mẫu, do đó mô hình sẽ học cách sử dụng thông tin này để đưa ra dự đoán về nốt nhạc. Vào thời điểm tạo, sau đó chúng tôi có thể điều kiện hóa mô hình để tạo ra các mẫu theo phong cách đã chọn bằng cách bắt đầu bằng một lời nhắc như bắt đầu bằng đàn piano Rachmaninoff:
Cấu trúc dài hạn
MuseNet sử dụng các hạt nhân được tính toán lại và tối ưu hóa của Sparse Transformer để đào tạo một mạng 72 lớp với 24 đầu chú ý—với sự chú ý đầy đủ trong bối cảnh gồm 4096 mã thông báo. Bối cảnh dài này có thể là một lý do tại sao nó có thể nhớ cấu trúc dài hạn trong một tác phẩm, như trong mẫu sau đây bắt chước Chopin
Chúng ta có thể hình dung các nhúng từ MuseNet để hiểu sâu hơn về những gì mô hình đã học được. Ở đây chúng ta sử dụng t-SNE (mở trong cửa sổ mới) để tạo bản đồ 2 chiều về độ tương đồng cosin của nhiều nhà soạn nhạc và phong cách nhúng khác nhau.
Nó cũng có thể tạo ra các cấu trúc giai điệu âm nhạc, như trong mẫu mô phỏng nhạc Mozart này:
Tạo nhạc là một miền hữu ích để thử nghiệm Sparse Transformer vì nó nằm ở giữa văn bản và hình ảnh. Nó có cấu trúc mã thông báo lưu động của văn bản (trong hình ảnh, bạn có thể nhìn lại N mã thông báo và tìm hàng ở trên, trong khi trong âm nhạc không có số cố định để nhìn lại nhịp trước đó). Tuy nhiên, chúng ta có thể dễ dàng nghe thấy liệu mô hình có nắm bắt được cấu trúc dài hạn theo thứ tự từ hàng trăm đến hàng nghìn mã thông báo hay không. Rõ ràng hơn nhiều nếu một mô hình âm nhạc làm hỏng cấu trúc bằng cách thay đổi nhịp điệu, theo cách mà không rõ ràng hơn nếu một mô hình văn bản đi theo một tiếp tuyến ngắn.
Bộ dữ liệu
Chúng tôi đã thu thập dữ liệu đào tạo cho MuseNet từ nhiều nguồn khác nhau. ClassicalArchives (mở trong cửa sổ mới) và BitMidi (mở trong cửa sổ mới) đã tặng bộ sưu tập lớn các tệp MIDI của họ cho dự án này và chúng tôi cũng tìm thấy một số bộ sưu tập trực tuyến, bao gồm các phong cách nhạc jazz, nhạc pop, nhạc Châu Phi, nhạc Ấn Độ và nhạc Ả Rập. Ngoài ra, chúng tôi đã sử dụng tập dữ liệu MAESTRO (mở trong cửa sổ mới).
Bộ biến đổi được đào tạo trên dữ liệu tuần tự: với một tập hợp các nốt nhạc, chúng tôi yêu cầu nó dự đoán nốt nhạc tiếp theo. Chúng tôi đã thử nghiệm một số cách khác nhau để mã hóa các tệp MIDI thành các mã thông báo phù hợp cho nhiệm vụ này. Đầu tiên, một phương pháp tiếp cận theo từng hợp âm coi mọi tổ hợp nốt nhạc phát ra cùng một lúc là một "hợp âm" riêng lẻ và gán một mã thông báo cho mỗi hợp âm. Thứ hai, chúng tôi đã thử cô đọng các mẫu nhạc bằng cách chỉ tập trung vào phần đầu của các nốt nhạc và thử nén thêm bằng cách sử dụng một lược đồ mã hóa cặp byte.
Chúng tôi cũng đã thử hai phương pháp khác nhau để đánh dấu thời gian trôi qua: hoặc là các token được chia tỷ lệ theo nhịp độ của bản nhạc (để các token đại diện cho một nhịp nhạc hoặc một phần của nhịp), hoặc các token đánh dấu thời gian tuyệt đối tính bằng giây. Chúng tôi đã đi đến một mã hóa kết hợp tính biểu cảm với tính cô đọng: kết hợp thông tin về cao độ, âm lượng và nhạc cụ thành một token duy nhất.
11bach piano_strings start tempo90 piano:v72:G1 piano:v72:G2 piano:v72:B4 piano:v72:D4 violin:v80:G4 piano:v72:G4 piano:v72:B5 piano:v72:D5 wait:12 piano:v0:B5 wait:5 piano:v72:D5 wait:12 piano:v0:D5 wait:4 piano:v0:G1 piano:v0:G2 piano:v0:B4 piano:v0:D4 violin:v0:G4 piano:v0:G4 wait:1 piano:v72:G5 wait:12 piano:v0:G5 wait:5 piano:v72:D5 wait:12 piano:v0:D5 wait:5 piano:v72:B5 wait:12Trong quá trình đào tạo, chúng tôi:
+ Chuyển giọng các nốt nhạc bằng cách tăng và giảm cao độ (trong quá trình đào tạo sau này, chúng tôi sẽ giảm lượng chuyển giọng để các thế hệ nhạc cụ vẫn nằm trong phạm vi của từng nhạc cụ).
+ Tăng âm lượng bằng cách tăng hoặc giảm âm lượng tổng thể của các mẫu khác nhau.
+ Tăng thời gian (khi sử dụng mã hóa thời gian tuyệt đối tính bằng giây), làm chậm hoặc tăng tốc các đoạn nhạc một cách hiệu quả.
+ Sử dụng hỗn hợp (mở trong cửa sổ mới) trên không gian nhúng mã thông báo
Chúng tôi cũng tạo ra một nhà phê bình nội bộ: mô hình được yêu cầu trong thời gian đào tạo để dự đoán liệu một mẫu nhất định có thực sự từ tập dữ liệu hay là một trong những thế hệ trước của chính mô hình. Điểm số này được sử dụng để chọn mẫu tại thời điểm tạo.
Nhúng
Chúng tôi đã thêm một số loại nhúng khác nhau để cung cấp cho mô hình nhiều ngữ cảnh cấu trúc hơn. Ngoài các nhúng vị trí tiêu chuẩn, chúng tôi đã thêm một nhúng đã học theo dõi sự trôi qua của thời gian trong một mẫu nhất định. Theo cách này, tất cả các nốt nhạc phát ra cùng một lúc đều được nhúng thời gian giống nhau. Sau đó, chúng tôi thêm một nhúng cho mỗi nốt trong một hợp âm (điều này mô phỏng sự chú ý tương đối, vì mô hình sẽ dễ dàng học được rằng nốt 4 cần nhìn lại nốt 3 hoặc nốt 4 của hợp âm trước đó). Cuối cùng, chúng tôi thêm hai nhúng cấu trúc cho mô hình biết vị trí của một mẫu nhạc nhất định trong bản nhạc lớn hơn. Một nhúng chia bản nhạc lớn hơn thành 128 phần, trong khi mã hóa thứ hai là đếm ngược từ 127 đến 0 khi mô hình tiến gần đến mã thông báo (kết thúc).
Chúng tôi rất mong được nghe những gì mọi người sáng tạo! Nếu bạn tạo ra một tác phẩm mà bạn thích, bạn có thể tải nó lên một dịch vụ miễn phí như Instaudio (mở trong cửa sổ mới) và sau đó gửi cho chúng tôi liên kết qua tweet (bản demo MuseNet có nút tweet để hỗ trợ việc này).
Nếu bạn quan tâm đến việc tìm hiểu thêm về công việc âm nhạc của OpenAI, hãy cân nhắc nộp đơn xin gia nhập nhóm của chúng tôi. Vui lòng gửi email cho chúng tôi với các đề xuất cho bản demo MuseNet. Chúng tôi cũng rất muốn nghe ý kiến của bạn nếu bạn quan tâm đến việc sáng tác với MuseNet chuyên sâu hơn hoặc nếu bạn có tệp MIDI muốn thêm vào bộ đào tạo.
MuseNet đã tổ chức một buổi hòa nhạc thử nghiệm vào ngày 25 tháng 4 năm 2019, được phát trực tiếp trên kênh Twitch của OpenAI , trong đó chưa có con người nào (kể cả chúng tôi) từng nghe các tác phẩm này trước đó.
Xem thêm: mua tài khoản ChatGPT Plus chính hãng giá rẻ

Cách đổi Mật khẩu Chat GPT - Hướng dẫn đổi Pass Chat GPT 100% Thành công
Hướng dẫn Cách đăng nhập Chat GPT Nhanh nhất | Có hỗ trợ Miễn phí qua Teamview-Ultraview
Chat GPT Plus là gì? So sánh Chat GPT Plus với Chat GPT Miễn phí
Chat GPT bị giới hạn giải thích vì sao và cách khắc phục
Chat GPT là gì ? Cách đăng Ký Chat GPT Miễn Phí tại Việt Nam