Skip to content

ToBigsSound-1516/Smootify

Repository files navigation

🎼Smootify

youtube googledrive

2022.01 ToBig's Sound Conf. by TobigTonix

μŒμ•…μ„ ν™˜μŠΉν•˜λ‹€, Infinite AI Music Streaming.

SmootifyλŠ” μŒμ•… 생성 κΈ°μˆ μ„ ν™œμš©ν•΄ 두 μŒμ•…μ„ μžμ—°μŠ€λŸ½κ²Œ μ—°κ²°ν•˜μ—¬ μ§„μ •ν•œ λ¬΄ν•œ μŠ€νŠΈλ¦¬λ°μ„ 이루고자 ν•©λ‹ˆλ‹€.

Data

MIDI ν˜•μ‹μœΌλ‘œ λ˜μ–΄ μžˆλŠ” μŒμ•… νŒŒμΌλ“€μ„ μ‚¬μš©ν•˜μ—¬ ν”„λ‘œμ νŠΈλ₯Ό μ§„ν–‰ν•˜μ˜€μŠ΅λ‹ˆλ‹€.
Pop μŒμ•…λ“€λ‘œ 이루어진 Million Song Dataset에 κΈ°λ°˜ν•œ Lakh Pianoroll Dataset을 ν™œμš©ν•˜μ—¬ ν•™μŠ΅ν•˜μ˜€μŠ΅λ‹ˆλ‹€.

Model

Mashup

  • Mashup Point 탐색 λ°©λ²•μœΌλ‘œ DTW(Dynamic Time Warping) 와 λΆ„ν¬μ˜ μœ μ‚¬λ„λ₯Ό ν™œμš©ν•˜μ˜€μŠ΅λ‹ˆλ‹€.
  • Mashup을 ν•  λ•Œμ˜ Mix Pointλ₯Ό κ΅¬ν•˜λŠ” μ•Œκ³ λ¦¬μ¦˜μ˜ μ†ŒμŠ€μ½”λ“œλŠ” μ—¬κΈ°μ—μ„œ ν™•μΈν•˜μ‹€ 수 μžˆμŠ΅λ‹ˆλ‹€.

Music Transition

  • MuseGAN의 convolutionꡬ쑰λ₯Ό 차용 및 U-Net ꡬ쑰λ₯Ό μ‚¬μš©ν•˜μ—¬ 두 μŒμ•…κ°„μ˜ 연결고리λ₯Ό μƒμ„±ν•˜μ˜€μŠ΅λ‹ˆλ‹€.
  • 기쑴의 μŒμ•…μ—μ„œ κ°€μš΄λ° 뢀뢄을 λ§ˆμŠ€ν‚Ή ν›„ 이λ₯Ό μ˜ˆμΈ‘ν•˜λŠ” λ°©μ‹μœΌλ‘œ ν•™μŠ΅ν•˜μ˜€μŠ΅λ‹ˆλ‹€.
  • Smootify Music Transition λͺ¨λΈμ˜ μ†ŒμŠ€μ½”λ“œλŠ” μ—¬κΈ°μ—μ„œ ν™•μΈν•˜μ‹€ 수 μžˆμŠ΅λ‹ˆλ‹€.

Result

Usage

ν•™μŠ΅ 속도λ₯Ό μœ„ν•΄ GPUμ‚¬μš©μ΄ κ°€λŠ₯ν•œ ν™˜κ²½μ—μ„œ μ‹€ν–‰ν•˜κΈ°λ₯Ό ꢌμž₯ν•©λ‹ˆλ‹€.

각 νŒŒλΌλ―Έν„°λ³„ μ„€λͺ… 및 보닀 μžμ„Έν•œ μ‚¬μš© 방법은 Music Transition λͺ¨λΈ λ ˆν¬μ—μ„œ ν™•μΈν•˜μ‹€ 수 μžˆμŠ΅λ‹ˆλ‹€.

1. Installation

git clone https://github.com/ToBigsSound-1516/transition.git
cd trainsition
pip install -r requirements.txt

2. Prepare Data

python3 prepare_data.py ./{data-path} {0/-1} 

-1: multiprocessing

3. Train

python3 main.py --train

4. Mix Music!

python3 main.py --midi_path1 ./{song1} --midi_path2 ./{song2} --start1 {mixing point} --start2 {mixing point}

Web Demo

μ €ν¬μ˜ μ›Ή 데λͺ¨λŠ” μ—¬κΈ°μ—μ„œ ν™•μΈν•˜μ‹€ 수 μžˆμŠ΅λ‹ˆλ‹€.

이미지λ₯Ό 클릭 μ‹œ μ›Ή νŽ˜μ΄μ§€μ˜ κΉƒν—ˆλΈŒ 레포둜 μ΄λ™ν•©λ‹ˆλ‹€.

Reference

  • AutoMashUpper: Automatic Creation of Multi-Song Music Mashups, 2014 (Matthew E. P. Davies, Philippe Hamel, Kazuyoshi Yoshii, Masataka Goto)
  • MuseGAN: Multi-track Sequential Generative Adversarial Networks for Symbolic Music Generation and Accompaniment, 2017 (Hao-Wen Dong, Wen-Yi Hsiao, Li-Chia Yang, Yi-Hsuan Yang)
  • U-Net: Convolutional Networks for Biomedical Image Segmentation, 2015 (Olaf Ronneberger, Philipp Fischer, Thomas Brox)
  • MIDI-VAE: Modeling Dynamics and Instrumentation of Music with Applications to Style Transfer, 2018 (Gino Brunner, Andres Konrad, Yuyi Wang, Roger Wattenhofer)
  • salu133445/musegan
  • salu133445/lakh-pianoroll-dataset
  • brunnergino/MIDI-VAE

Contributors


Ohyeon Kwon

Taehee Kim

Minjun An

JinKyoung Hwangbo

Yoonene Kim

About

Smootify - Infinite AI Music Streaming

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published