이 글은 https://ziva.sh/blogs/godot-ai-sound-effects의 일본어 버전입니다 (영어 원문은 Ziva.sh가 2026년 11월 4일에 공개했습니다).
Godot으로 게임을 제작하는 분들이 효과음을 넣고 싶을 때 참고할 수 있는 글입니다. 다음 내용을 다룹니다.
- Godot 에디터 내에서 작동하는 AI 에이전트 Ziva를 사용하여 텍스트로부터 효과음을 생성하고 게임에 통합하는 방법
- ElevenLabs, Sonilo, UnlockSFX, SFXMint, sfxr 계열 도구, 무료 라이브러리와의 비교
- 비나 장작불 같은 환경음을 Godot에서 올바르게 루프(loop)시키는 방법
- Godot 4에서 효과음을 직접 추가하는 방법
Godot 게임에 AI로 만든 효과음을 넣는 가장 빠른 방법은 Godot 에디터 내에서 작동하는 AI 에이전트 Ziva를 이용하는 것입니다. '점프, 코인 획득, 데미지 효과음 추가'와 같이 입력하면, Ziva가 효과음별로 최대 3개의 테이크(take)를 생성합니다. 채팅창에서 들어보고 하나를 선택하면, MP3 파일이 res://assets/generated/audio/에 저장되고 게임 내에서 해당 소리를 재생하는 코드까지 자동으로 추가됩니다. 길이는 0.5초~22초이며, 비나 엔진음 같은 환경음은 루프 소재로 만들 수 있습니다. Ziva가 만드는 것은 효과음(SFX)이며, 음악(BGM)은 제작하지 않습니다.
웹사이트에서 소리를 만들어 직접 임포트하고 싶거나, 무료 레트로풍 효과음만으로 충분한 경우에는 다른 도구가 더 적합합니다. 어떤 것이 자신에게 맞는지 여부는 아래 비교표에 정리했습니다.
Ziva는 저희 Ziva.sh가 개발한 제품입니다. 다른 도구들의 정보는 각 도구의 공식 페이지를 기반으로, 2026년 11월 4일 기준으로 확인된 내용입니다.
| 도구 | 종류 | Godot에 통합하는 방법 | 길이 및 루프 | 계정/가격 | 상업적 이용 |
|---|
| Ziva | Godot 에디터 내 AI 에이전트 (4.2 이상). 채팅으로 효과음 생성 | MP3를 res://assets/generated/audio/에 저장하고 재생 코드도 추가 | 0.5초~22초. 루프는 임포트 설정에서 Loop를 On으로 설정 | | |
| Ziva 계정 필요. 플랜 이용 한도를 소모하며, 1초짜리 사운드를 3개의 테이크로 만들고 1센트 미만 | | | | | |
| Ziva 이용 약관 참조. Steam에서는 AI 생성 사운드 공개가 필요 | | | | | |
| ElevenLabs Sound Effects | AI 생성 도구 (Web 및 API) | MP3 또는 WAV를 다운로드하여 임포트 | 최대 30초. 루프 지원 | | |
| 무료 플랜은 월 1만 크레딧. 유료 플랜은 월 $6부터 | | | | | |
| 유료 플랜만 가능. 무료 플랜은 비상업적 용도 | | | | | |
| Sonilo | 효과음 및 음악 AI 플러그인 (Godot 4.2 이상) | WAV를 res://sonilo/generated_audio/에 저장하거나 노드에 추가 | | | |
| 길이는 Sonilo가 결정. 루프 관련 내용은 기재되어 있지 않음 | | | | | |
| 플러그인은 무료. Sonilo 계정과 API Key 필요하며, 초 단위로 과금됨 | | | | | |
| Pro 플랜 이상 또는 대상 API 사용자. 무료 플랜은 비상업적 용도 | | | | | |
| UnlockSFX | AI 플러그인 (Godot 4.3 이상 권장) | MP3 또는 WAV를 res://sfx/에 임포트. AudioStreamRandomizer도 생성 가능 | | | |
| 길이는 기재되어 있지 않음. 루프 지원 | | | | | |
| 플러그인은 무료. 크레딧 팩은 $5부터, 5초당 1크레딧 | | | | | |
| 로열티 프리. 소재 파일 자체의 재판매는 불가 | | | | | |
| SFXMint | CC0 라이브러리 + AI 생성 (Godot 4.6 이상) | WAV를 res://audio/sfxmint/에 임포트 | 효과음은 최대 10초, 환경음은 30초. 루프는 서비스가 반환했을 경우만 | | |
| 플러그인은 무료. 하루 10회까지 무료 생성, 저장 시 크레딧 필요 | | | | | |
| CC0 | | | | | |
| Foley AI | AI 플러그인 | 현재 사용 불가 (2026년 7월 서비스 종료) | | | |
| - | - | | | | |
| gdfxr | Godot 에디터 내 레트로 효과음 제너레이터 (AI 아님) | .sfxr 파일을 그대로 AudioStream으로 재생 | | | |
| 짧은 소리. 루프는 임포트 설정 | | | | | |
| 무료, MIT | | | | | |
| 기재되어 있지 않음 | | | | | |
<table>
<thead>
<tr><th>ChipTone과 jsfxr</th><th>브라우저에서 작동하는 레트로 효과음 생성기 (AI 아님)</th><th>다운로드하여 임포트</th><th>짧은 소리</th><th>무료</th><th>ChipTone 사운드는 CC0입니다. jsfxr는 상업적 이용에 제한이 없습니다.</th></tr>
</thead>
<tbody>
<tr><th>Kenney와 Freesound</th><th>효과음 라이브러리</th><th>다운로드하여 임포트</th><th>다양함</th><th>무료</th><th>Kenney는 CC0입니다. Freesound는 사운드마다 다릅니다 (CC0, CC-BY, CC-BY-NC).</th></tr>
</tbody></table>
웹 기반 생성 도구는 소리를 만드는 단계까지 처리하며, Godot 플러그인은 프로젝트에 저장하는 것까지 관리해 줍니다. Ziva는 장면(Scene)이나 스크립트를 편집하는 에이전트이기 때문에, 한 단계 더 나아가 플레이어가 점프하거나 버튼을 누르는 등 적절한 타이밍에 소리를 재생하는 작업까지 수행합니다.
- Godot 프로젝트에 Ziva를 설치하고 로그인합니다.
- 채팅으로 필요한 효과음을 요청합니다. 예: “점프음, 코인 획득음, 데미지음 추가해 줘. 코인은 밝고 짧게 해 줘.” 한 번에 최대 8개까지 요청할 수 있습니다.
- 생성을 승인합니다 (자동 승인이 켜져 있다면 불필요). Ziva는 효과음마다 내용을 설명하고 적절한 길이를 지정하여 생성합니다. 대부분의 효과음은 0.5
2초, 환경음은 515초 정도입니다.
Pick your sounds 카드에서 각 효과음의 테이크(take)를 재생해보고 하나를 선택합니다. 마음에 들지 않으면 “더 낮게, 탄력감을 줄여줘”와 같이 수정하고 싶은 점을 입력하면 새로운 테이크가 생성됩니다. - 선택된 사운드는
res://assets/generated/audio/
에 jump.mp3와 같은 이름으로 저장되며, 소리를 재생해야 할 위치에는 다음과 같은 한 줄이 추가됩니다.
ZivaSfx.play(self, preload("res://assets/generated/audio/jump.mp3"))
ZivaSfx는 Ziva가 프로젝트의 addons/ziva_audio/ziva_sfx.gd에 추가하는 작은 헬퍼입니다. 재생할 때마다 피치(pitch)를 약 8% 무작위로 변경하기 때문에, 점프나 히트를 반복해도 같은 소리로 들리기 어렵게 합니다. 만약 SFX라는 이름의 오디오 버스(Audio Bus)가 있다면 그곳으로 출력하고, 재생이 끝나면 플레이어를 제거합니다.
이미지와 효과음 생성은 Settings → Agent → Image and Sound Generation Tools에서 끌 수 있습니다. 모든 테이크가 생성되기 때문에, 선택하지 않은 테이크도 사용량에 포함됩니다. 또한 Steam에서는 게임에 포함된 AI 생성 사운드를 공개해야 합니다.
“창문에 부딪히는 빗소리, 10초, 루프”와 같이 반복되는 소리를 요청하면, Ziva는 반복 재생을 전제로 한 클립을 생성하고 임포트 설정에서 Loop를 켜서 저장합니다. Autoplay가 활성화된 AudioStreamPlayer에 설정하면 계속해서 울립니다.
다른 곳에서 얻은 파일의 경우, FileSystem 독(Dock)에서 파일을 선택한 후, Import 독에서 Loop에 체크하거나 (Ogg Vorbis와 MP3), Loop Mode를 Forward로 설정하고 (WAV), Reimport를 클릭합니다. 흔히 발생하는 실패 사례는 두 가지입니다.
finished 시그널을 사용해 루프시키는 경우. Godot은 루프 재생 중인 소리에서는 finished를 발생시키지 않으므로, 임포트 설정을 사용해야 합니다. - 양 끝에 무음이나 페이드가 있는 클립을 사용하는 경우. 어떻게 임포트해도 루프 연결 부위에 틈이 들리기 때문에, 사전에 Audacity와 같은 오디오 편집 소프트웨어로 트리밍(trimming)해야 합니다.
Ziva의 루프 소재는 최대 22초입니다. 길고 변화무쌍한 환경음을 만들고 싶다면, 일정한 루프 위에 짧은 단발음을 중첩합니다. 예를 들어 모닥불 루프에 파지직거리는 소리를 무작위 간격으로 재생하게 합니다.
음성 파일이 손에 있는 경우:
- 파일을 FileSystem 독으로 드래그합니다. Godot은 WAV, Ogg Vorbis, MP3를 임포트할 수 있습니다. 공식 문서에서는 짧게 반복되는 효과음에는 WAV, 음악이나 긴 소리에는 Ogg Vorbis가 권장됩니다.
- 장면에
AudioStreamPlayer
특정 위치에서 소리를 재생하려면 AudioStreamPlayer2D 또는 AudioStreamPlayer3D를 추가하고, Stream에 파일을 설정합니다. - 점프 처리 시 $JumpSound.play()를 호출하거나, 버튼의 pressed 시그널을 소리 재생 함수에 연결합니다.
소리는 해당 노드가 해제되면 멈춥니다. 따라서 queue_free()를 호출하는 코인(coin)은 자신의 수집 사운드를 중간에 잘라버립니다. 이를 방지하려면 Autoload처럼 계속 남아있는 노드에서 소리를 재생하거나, 씬 트리 루트(get_tree().root) 아래에 임시 플레이어를 추가해야 합니다. ZivaSfx는 후자의 방법을 사용합니다. 하나의 효과음으로 여러 테이크를 전환하여 재생하고 싶다면, AudioStreamRandomizer로 묶습니다. 이 노드에서는 무작위로 하나를 선택하여 재생할 수 있으며, 피치나 음량도 변경할 수 있습니다.
-
음악, 대화(세리프), 보이스는 만들 수 없습니다. 효과음과 환경음의 루프만 가능합니다.
-
하나의 사운드는 0.5초~22초입니다.
-
출력은 MP3만 가능합니다. WAV나 Ogg Vorbis가 필요하다면 Audacity 등에서 변환해야 합니다.
-
보관할 수 있는 것은 효과음별로 1개의 테이크뿐입니다. 효과음 도구는 테이크로부터 AudioStreamRandomizer를 자동으로 생성하지 않습니다. - Godot 전용입니다. Unity, Unreal, Isaac Sim에는 대응하지 않습니다.
-
로그인한 Ziva 계정과 인터넷 연결이 필요합니다.
-
[무료 레트로 효과음 (픽셀 아트 게임용)]: ChipTone, jsfxr, gdfxr 애드온
-
[기본 사운드 (클릭음, 발소리, 충격음 등) 무료]: Kenney의 CC0 팩, Freesound의 CC0 필터
-
[BGM]: Sonilo 또는 SFXMint, 혹은 작곡가에게 의뢰
-
Godot에서 효과음 생성부터 게임에 통합까지 한 번에 해결하고 싶다면 Ziva를 사용하세요. 최대 3개의 테이크를 비교하여 선택할 수 있으며, MP3 저장과 재생 코드 추가까지 처리해 줍니다. 음악은 만들지 않습니다.
-
웹에서 효과음을 만들어 직접 임포트하려면 ElevenLabs를 사용하세요. 상업적 이용을 위해서는 유료 플랜이 필요합니다.
-
무료 레트로 효과음은 ChipTone, jsfxr, gdfxr입니다. 기본 사운드는 Kenney나 Freesound의 CC0 자료를 활용하세요.
-
루프 소재는 Godot의 임포트 설정에서 루프(loop)를 켜고, finished 시그널을 이용한 루프는 피하는 것이 좋습니다.
이 글의 원문 (영어, FAQ 포함): https://ziva.sh/blogs/godot-ai-sound-effects