본문 바로가기

ePSXe 사용법/중급 사용법

[ePSXe 사용법] 사운드 플러그인 설정 - Eternal SPU Plugin

 

오랫동안 널리 사용되어오고 있는 사운드 플러그인입니다.
ePSXe의 사운드 플러그인 중 가장 고급스러운 소리를 내주기 때문에 개인적으로 선호하는 플러그인입니다. 다만 1.50 정식버전이 나오지 못했고, 베타버전마저 2005년 8월이 마지막이기 때문에 최신버전의 ePSXe와 궁합이 잘 맞을지 장담할 수 없다는게 조금 마음에 걸립니다. 그래도 제가 하는 게임들에서 특별한 문제는 보이지 않았습니다.


(1) 오디오 장치 (Audio device)

Eternal SPU 에서는 3개의 오디오장치를 지원합니다.
선택은 유저의 몫이지만 역시 가장 널리 쓰이는 다이렉트 (DirectSound)가 무난할 겁니다.

 

다이렉트 (DirectSound)
DirectX를 사용해 사운드 출력을 하는 방식입니다. 특별한 경우가 아니라면 이걸 선택하시면 됩니다.

 

SDL
리눅스의 DirectX라 불리우는 SDL(Simple DirectMedia Layer)을 사용해 사운드 출력을 하는 방식입니다. (SDL은 리눅스, 윈도우즈를 비롯해 다양한 운영체제를 지원합니다.)
SDL을 사용하시려면 SDL.dll 파일을 ePSXe 폴더 (plugins 폴더가 아님!!!)에 두어야 합니다.
SDL.dll 파일 다운로드

 

웨이브 맵퍼 (Wave Mapper)
윈도우의 표준 웨이브 맵퍼 (Wave Mapper)를 사용하여 사운드 출력을 하는 방식입니다.

 


버퍼 크기 (Buffer Size)
사운드 버퍼의 크기를 설정하는 옵션입니다. 사운드 버퍼를 올리면 잡음이 줄어드는 장점이 있지만 사운드 딜레이가 생기는 단점이 있습니다. 즉 사운드 버퍼를 너무 많이 올리면 사운드를 제 때에 내지 못하고 약간 뒤에 내게 됩니다.

최적의 버퍼 크기란 잡음이 들리지 않는 범위내에서의 최소한의 크기입니다. 컴퓨터 시스템 또는 게임에 따라 최적의 버퍼 크기가 다르기 때문에 스스로 적당한 버퍼 크기를 찾아야 합니다. 우선은 버퍼 크기를 기본설정인 64로 두시고 만약 잡음이 들린다면 조금씩 올려보시기 바랍니다.

 

 


(2) 오디오 출력 방법 (Audio out method)

스레드 (Thread)
호환성이 좋은 모드입니다. 대부분의 게임에서 무난한 선택입니다.

 

타이머 (Timer)
호환성이 스레드에 비해 떨어지지만 게임 속도를 조금 향상시킬 수 있습니다.

 

SPU 비동기 (SPUasync)
가장 호환성이 좋은 모드입니다. 상대적으로 다른 모드에 비해 큰 버퍼 크기를 필요로 합니다. 잡음이 들린다면 버퍼 크기를 조금씩 올려보시길 바랍니다. 이 모드는 3개의 하위 동작 모드를 가지고 있습니다.

 

- 단순 (Simple) : 단순하게 사운드를 처리하기 때문에 프레임이 높거나 낮으면 사운드가 갈라집니다.

 

- 대기 (Wait) : 프레임이 높으면 부하를 주고, 낮으면 생략하는 방식의 사운드 처리를 합니다. 이 모드는 조금 독특합니다. 다른 방식과 달리 게임속도를 사운드 플러그인이 컨트롤합니다. 그래서 예전에는 비디오플러그인에서 프레임 제한에 체크를 하지 않더라도 이 모드를 선택하면 게임속도가 60프레임 안팎으로 유지되었습니다.

하지만 ePSXe 1.7.0 부터 프레임 제한의 권한이 ePSXe로 넘어왔기 때문에 이 모드의 쓰임이 애매해졌습니다. 그냥 이런 모드도 있다는 정도로만 알아두시고 넘어가면 될 것 같습니다.


- 원활 (Smooth) : 프레임에 맞추어 적절히 사운드 처리를 조절하여 사운드가 갈라지지 않게 합니다. 개인적으로 선호하는 방식입니다.

 

 


(3) 기타 (Misc)

실시간 설정 창 표시 (Show realtime config window)
게임을 하면서 사운드 설정을 바꿀 수 있게 하는 옵션입니다. 창 모드로 게임을 했을 경우에만 가능하며, 사운드 설정창이 따로 뜹니다. 하지만 설정 적용이 꽤 느립니다.

 

XA 버퍼 비우기를 기다림 (Wait for XA buffer is free)
XA데이터를 모두 넣을 수 있을 만큼의 XA 버퍼가 빌 때까지, 에뮬레이터를 대기시킵니다.
이 옵션은 게임을 느리게 할 수 있습니다. 하지만 체크하지 않으면 잡음이나 문제가 발생할 수 있으므로 기본적으로 체크하는 것이 좋습니다. (Thread와 Timer 방식에서만 적용되고 SPUasync방식에서는 적용되지 않습니다.)

 

VAG 디코딩 캐시 (Cache VAG decode)
VAG block 마다 디코드가 끝난 샘플을 캐쉬해, 프로세싱을 빠르게 합니다. 게임속도를 조금 빠르게 할 수 있지만 문제가 발생할 가능성이 높기 때문에 체크하지 않는 것이 좋습니다.

 

미세조정 (Fine tune)
내장 음원의 음정을 조절하는 옵션입니다.
Ex. ) 10 : 반음 높아집니다.
       -10 : 반음 낮아집니다.
       120 : 1 옥타브 높아집니다.
      -120 : 1 옥타브 낮아집니다.

 

 

잔향 (Reverb)
잔향이란 원음이 멈춘 후에도 주위 물체의 반사로 인해 음이 계속 존재하는 현상을 말합니다. 특히 콘서트홀에 가시면 이 잔향 효과를 잘 느낄 수 있죠. 아마 mp3 들을 때 mp3재생기에서 잔향 효과를 써보신 적이 있을 겁니다. 잔향 효과를 쓰면 음이 풍성해지는 느낌이 듭니다.

Eternal SPU에는 6개의 잔향 타입이 있으며 (Eternal SPU 1.50 beta 2에서 하나가 더 추가되었습니다) 이중 Neill's 가 실제 플스에 가장 가까운 소리를 내줍니다.

Off         : 잔향을 사용하지 않습니다.
TiMidity  : 1.30 이하 버전에서 사용되던 잔향입니다.
Freeverb : Freeverb에 의해 사용되는 잔향입니다.
Iori's      : Iori가 만든 잔향입니다. 좋은 잔향이기는 하지만 Neill's에 비해 약간 떨어집니다.
Neill's : Neill Corlett이 만든 가장 뛰어난 잔향으로 기본 옵션이자 추천 옵션입니다.
New : Eternal SPU 1.50 beta 2에 추가된 잔향입니다.

 

 


(4) 특정 게임 오류 수정 (Special game fix)
특정 게임의 사운드 문제를 해결하기 위해 만든 옵션이므로, 그외 대부분의 게임을 할 때는 체크를 하지 마세요. 문제가 발생할 수 있는데다 게임이 느려질 수 있습니다.

 

레지스터 접근 전 갱신 (Update before accessing register)
레지스터를 읽을 때 DirectSound 버퍼를 갱신합니다.

파이날판타지8, 파이날판타지9, 크로노크로스, 드래곤퀘스트7, 환상수호전2 등등의 게임에 적용

 

SPU IRQ - CPU 동작을 기다림 (SPU IRQ-Wait CPU action)
발키리프로파일, 스타오션세컨드스토리, 메탈기어솔리드 등등의 게임에 적용

 

SPU IRQ - 플래그 7이면 강제 중단 (SPU IRQ-Force interruption flag7)
발키리프로파일, 테일즈오브데스티니 등등의 게임에 적용

 

 


(5) 초기화

설정을 초기설정으로 돌려줍니다. 가장 무난한 설정입니다.

 

 


(6) 녹음 설정

사운드 녹음시 녹음할 타켓을 지정하는 옵션입니다.

 

[참고] 사운드 녹음

Eternal SPU에서는 에뮬레이터의 내장 음원이 내는 소리를 녹음할 수 있습니다.
사용 방법은...

1. 기타의 녹음 설정 버튼을 눌러 녹음 항목을 지정합니다.
2. 기타의 실시간 설정창 표시에 체크를 하고 게임을 실행합니다.
3. 실시간 설정창에서 적당한 타이밍에 녹음 버튼을 누르면 녹음이 시작되고, 녹음중... 버튼을 누르면 녹음이 중단됩니다.
4.  ePSXe 폴더에 spulog.spu 가 생성됩니다.

* 녹음 버튼을 누르는 타이밍이나, 곡에 따라서 정상적으로 동작하지 않는 경우가 있습니다.
* Eternal SPU Player로 spu파일을 재생할 수 있습니다.

 

 


## Eternal SPU Plugin의 버전에 대하여

Eternal SPU Plugin의 정식 버전은 1.41 이며 최신 베타 버전은 1.50 beta 2 입니다.
Eternal SPU 1.50 beta 2에서는 ePSXe 1.60 버전에서 메탈기어솔리드 실행시 오프닝 동영상에서 사운드가 끊기는 현상이 교정되었습니다. 또한 새로운 잔향 효과(New)가 추가되었으며 기타 세부적인 업데이트가 이루어졌습니다.

 

조금 이야기를 추가해보면...
Eternal SPU의 정식버전인 1.41은 2003년 5월 31일에 공개되었고, 그 후 2003년 8월 5일에 ePSXe 1.60이 공개되었습니다. 그런 탓인지 메탈기어솔리드 같은 일부 게임에서 Eternal SPU 1.41 사용시 문제가 약간 발생했습니다.

그래서 ePSXe 1.60에 맞춘 Eternal SPU가 필요해졌고, 그 결과 Eternal SPU 1.50 beta 2까지 나왔습니다만 아쉽게도 정식버전을 내놓지는 못했습니다. 제작팀의 홈페이지까지 날아간 상태라 더 이상의 업데이트는 없을 것으로 보입니다.

 

비록 베타버전이기는 하지만 ePSXe 최신버전과 궁합은 Eternal SPU 1.50 beta 2 쪽이 나을 것 같아 이 블로그에서 배포하는 ePSXe 1.9.0 한글판에서는 Eternal SPU 1.50 beta 2를 기본으로 배포하고 있습니다.

 

참고로 Eternal SPU Plugin Lite란 플러그인도 있는데, Eternal SPU Plugin에서 몇가지 기능을 삭제하여 조금 가볍게 만든 플러그인입니다. 현 시점에서는 의미가 없는 플러그인입니다.