Sonic Pi, 코드로 음악 만드는 방법, 소개, 챗GPT 활용한 사용법
음악과 프로그래밍의 경계를 허무는 도구, Sonic Pi에 대해 들어본 적이 있나요? 프로그래밍 코드를 통해 음악을 창조하고 연주할 수 있는 이 혁신적인 툴은 단순히 음악 제작 도구를 넘어서는 차원의 경험을 제공합니다.
이 글을 통해 Sonic Pi가 어떻게 전문 뮤지션과 DJ에게 강력한 도구가 되며, 동시에 프로그래밍과 음악 교육에 있어서도 간단하고 접근성 높은 학습 도구가 될 수 있는지 알아봅시다.
코드로 음악을 창조하다
Sonic Pi는 샘 애런(Sam Aaron)과 Sonic Pi 코어 팀에 의해 개발되었습니다. 이 도구는 사용자가 코드를 작성함으로써 다양한 음악 장르를 만들고 연주할 수 있게 해주는, 코드 기반의 무료 음악 창조 및 연주 도구입니다. 클래식, 재즈부터 힙합, EDM까지 놀라울 정도로 다양한 스타일의 음악을 창조할 수 있습니다.
누구나 쉽게 접근 가능
Sonic Pi의 가장 큰 장점 중 하나는 그 접근성에 있습니다. 시각 장애인과 저시력자를 위한 접근성 또한 고려되어 있어, 모두가 음악 창조의 즐거움을 경험할 수 있습니다. 또한 컴퓨팅 및 음악 수업에 있어서도 간단하게 사용할 수 있어, 음악과 프로그래밍을 동시에 배울 수 있는 효과적인 학습 도구가 됩니다.
Sonic Pi 잘 활용하면 아래 여성처럼 만들 수 있게 됩니다!
생동감 넘치는 라이브 코딩
Sonic Pi의 핵심 기능 중 하나는 실시간으로 음악을 코딩하고 연주할 수 있는 라이브 코딩 기능입니다. 멀티 채널 오디오 입출력, 정확한 타이밍의 MIDI 입출력, OSC(Open Sound Control) 입출력을 지원합니다. 또한 Ableton의 Link 네트워크 메트로놈이 내장되어 있어, 다른 장치와의 동기화도 용이합니다. 이 모든 기능이 합쳐져 사용자는 자신의 컴퓨터를 완전히 네트워크화된 라이브 코딩 음악 스튜디오로 변모시킬 수 있습니다.
Sonic Pi 설치법
위 사이트에 접속하여 windows와 macOS에 맞게 설치할 수 있습니다. 라즈베리파이 사용시 라즈베리파이용 OS도 제공하고 있습니다.
설치하면 아래와 같은 화면이 나옵니다.
중앙에 보이는 화면에 코드를 넣어 위에 ▷(시작버튼)을 누르면 노래가 실행됩니다.
위 도구를 활용하기 위해 아래 사이트에서는 튜토리얼을 제공하지만 필자는 여기체 챗GPT를 활용해 보았습니다.
챗GPT를 활용한 sonic pi 코드 작성하는 방법
챗GPT에게 이렇게 요청해봤습니다.
"게임하면서 듣기 좋은 사이버펑크 느낌의 전자 음악을 sonic pi 코드로 만들어줘"
챗GPT는 이렇게 답했습니다.
그러면서 아래 코드와 함께 설명도 해 주었습니다.
# 사이버펑크 스타일 전자 음악 예제
use_bpm 120 # 비트를 분당 120회로 설정
live_loop :bassline do
use_synth :tb303 # Roland TB-303 시뮬레이터 사용
play :c2, release: 1, cutoff: rrand(70, 130)
sleep 1
end
live_loop :drums do
sample :bd_tek, amp: 2
sleep 0.5
sample :sn_dub, amp: 2 if spread(3, 8).tick # 8 스텝 중 3개를 선택하여 스네어 드럼 재생
sleep 0.5
end
live_loop :melody do
use_synth :blade
play scale(:e3, :minor_pentatonic).choose, release: 0.5, amp: 0.5
sleep [0.25, 0.25, 0.5, 1].choose
end
live_loop :effects do
with_fx :reverb, mix: 0.5 do
sample :ambi_glass_hum, rate: 0.5, amp: 0.5 if one_in(6)
end
sleep 2
end
이 코드는 다음과 같은 구성 요소를 포함합니다:
- :bassline 라이브 루프는 TB-303 신디사이저 사운드를 사용하여 베이스라인을 생성합니다.
- :drums 라이브 루프는 기본적인 드럼 패턴을 만들고, 스네어 드럼이 불규칙하게 재생되도록 합니다.
- :melody 라이브 루프는 멜로디를 생성합니다. :blade 신디사이저를 사용하며, e3 음에서 시작하는 단조 펜타토닉 스케일을 기반으로 무작위 음을 선택합니다.
- :effects 라이브 루프는 배경에 환경 효과를 추가합니다. :ambi_glass_hum 샘플을 재생하고, :reverb 효과를 적용하여 공간감을 더합니다.
이 코드를 Sonic Pi에 복사하고 실행하여 사이버펑크 스타일의 배경 음악을 즐길 수 있습니다. 음악 코딩을 통해 개인적인 취향과 창의력을 표현하는 데 이 예제가 도움이 되길 바랍니다. Sonic Pi의 다양한 신디사이저, 효과, 샘플을 실험해 보며 나만의 독특한 사운드를 창조해 보세요.
위 제공한 코드를 넣어봤습니다.
여기서 꿀팁 하나 드리자면 코드에 커서두고 ctrl + 마우스 휠로 조정하면 코드 글씨 크기가 변경됩니다. 지금 코드 글씨가 크게 나오는데 정리하면 아래처럼 한눈에 들어오게 할 수 있습니다.
그렇게 해서 틀어봤습니다. ▷ 실행.
오. 되게 컨셉에 맞게 사이버펑크 느낌의 노래가 나왔습니다. 화면 오른쪽에 보이는 파형이 음악과 함께 움직이니 뭔가 신기했습니다.
실행 옆에 네모 박스를 누르면 □ 음악이 멈추구요. 그 옆에 동그라미 ○ 버튼 누르면 녹음할 수 있습니다. 필자가 들은 이 노래를 글에 넣기 위해 녹음을 해보았습니다.
먼저, 실행 ▷ 누르고, 그 다음 녹음 ○
그러면 녹음 버튼이 깜빡이면서 녹음이 되는 걸 알 수 있습니다. 다시 동그라미를 누르면 노래 만든 걸 저장하는 문구가 뜹니다. 아래 파일 형식을 보면 알 수 있듯이 .wav로 저장되는 걸 볼 수 있습니다.
코드를 몰라도 챗GPT만 잘 활용하면 아래처럼 컨셉에 맞는 음악을 손쉽게 만들 수 있습니다. 여기에 자신의 아이디어를 더욱 더하고 싶다면 위에 소개한 튜토리얼을 통해 공부하여 원하는 대로 수정하여 더욱 퀄리티를 높일 수 있습니다.
미래 음악 교육과 창작의 전망
Sonic Pi는 프로그래밍과 음악을 결합한 창의적인 교육 방법을 제시하며, 이는 미래 음악 교육과 창작에 있어 중요한 변화를 예고합니다. 기술과 예술의 경계를 허무는 이러한 도구는 다양한 배경의 사람들이 음악 창조 과정에 참여할 수 있는 기회를 넓히며, 창작의 장을 더욱 풍부하게 만들 것입니다. 또한, 이는 음악과 프로그래밍의 통합을 통해 더 많은 혁신적인 창작물이 탄생할 가능성을 열어줍니다.
끝으로
Sonic Pi는 코드를 통해 음악을 창조하고 연주할 수 있는 강력하면서도 표현력 있는 도구입니다. 그 접근성과 간단한 사용법은 모든 사람들이 음악 창조의 기쁨을 경험할 수 있게 해주며, 특히 프로그래밍과 음악 교육에 있어서 새로운 지평을 엽니다. Sonic Pi와 같은 혁신적인 도구의 발전은 앞으로 음악 교육과 창작 방식에 있어 중요한 영향을 미칠 것으로 기대됩니다. 이 글을 통해 여러분이 Sonic Pi의 가능성을 탐색하는 데 유익한 시간이 되었기를 바랍니다.
▼ 챗GPT로 이런것도 할 수 있어요! ▼