
고화력 DOK로 AI 음악 생성하기 (Stable Audio 3.0 Medium)
요약
Stable Audio 3.0 Medium 모델을 사용하여 고화력 DOK 환경에서 AI 음악을 생성하는 과정을 다룹니다. Hugging Face에서 모델을 가져와 컨테이너 이미지로 빌드하고, 이를 레지스트리에 저장하여 실행하는 전체 워크플로우를 설명합니다.
핵심 포인트
- Stable Audio 3.0 Medium 모델을 활용한 음악 생성 시도
- Hugging Face 모델의 컨테이너 이미지화 및 레지스트리 관리
- 고화력 DOK 환경에서의 모델 구동 및 오브젝트 스토리지 활용
- 의존성 라이브러리 해결을 위한 Dockerfile 구성 노하우
눈부신 진화를 거듭하는 AI 기술.
화제가 되는 것은 코딩이나 이미지·동영상 생성 위주이지만, 작곡 분야에서도 높은 수준에 도달하고 있다.
이번에는 레이와 8년(2026년) 5월에 공개된 음악 생성 AI 시리즈 「Stable Audio 3.0」 중, 오픈 웨이트 (Open Weights) 최고 수준 모델인 Medium을 고화력 DOK로 구동하여 음악 생성을 시도해 보았다.
구성은 매우 단순하다.
Hugging Face에서 AI 모델을 취득하여, 스크립트를 포함해 컨테이너 이미지화하고, 컨테이너 레지스트리 (Container Registry)에 저장한다.
고화력 DOK에서 해당 컨테이너 이미지를 구동하여 AI 음악 생성을 실행하고, 결과물은 오브젝트 스토리지 (Object Storage)에 저장한다.

Docker 이미지 작성용 서버 구축에 대해서는 이 기사에서 해설하고 있으므로, 이번에는 생략한다. 모델이 무겁기 때문에 4코어 16GB·디스크 100GB 서버를 사용했다.
미리 컨테이너 레지스트리를 작성해 둔다.
사쿠라 클라우드 (Sakura Cloud)의 컨트롤 패널에서 작성하고, 사용자 등록도 마쳐 둔다.

컨테이너 레지스트리의 사용자 등록이 완료된 시점에서, 고화력 DOK의 레지스트리 인증 정보도 등록할 수 있다.

결과물을 저장할 오브젝트 스토리지의 버킷 (Bucket)과 그 액세스 키 ID (Access Key ID)도 작성해 둔다. 자세한 내용은 매뉴얼을 참조할 것.

이것으로 사쿠라 클라우드 측의 준비는 완료되었다.
다음과 같은 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)를 실행해 나간다.

이미지는
<작성한 레지스트리의 호스트명>.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)에 결과물이 저장되었다.


출력된 음원은 소재로 사용하기에 손색없는 품질이었다.
이번에는 고화력 DOK 위에서 음악 생성 AI 「Stable Audio 3.0 Medium」을 구동해 보았다.
이 기사에서는 2분 길이의 곡을 단 한 곡만 생성했지만, H100의 사양이라면 대량의 음악 생성을 실행하는 것이 가능하다. 더욱 중량급인 모델에도 도전할 수 있다.
꼭 한번 시도해 보길 바란다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기