- 주요 컨텐츠 :
캐릭터별 버프종료음을 최대한 자연스러운 캐릭터 음성에 맞춰서 AI로 제작했습니다.

※ 각 사운드 에셋은 data 모드 받아서 하나씩 확인해보셔도 됩니다만,
것보다 그냥 d2rmm 모드를 받으셔서 풀면 나오는 assets 폴더 내의 flac 파일들을 확인하시면 편합니다.
: 영상은 별도로 안 올리겠습니다. (올릴 필요도 없는게, 어차피 거기 있는 게 다예요 ㅎㅎㅎ)

- 자유로운 수정/배포 환영합니다.
단, 수정하는 모더들 간 버전 추적을 위해 출처표기는 반드시 해주시기 바랍니다.


- 참고한 원본자료들 :
2) 즐겁고님의 파밍통합스킨 v1.71 (https://www.inven.co.kr/board/diablo2/5842/7966)
- 이건 엽굵스킨 D3 v5.4를 참고하신 걸로 표기돼있습니다.




- 첨부파일 설명


1) js_buffends.zip
: 모드 전체 파일입니다.
압축을 푸시면 D2RMM 버전MPQ DATA(수동병합) 버전이 따로 나옵니다.

- D2RMM.zip
: D2RMM 모드입니다.



- MPQ_DATA.zip
: mpq 수동병합 데이터입니다.

D2RMM 안쓰시는 분들을 위한 자동 인스톨러가 포함돼있으며,
exe를 못 믿으시는 분들을 위해서 인스톨러 소스도 첨부해두었고,
정 뭣하시면 txt 병합은 좀 귀찮겠지만 수동으로 병합하셔도 됩니다.

data 폴더 안의 내용만 갖고 선히님 스킨도우미 쓰셔도 되기는 한데..
monsounds.txt / sounds.txt / states.txt / 그리고 base의 txt도 함께 건드리는 거라,
이 파일들 수정하는 다른 모드들을 쓰고 계신다면 택1을 하셔야 합니다.


2) VoiceMaker.zip
: (맨 하단 설명 참조)
원본 목소리를 참고하여 짧은 AI 보이스를 합성해주는 도구입니다.
절대로 불법적으로 사용하시면 안됩니다. (경고문도 첨부해두었습니다.)

(필참) 사용을 위해서는 GPT-SoVITS가 반드시 필요합니다. (7.62GB)




- 세부사항 :

1. 버프별 캐릭터 및 대사

1) 직업 고유 음성

- 해당 직업 캐릭터만 사용하는 것으로 분류된 기술.


직업파일명대사
원소술사sor_frozenarmor얼음갑옷이 녹았어.
원소술사sor_shiverarmor오한갑옷이 사라졌어.
원소술사sor_energyshield보호막이 사라졌군.
성기사pal_holyshield방패가 빛을 잃었다.
암살자asn_shadows그림자가 사라졌어.
암살자asn_bladeshield칼날이 멈췄다.
악마술사war_eldritchblast작렬이 멎었다.
악마술사war_hexbane재앙주술이 흩어진다.
악마술사war_hexsiphon흡수주술이 풀린다.
악마술사war_hexpurge처단주술이 지워진다.
악마술사war_engorge제물의 힘이 다했다.
악마술사war_consume악마의 힘이 사라졌다.


2) 플레이어 공용 중립음성

- 다른 플레이어 캐릭터가 아이템/충전스킬 등으로 사용할 수 있는 기술.


직업파일명대사
원소술사sor_ply_chillingarmor냉기갑옷이 사라졌다.
원소술사sor_ply_enchant불꽃이 꺼졌다.
원소술사sor_ply_thunderstorm폭풍이 멎는다.
야만용사bar_ply_battleorders선조들의 기운이 다했다!
야만용사bar_ply_shout선조들의 보호가 끝났다!
강령술사nec_ply_firegolem화염 골렘이 사라진다.
강령술사nec_ply_claygolem점토 골렘이 무너진다.
강령술사nec_ply_bloodgolem피 골렘이 흩어진다.
강령술사nec_ply_irongolem강철 골렘이 부서진다.
드루이드dru_ply_markwolf늑대의 힘이 사라진다.
드루이드dru_ply_markbear곰의 힘이 사라진다.
드루이드dru_ply_grizzly곰이 쓰러졌다.
드루이드dru_ply_vines덩굴이 말랐다.
드루이드dru_ply_spirits정령이 떠났다.


3) 플레이어/용병

- 플레이어뿐 아니라 용병 장비에서도 발동 가능한 기술.

직업파일명대사
암살자asn_com_burstofspeed몸이 무거워질꺼야.
암살자asn_com_fade은폐가 풀린다.
암살자asn_com_venom맹독이 말랐다.
아마존ama_com_valkyrie발키리여, 영원하라!
드루이드dru_com_cyclonearmor회오리가 흩어졌다.
악마술사war_com_psychicward정신결계가 사라진다.


4) 드루이드 변신술

- VFX 사운드와 함께, 변신/종료 시의 드루이드 음성을 추가.
겹칠 경우 변신음성이 우선되도록 종료음성에 약간의 데시벨 패널티를 줬습니다.

직업파일명대사
드루이드dru_wolf_morph_on분노가 차오른다!
드루이드dru_wolf_morph_off차분해지는군.
드루이드dru_bear_morph_on대지가 심판하리라!
드루이드dru_bear_morph_off한결 후련하군.

: "파일명"은 D2RMM 버전 기준입니다.
왜냐면 몇몇 스킬은 여러 변형 슬롯이 있어서 랜덤하게 재생되기 때문에
MPQ 데이터 에셋에 hd_1, hd_2, ... 같은 여러 파일이 있습니다.

각각 다르게 만들면 랜덤하게 재생될 수 있겠지만..
거기까지 작업하진 않았으니, 필요하신 분들은 제가 올린 음성합성툴로 한번 만들어보시는 것도..


2. 음성톤에 대하여

각 그룹에 따라서 1번만 고유음성으로 하고 2번부터는 중립음성으로 할까 했는데,
서술톤만 좀 객관적인 톤으로 고치면 될 것 같아서, 최종적으로는 그냥 각 캐릭터 음성으로 구현했습니다.

(예시)
전투 지시(배틀오더스)가 종료됐을 때 원래 생각했던 대사는


야만용사 : "기운이 빠지는군."
...이었거든요.

그런데 소집 들고 있는 원소술사가
마나가 부족하네 마네 하고 있다가
갑자기 전투 지시가 종료되는 순간,


야만술사 : "기운이 빠지는군"

이렇게 되면 곤란하기 때문에 (...) 일부러 대사톤을


(야만용사 : "선조들의 기운이 다했다!")
원소술사 : 아 ㅇㅋ

요런 식의 3인칭 서술체로 바꾸어서,
소집을 들고 있으면 마치 야만용사와 함께
파티플레이를 하고 있는 느낌을 주도록 한 것이 모드의 컨셉...이올습니다요..
(다른 직업스킬들도 마찬가지)


3. 몹에서도 나타날 수 있는 사운드

다음 스킬들은 (데이터상) 몹들에서도 재생될 수 있습니다만,
캐릭터와 좌표가 정확하게 겹치지 않는 이상은 거리감과 볼륨으로 구별할 수 있으므로
스킬의 중요도와 발생빈도를 생각해서 넣었습니다. (같은 이유로, 뼈갑옷은 제외했습니다.)

- 오한 갑옷 : 우버이주알과 우버바알이 오한 갑옷(칠링 아머) 스킬을 가지고 있음
- 마법 부여 (우버 탈릭), 천둥 폭풍(우버 마도크), 외침(마도크/우버 마도크)




<AI 음성 추출기 사용법>



1. 다운 받으신 GPT-SoVITS는 C:GPT-SoVITS 혹은 D:GPT-SoVITS 등등 가급적 루트폴더에 풀어줍니다.

2. 첨부된 VoiceMaker.zip을 다운받으신 후, 적당한 곳에 압축을 풀어줍니다.

3. run.cmd를 실행하시면 AI 음성 합성하는 툴이 뜹니다.
- 게임용으로 쓰는 짧은 음성들을 음성 참조파일(배경/노이즈 없이 깨끗한 평서문 톤)을 사용하여 추출합니다.
- 주의사항은 상단 메뉴의 도움말 버튼을 클릭하여 확인하시기 바랍니다. (스크린샷은 구버전이라 ? 버튼이었음)

4. 참조 음성파일은 최소 2초 이상 10초 이하 파일로 구성하며, 실제 대사를 써줍니다.
저 같은 경우는 캐릭터별 긴 대사나 혹은 짧은 대사들을 10초 내로 이어붙여서 썼습니다.
ex) 아마존 : 자매들에게 돌려주면 분명 기뻐할꺼야. 더 소지할 수 없어. 아직은 쓸 수 없어. 마나가 부족해.

5. 보조 참조 음성은 대사 입력할 필요가 없습니다. 그냥 1~6개 정도 첨부해주세요.

6. 생성 설정에서는 말의 빠르기, 생성 샘플 수, 출력 폴더, 출력 볼륨 등을 정할 수 있습니다.
: 그러나 여기서의 출력볼륨은 절대적이진 않기 때문에, 저는 사운드포지로 일괄 후보정 해줬습니다.

7. 생성 대사의 형식은 다음과 같습니다 : 출력할 파일명|출력할 대사
ex) ama_com_valkyrie|발키리여, 영원하라! ....라고 입력하면
ama_com_valkyrie._(버전번호).flac에 해당 대사로 된 음성파일을 출력합니다.

8. 그 중에 가장 마음에 드는 버전을 고르거나, 부분적으로 마음에 드는 부분들을 오디오편집툴로 짜집기해줍니다.

9. 사용미세팁

-  참고로 평서문이 아닌 "발키리여, 영원하라!" 처럼 외치는 대사는 주 참조 음성은 평서문으로,
보조 참조음성에는 샤우팅 하는 대사를 1:1 정도 섞으면 쓸만한 파일이나 쓸만한 파트가 나오더군요.
저 같은 경우는 "발키리여" 부분과 "영원하라!" 부분을 따로 추출하여 나눠서 편집 후 합쳤습니다.

- 프롬프트는 지원하지 않지만, 문장부호와 띄어쓰기 영향을 받습니다. (영원하라. ≠ 영원하라... ≠ 영원하라!)

- 발음이나 악센트 등이 부정확할 경우 대사 텍스트를 의도적으로 바꾸는 방법이 있습니다.
ex) 주 참조가 "기뻐할꺼야"라는 내용인데 실제 오디오 사운드가 "기뻐할끄야"로 녹음됐다면 후자로 적어주면 좋음
ex) 생성파일이 자꾸 "cho!단주술이 사라졌다"로 생기면 "츠어단 주술이 사라졌다"처럼 입력해볼 수도 있음.

- 뒷부분 끝발이 약해지는 음원은 인게임에서는 볼륨보정이 들어가서 후반부가 생략돼서 들릴 수 있습니다.
ex) (원본볼륨) 곰이 쓰러ㅈㄷ... -> (인게임) 곰이 쓰러!
설정값 조정을 통해 최소화하긴 했습니다만, (다양한 경우에 대비해서) 이 점을 주의하셔서
후보정을 해주시든지 처음부터 끝발이 약하지 않은 음원을 선택하시는 게 좋습니다. (결국 노가다)


+) 캐릭터별 음성은 Cascviewer에서 다음 경로에 있는 소스들을 사용했습니다.
data:locales/audio/kokr/data/local/sfx