소개
AI로 음악을 만들 때 단순히 “좋은 프롬프트”를 쓰는 것보다 먼저 필요하다고 느낀 것은, 내가 어떤 소리를 좋아하는지 데이터로 쌓는 것이었습니다.
그래서 저는 AI 음악 제작을 위한 개인 사운드 데이터베이스를 만들었습니다.
핵심은 여러 곳에서 사운드 재료를 모으고, 핸드폰에서 직접 듣고 평가한 뒤, 그 평가 결과를 바탕으로 Suno 음악 제 작용 프롬프트와 샘플을 만드는 것입니다.
이번 실험에서는 SoundSwipe라는 개인 평가 앱을 만들고, Freesound, Citizen DJ, Great78 같은 공개 사운드 소스를 모아 평가했습니다.
그중 좋은 점수를 받은 샘플을 Suno에 넣어 실제 곡 Ivy on the Brick을 만들었습니다.
추가로 이 과정을 발표자료 웹페이지로 정리했고, 이후에는 이 음악을 활용한 영상 제작 과정도 이어서 추가할 예정입니다.
진행 방법
사용한 도구는 다음과 같습니다.
SoundSwipe: 사운드 샘플을 듣고 1-10점으로 평가하는 모바일 웹앱
GitHub Pages: SoundSwipe를 핸드폰에서 쓸 수 있게 웹앱으로 배포
Supabase: 사운드 카드, 평가 점수, 태그, 출처 저장
Obsidian: 실험 노트와 평가 결과를 장기 기록
Suno: 평가가 좋은 샘플을 넣어 실제 음악 생성
Claude / Aside: 데이터 구조 정리, 발표용 웹페이지 제작, 프롬프트 정리
전체 흐름은 다음과 같습니다.
text
사운드 수집→ GitHub Pages로 SoundSwipe 배포→ 핸드폰에서 샘플 듣고 1-10점 평가→ Supabase에 평가 결과 저장→ Obsidian에 실험 기록 동기화→ 좋아한 소리 / 싫어한 소리 분석→ Positive Prompt / Exclude Prompt 생성→ Suno에 샘플과 프롬프트 입력→ 완성곡 생성사운드는 한 곳에서만 가져온 것이 아니라 여러 소스에서 (CDN/API)가져왔습니다.
text
전체 SoundSwipe 사운드 카드: 2,592개
Freesound: 1,173개 Citizen DJ: 400개 Great78 / Archive.org: 320개 OldSpeech: 80개PD1925: 70개 Suno / AI Seed: 549개그리고 매일 100개씩 새로운 샘플 후보가 쌓이도록 자동화했습니다.
text
Citizen DJ 50개Great78 40개OldSpeech 10개= 매일 100개 자동 수집샘플은 단순히 저장만 한 것이 아니라 아래처럼 태깅했습니다.
text
source: Freesound / Great78 / Citizen DJbatch: sample_radar_20260728category: sample / dna_hook / dna_rhythm / dna_basscdn: 재생용 오디오 링크source_url: 원본 출처rating10: 1-10 평가 점수verdict: like / dislike / superlikenote: 왜 좋았는지, 어떻게 쓸 수 있는지이번 곡에 사용한 샘플은 Great78 / Archive.org 계열의 1922년 음원 입니다.
62초 지점에서 6초 구간을 잘라 Suno Sample 조건으로 사용했습니다.
사용한 Suno Positive Prompt는 다음과 같습니다.
text
sample-based alt hip-hop, jazz rap, 108 BPM,1920s jazz chops, chopped brass loop,warm upright bass, muted 808 sub,dry 808 and 606 drum-machine hits,UK garage snare swing, crisp swung hi-hats,tight boom-bap drums, tape saturation,vinyl crackle, intimate dry rap vocal,layered call and response,sparse hook drop,late-night city mood, emotional upliftExclude Prompt는 다음과 같습니다.
text
pads, bright synth keys,glossy lead synth, obvious lead preset,evolving atmosphere, spacious digital wash,arpeggiated preset motion,EDM festival drop, future bass chords,K-pop drop, big choir, lush strings,theatrical vocals, glossy pop vocal,melisma, vocal runs, adlibs,dramatic vibrato, whisper vocals,generic cinematic trap, retro novelty이렇게 좋아한 소리는 Positive Prompt로, 싫어한 소리는 Exclude Prompt로 분리했습니다.
결과와 배운 점
가장 크게 배운 점은, 개인적인 AI 음악 결과를 얻으려면 먼저 개인적인 데이터 수집이 필요하다는 것입니다.
처음에는 좋은 프롬프트를 쓰면 원하는 음악이 나올 거라고 생각했지만, 실제로는 내가 어떤 소리를 좋아하고 싫어하는지 먼저 쌓아야 했습니다.
SoundSwipe에 평가 데이터가 쌓일수록 “내가 좋아하는 소리”가 점점 구체적으로 보였습니다.
좋아한 사운드는 다음과 같았습니다.
text
베이스가 중심인 소리건조한 드럼과 스윙1920s jazz chop 같은 샘플 정체성짧은 보컬 찹과 어쿠스틱 조각싫어한 사운드는 다음과 같았습니다.
text
패드처럼 넓게 퍼지는 분위기밝은 신스키뻔한 리드 신스광택 있는 AI 보컬EDM / K-pop식 드롭시행착오도 있었습니다.
좋은 샘플이라고 무조건 좋은 곡이 되지는 않았습니다.
멜로디를 더 넣는다고 항상 좋아지지 않았습니다.
Suno 특유의 AI 보컬 느낌이 강하게 나오는 경우가 있었습니다.
그래서 Exclude Prompt가 생각보다 중요했습니다.
샘플의 출처와 권리 기 록도 같이 남겨야 나중에 상업적 사용을 검토할 수 있었습니다.
처음에는 Suno로 만든 곡 자체가 결과물이었지만, 이후에는 AI 음악 → AI 뮤직비디오까지 연결하고 싶었습니다.
그래서 Ivy on the Brick의 특정 구간에 맞춰 영상 장면을 만들고, 박자와 인물 일관성을 맞추는 작업을 했습니다.
특히 중요한 장면은 곡의 훅인 “Ivy, cling to me” 부분이었습니다.
이 구간에서는 단순히 사람이 예쁘게 움직이는 것보다, “cling” 발음의 입모양과 노래 타이밍이 맞아야 장면이 진짜 뮤직비디오처럼 보였습니다.
그래서 영상 생성 프롬프트에는 다음 조건을 넣었습니다.
text
At the lyric moment “Ivy, cling to me,”the mouth shape must match the word “cling.”The lips close briefly for the “cl” consonant,then open naturally into the vowel,matching the exact singing timing.
Do not create random talking motion.Do not over-open the mouth.Do not make the character look like she is speaking unrelated words.The lip movement should feel like controlled music-video lip-sync.그 뒤 1분 42초부터 2분 28초 구간에서는 다음 문제를 추가로 수정했습니다.
text
1. 롱샷 전환이 음악 리듬보다 늦게 느껴짐2. 2분 25초쯤 인물이 턴하는 장면이 마법처럼 어색함3. 2분 28초 장면에서 노래를 부르는 것처럼 보여서 어색함4. 춤 동작이 BPM과 정확히 맞지 않음5. 생성할 때마다 인물 얼굴이 달라지는 문제 발생이를 해결하기 위해 Grok Imagine을 사용해 장면을 다시 생성했고, 단순히 “춤추는 영상”이라고 입력하는 대신, BPM, 박자, 카메라, 입 모양, 인물 고정 조건을 아주 구체적으로 넣었습니다.
사용한 프롬프트 방향은 이런 식이었습니다.
text
15-second 16:9 photoreal live-action dance insert at exactly 108 BPM.The first uploaded image is the immutable first frame and staging reference.The portrait reference is the immutable face identity reference.
Keep the same camera, set, microphone, brick wall, lighting and wardrobe.She stays front-facing with her mouth gently closed at all times.No random talking, no unrelated lip movement.
At the lyric moment “Ivy, cling to me,”match the mouth shape to the word “cling.”Lips close briefly for the “cl” consonant,then open naturally into the vowel on time with the vocal.
One beat every 0.556 seconds.Use grounded side-to-side groove accents,heel-toe footwork, restrained shoulder hits,soft knee bends, and a strong planted pose.
No turn, no pivot, no spin, no jump, no magic transition.Preserve the same person, same face, same body proportions.이 과정에서 배운 점은, AI 영상도 음악과 마찬가지로 프롬프트보다 기준 데이터가 먼저 필요하다는 것입니다.
음악에서는 내가 좋아하는 소리를 SoundSwipe에 저장했고,
영상에서는 인물 레퍼런스, 시작 프레임, BPM, 입모양, 가사 타이밍, 카메라 조건을 고정해야 했습니다.
결국 음악과 영상 모두 같은 구조였습니다.
text
좋은 결과를 바로 요청하는 것보다 기준이 되는 데이터를 먼저 만든다→ 평가한다→ 문제를 찾는다→ 조건을 더 구체화한다→ 다시 생성한다앞으로는 이 흐름을 더 발전시켜서,
SoundSwipe로 만든 음악 DNA와 AI 영상 생성 프롬프트를 연결해
곡의 분위기에 맞는 뮤직비디오 제 작 과정까지 이어갈 계획입니다.