Magenta.js에서 로파이 힙합 노래의 무한한 생성? Lo-Fi Player
Sony Flow Machine의 Lo-Fi Beats "사쿠라칠"에 감화 되었습니까?
Magenta도 Magenta.js를 사용하여 Lo-Fi 힙합 생성 웹 앱
Lo-Fi Player
h tps : // 버렸다. 기주 b. 이오
출시했습니다.
음악 생성이나 조작해 본 동영상을 올렸으므로 보시기 바랍니다.
2개의 음악 데이터(전반 후반)의 선택, 베이스 파트, 드럼 파트의 온·오프, 배경 화상 효과음 선택, 등이 가능합니다.
Lo-Fi Player 기술적 설명 (VAE 소개)
이 Lo-Fi Player는 Magenta.js 중에서도 MusicVAE의 Interpolation (2 개의 음악 데이터를 연결하여 새로운 음악을 만든다)라는 모델이 사용되고있는 것 같습니다.
본래 이 2개의 음악 데이터(각각 1 소절)를 최초와 마지막에 배치해, 그 사이에 있는 공간을 메우는 것으로 새로운 음악 생성을 실시하는 것이 MusicVAE의 구조입니다.
처음과 끝이 1마디씩, 그 사이가 14마디분 있으면 합계 16마디의 음악이 생성됩니다.
그림으로 보면 아래 그림과 같습니다.
이 구간을 채울 때 관련성이 낮은 소리 데이터까지를 고려해 버리면, 신경망의 계산도 힘들고, 소위 음악적으로 벗어날 가능성도 높아져 버립니다.
그래서 데이터의 중요한 부분만을 남겨 삭감(엔코더)하고, 되돌리기(디코더)를 실시하는 것이 VAE(Variational Auto Encoder)입니다.
이 VAE는 MusicVAE의 이름에서 파생되었습니다.
VAE의 사용과 미사용의 효과를 시각화한 것이 아래 그림입니다.
MusicVAE는 (오피셜에 공개되어 있는 것) 최대 3 트랙의 음악 생성을 할 수 있습니다.
이번 Lo-Fi Player도
・멜로디
・베이스
・드럼
의 3 트랙의 생성이 이루어지고 있습니다.
덧붙여서 드럼 이외는 단음입니다.
복수 트랙의 생성은 신경망의 구조적으로(데이터의 취급=수식 설계의 난이도), 각각의 무결성을 취하는 것이 매우 힘들지만, VAE에 의한 데이터의 차원 삭감으로 음악적 관련성의 낮은 데이터를 배제하는 것으로, 보다 확률 높고, 일관성이 있는 음악 생성을 가능하게 하고 있습니다.
한층 더 자세한 MusicVAE의 해설은 근일 옴사님으로부터 발매되는 나의 책에 쓰고 있습니다만 괜찮으면 보시고 보세요.
이번 Lo-Fi Player는 합계 4마디의 음악 생성일까요?
그렇다면 처음과 마지막 2마디는 위에서 설명한 대로 원래의 음악 데이터로 그 사이의 2마디가 MusicVAE 생성, 합계 4마디의 음악 생성이 이루어지는 구조일지도 모릅니다.
프로그램 내용에 관심이 있는 분은 GitHub에 코드가 공개되어 있으므로 보는 것도 좋을 것입니다.
Lo-Fi Player GitHub 페이지
htps : // 기주 b. 코 m / 마겐타 / ぉ ふぃ ぁ ぇ r
게다가 Play Mgenat 사이트라고 하는 것이 있어, 코드도 스스로 재기록, 음악이나 비주얼의 변경이 가능한 근처도 아무래도 Magenta입니다.
Play Magenta
h tps : // p ぁ y - 망했다. gぃtch. 메/
Play Magenta의 코드는 이런 느낌입니다.
synth = new Tone.Synth({
envelope: {
attack: 0.005,
attackCurve: "linear",
decay: 0.1,
decayCurve: "exponential",
release: 1,
releaseCurve: "exponential",
sustain: 0.3,
},
oscillator: {
count: 3,
harmonicity: 1,
modulationFrequency: 0.4,
modulationIndex: 2,
modulationType: "square",
partialCount: 0,
partials: [],
phase: 0,
spread: 20,
type: "triangle",
width: 0.2,
},
});
synth.toDestination ? synth.toDestination() : synth.toMaster();
그건 그렇고, 개발자 Vibert Thio는 기억에 실수가 없다면 원래는 Magenta.js를 사용하여 음악 게임 앱을 개인적으로 게시하고 인정 받았습니까? 현재 Google AI의 Magenta 팀 인턴이 된 경위가 있는 분입니다.
일본에서도 우수한 Music 신경망 개발자가 태어나기를 바라며 음악 AI 엔지니어 교육 사업에 힘을 쏟고 싶다고 생각했습니다.
Reference
이 문제에 관하여(Magenta.js에서 로파이 힙합 노래의 무한한 생성? Lo-Fi Player), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/canplay/items/e20d6f010f452ab09c7b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)