예술가를 위한 머신러닝 – 음악가, 작가, 화가를 위한 딥러닝 1. 시리즈 개요와 AI 음악 🎵

[샵투월드 AI 연구소] 예술가를 위한 머신러닝 – 음악가, 작가, 화가를 위한 딥러닝

1. 시리즈 개요와 AI 음악

시작하면서.

AI는 예술가들의 창조성의 새로운 도구가 될 것입니다.

마치 19세기 전까지 화가들은 블루 색상 안료를 비싸고 귀한 청금석을 이용해야만 하다가 19세기 화학적 안료의 발명으로 누구나 사용할 수 있게 되었듯이,

또 전기의 발명으로 비디오 아트 , 디지털 아트 등의 범위가 넓어진 것처럼, 또  음악에선 레코딩 등 그 지평이 넓어진것 처럼 인공지능은 예술가들의 활동 범위를 넓히게 될 것입니다.

여러분은 저와 함께 딥러닝의 힘을 즐겨보도록 하겠습니다.

푸른색 안료의 사용을 위해 화가분께서 그 화학식을 이해할 필요 없듯이 여기서는 단순히 구글 콜랩을 이용해 여러분의 예술의 영역의 표현도구로 사용하는 데 촛점을 두고 진행하겠습니다. 여러분은 일부 매개 변수와, 값 및 소스를 변경하면서 , AI의 무한한 가능성을 즐기게 됩니다.

이 연재물은 음악가, 작가, 화가분들이 머신러닝의 직접적인 이해 없이도 접근할 수 있는 도구 제공의 목적으로 시작되었습니다.

만약 이런 도구 사용방법이 아닌 근본적인 머신러닝의 기초 부터 배우시고 싶으신 분은 샵투의 “왕초보 머신러닝 강좌“를 참고 하세요. 무료 입니다. 또한 머신러닝을 실제

적용하길 원하시는 분은 머신러닝 데이터 사이언스 웹앱 제작을 참고하세요.

작품 제목: 재벌된 꿈 꾼 후에 , 작가 : 인공지능 , 모델: 에이미

우리는 이 연재물에서 위와 같은 작업을 하게 됩니다. 위의 작품은

우리 인간이 연속된 패턴을 발견하는 뇌 신경의 속성을 적용하여 만들어진 작품으로

연재를 통해 살펴보는 내용 중 하나입니다. 여러분은 이런 패턴 구조 적용 방식을 머신러닝 알고리즘에 대한 이해 없이 사용할 수 있게 됩니다.

예술가들이 기술이 아닌 작품 자체에만 신경쓰면 되는 것이 이 연재의 목적입니다.

 

그럼 먼저 이번 시간에는 음악을 한번 AI로 접근해 보겠습니다.

 

 

Magenta: 마젠타: 변압기와 음악

마젠타(Magenta)는 구글의 오픈소스 프로젝트로서, 인공지능을 이용한 음악 창작을 지원하는 라이브러리와 툴킷입니다. Magenta를 사용하여 MIDI 파일 생성하는 코드는 다음과 같습니다.

# 필요한 라이브러리 설치
!pip install magenta

# Magenta에서 제공하는 예제 코드 사용
import magenta
from magenta.models.melody_rnn import melody_rnn_sequence_generator
from magenta.models.shared import sequence_generator_bundle
from magenta.protobuf import generator_pb2
from magenta.protobuf import music_pb2


# 모델 경로와 설정
BUNDLE_NAME = 'attention_rnn'
MODEL_NAME = 'attention_rnn'
BUNDLE_PATH = sequence_generator_bundle.read_bundle_file(f'./{BUNDLE_NAME}.mag')
CONFIG = BUNDLE_PATH.generator_details

# Sequence Generator 초기화
generator = melody_rnn_sequence_generator.MelodyRnnSequenceGenerator(
    model=sequence_generator_bundle.read_bundle_file(f'./{MODEL_NAME}.mag'),
    details=config.details,
    steps_per_quarter=config.steps_per_quarter,
    checkpoint=None)

# Sequence Generation을 위한 설정
generate_section = music_pb2.NoteSequence()
generate_section.ticks_per_quarter = 220
generate_section.tempos.add().qpm = 120

# 생성할 음악 정보 입력
generator_options = generator_pb2.GeneratorOptions()
generator_options.args['temperature'].float_value = 1.0
generator_options.generate_sections.add(start_time=0, end_time=30)

# 음악 생성
sequence = generator.generate(generate_section, generator_options)

이 코드는 Magenta에서 제공하는 예제 코드를 기반으로 하며, MelodyRNN 모델을 사용하여 MIDI 파일을 생성합니다. 코드 실행 전에 Magenta 라이브러리를 설치해야 합니다. MIDI 파일을 생성하면, 다양한 프로그램을 사용하여 연주하거나 WAV 파일로 변환할 수 있습니다.

 

 

마젠타 홈페이지

https://magenta.tensorflow.org/

 

여러분은 아래의 “실습해 보기” 링크를 통해 간단하게 실행해 볼 수 있습니다.

다만 구글 콜랩을 한번도 안해 보신 분이면 먼저 딱 4분 15초만 시간을 내 주셔서

다음의 동영상 강좌를 봐 주시고 시작하세요.  또는 이미 하실 줄 아시는 분은 아래의 실습해 보기로 바로 가 주시기 바랍니다.

 

실습해 보기