눈부신 진화를 거듭하는 AI 기술.
화제가 되는 것은 코딩이나 이미지·동영상 생성 위주이지만, 작곡 분야에서도 높은 수준에 도달하고 있다.
이번에는 레이와 8년(2026년) 5월에 공개된 음악 생성 AI 시리즈 「Stable Audio 3.0」 중, 오픈 웨이트 (Open Weights) 최고 수준 모델인 Medium을 고화력 DOK로 구동하여 음악 생성을 시도해 보았다.
구성은 매우 단순하다.
Hugging Face에서 AI 모델을 취득하여, 스크립트를 포함해 컨테이너 이미지화하고, 컨테이너 레지스트리 (Container Registry)에 저장한다.
고화력 DOK에서 해당 컨테이너 이미지를 구동하여 AI 음악 생성을 실행하고, 결과물은 오브젝트 스토리지 (Object Storage)에 저장한다.
image.png
Docker 이미지 작성용 서버 구축에 대해서는 이 기사에서 해설하고 있으므로, 이번에는 생략한다. 모델이 무겁기 때문에 4코어 16GB·디스크 100GB 서버를 사용했다.
미리 컨테이너 레지스트리를 작성해 둔다.
사쿠라 클라우드 (Sakura Cloud)의 컨트롤 패널에서 작성하고, 사용자 등록도 마쳐 둔다.
image.png
컨테이너 레지스트리의 사용자 등록이 완료된 시점에서, 고화력 DOK의 레지스트리 인증 정보도 등록할 수 있다.
image.png
결과물을 저장할 오브젝트 스토리지의 버킷 (Bucket)과 그 액세스 키 ID (Access Key ID)도 작성해 둔다. 자세한 내용은 매뉴얼을 참조할 것.
image.png
이것으로 사쿠라 클라우드 측의 준비는 완료되었다.
다음과 같은 Dockerfile을 기술했다.
Python 버전 요구사항에 따라 Ubuntu 22.04를, 의존 패키지 요구사항에 따라 numpy를 2 미만 버전으로 채택하고 있다.
문헌이 적어 의존 라이브러리를 파악하는 데 몇 번의 시행착오를 겪어야 했다.
개인 폐쇄망 이용이므로, 모델 취득 시 사용하는 Hugging Face 액세스 토큰 (Access Token)은 빌드 시 --build-arg로 전달하는 방식으로 하고 있다 (Hugging Face 계정이 없는 분은 생성할 것).
FROM nvidia/cuda:13.0.0-runtime-ubuntu22.04
LABEL jp.sakuracr.t-shirotani-airepo.version="1.0.0"
LABEL jp.sakuracr.t-shirotani-airepo.release-date="2026-07-28"
...
엔트리 포인트 (Entry Point)가 되는 쉘 스크립트와 Python 스크립트는 다음과 같다.
#!/bin/bash
set -ue
shopt -s nullglob
...
import argparse
import boto3
import json
...
동작 시 필요한 환경 변수는 후술한다.
위의 3개 파일을 동일 디렉토리 하위에 배치하고, Docker 이미지를 build, push 한다.
sudo docker login -t <작성한 레지스트리의 호스트명>.sakuracr.jp -u <작성한 사용자> -p <작성한 사용자의 비밀번호>
sudo docker build --build-arg access_token=Hugging Face의 액세스 토큰 -t <작성한 레지스트리의 호스트명>/stable-audio-3-medium:latest .
sudo docker image push <작성한 레지스트리의 호스트명>.sakuracr.jp/stable-audio-3-medium:latest
대용량 모델이라 시간이 조금 걸린다. 작곡이라도 하면서 기다리자.
push가 완료되면, 고화력 DOK에서 태스크 (Task)를 실행해 나간다.
image.png
이미지는
<작성한 레지스트리의 호스트명>.sakuracr.jp/stable-audio-3-medium:latest
레지스트리 인증 정보는 방금 등록한 것을 선택한다.
프롬프트 (Prompt)나 파일 저장 위치 등은 환경 변수로 받도록 설계되어 있다. 다음과 같은 설정이 필요하다.
| 환경 변수 | 역할 |
|---|
| PROMPT | 음악 생성을 지시하는 프롬프트. 영어로 기술하는 것이 바람직함. |
| ... | |
Stable Audio 3.0 Medium 모델은 컨테이너 내부에 저장되어 있지만, 텍스트 인코더 (Text Encoder) 초기화 처리 시 Hugging Face와 통신하기 때문에 Hugging Face의 토큰도 필요하다.
이것들을 등록하고 태스크 등록을 수행한다.
이번에는 다음과 같은 내용으로 2분 길이의 피아노 곡을 생성시켜 보았다.
영화 같은 피아노 솔로, 감성적이고 정서적인 사운드트랙, 향수를 불러일으키는 분위기, 느린 템포, 섬세하고 표현력이 풍부한 멜로디, 부드러운 다이내믹스 (dynamics), 대기감이 느껴지는 리버브 (reverb), 고품질, 스테레오 (stereo).
약 1분 만에 처리가 완료되었고, 오브젝트 스토리지 (object storage)에 결과물이 저장되었다.
image.png
image.png
출력된 음원은 소재로 사용하기에 손색없는 품질이었다.
이번에는 고화력 DOK 위에서 음악 생성 AI 「Stable Audio 3.0 Medium」을 구동해 보았다.
이 기사에서는 2분 길이의 곡을 단 한 곡만 생성했지만, H100의 사양이라면 대량의 음악 생성을 실행하는 것이 가능하다. 더욱 중량급인 모델에도 도전할 수 있다.
꼭 한번 시도해 보길 바란다.