|
August 4th, 2013, 21:53 Posted By: wraggster
via http://www.aep-emu.de/
Shunyuan updated his soundplugin for N64 emulators.
The release/diskussion thread at pj64-emu.com could be found here.
Quote:
Shunyuan´s HLE audio plugin v1.8.1
---------------------------------
HLE audio plugin v1.8.1
---------------------------------
HLE audio plugin is written by Shunyuan with features:
* audio plugin spec #1.2 for pj64-2.0, spec #1.1 for other emulators
* XAudio2, DirectSound8 and No Sound driver support.
* XAudio2 upmix to 5.1 or 7.1
* prebuffer stream audio
* HLE interface
* LLE interface
* audio thread to update sound buffer
* tested with project64 1.6, project64 2.0, project64 2.1,
1964 svn r146, 1964_ultrafast 3.0, and mupen64 5.1.
* debug OSD
* auto sync game to audio
* dynamic plugin interface
* Lua interface to tweak per game settings
Special thanks:
CXD4 for his LLE RSP plugin, source of rsp_interface here.
adnd nintendo1889 for testing and push me to improve the audio quality of this plugin every time.
--------
Note:
--------
From 2013/04/23 to 2013/05/17
I have implemented all the features that I need, so there won´t be a new release in short time.
Thanks for people that help me to develop and debug this plugin.
------------
Lua script to tweak per game settings
------------
Code:
-- -------------
-- HleAudio.lua
-- --------------
-- *Note* don´t change the file name, and this file must be at the same place as HleAudio dll
--
-- --------------------
-- predefined function:
-- --------------------
-- SetPlaybackSetting( SettingID, Value ) ==> return none
-- GetPlaybackSetting( SettingID ) ==> return int
-- --------------------
-- predefined constant
-- --------------------
K_TRUE = 1;
K_FALSE = 0;
K_MIN_QUEUE_SIZE = 4;
K_MAX_QUEUE_SIZE = 16;
K_MIN_BLOCK_SIZE = 2048;
K_MAX_BLOCK_SIZE = 8192;
K_FixedAudioTiming = 1; -- pj64 2.x setting (read only)
K_SyncViaAudio = 2; -- pj64 2.x setting (read only)
K_HighQualityAudio = 3; -- N64 game audio frequency > 22 KHz (be careful with this setting)
K_NoSyncGameToAudio = 4; -- force HleAudio don´t sync game to audio
K_SmallAiLen = 5; -- force HleAudio to report small unplayed DMA size
K_BigAudioChunk = 6; -- audio chunk bigger than 4 KB (Top Gear Rally)
K_QueueSize = 7; -- HleAudio audio queue size (default: 8, be careful with this setting)
K_BlockSize = 8; -- HleAudio audio block size (calculate from AI_DACRATE_REG, be careful with this setting)
--
-- OnRomOpen:
-- override HleAudio playback setting in this function
-- (this function will be called by HleAudio when rom open)
--
-- in: RomName
-- game name in rom header, you can get this name from pj64 rom infromation
--
-- out: none
--
function OnRomOpen(RomName)
-- How to use:
-- (1) check rom name
-- (2) adjust settings
if RomName == "RIDGE RACER 64" then
SetPlaybackSetting(K_SmallAiLen, K_TRUE);
end
if RomName == "TOP GEAR RALLY" then
SetPlaybackSetting(K_BigAudioChunk, K_TRUE);
SetPlaybackSetting(K_SmallAiLen, K_TRUE);
end
if RomName == "Kirby64" then
SetPlaybackSetting(K_SmallAiLen, K_TRUE);
SetPlaybackSetting(K_NoSyncGameToAudio, K_TRUE);
end
if RomName == "PAPER MARIO" then
SetPlaybackSetting(K_SmallAiLen, K_TRUE);
end
if RomName == "SMASH BROTHERS" then
SetPlaybackSetting(K_SmallAiLen, K_TRUE);
SetPlaybackSetting(K_NoSyncGameToAudio, K_TRUE);
end
if RomName == "A Bug´s Life" then
SetPlaybackSetting(K_SmallAiLen, K_TRUE);
end
-- debug only, output message to debugger, you can use Lua to output debug log to text file
PrintPlaybackSetting();
end
------------
Bug Report
------------
Please post your bug report with following information:
(1) OS & System spec
Windows 7 - 32 bit, 4 GB RAM
(2) emulator spec
Project64 2.1
(3) Plugin version
HleAudio 1.7.1
(4) Game and setting
RR64 (USA)
Sound Driver=XAudio2
Playback Rate=48000
Fixed Audio Timing=0
Sync To Audio=0
VI Refresh Rate=2200
AI couter per byte=500
(5) bug description
audio speep-up (too fast)
....
(6) Did this bug exist in previous version of HleAudio?
(7) Audio Record (optional, but very useful)
download link
--------
Then I will try to fix the bug if possible.
--------
History:
--------
v1.8.1
* fix synctax error of Lua script
* fix official pj64 1.6 can´t use Lua script to tweak per game settings.
(no more need pj64 1.6 HleAudio fixed version)
* fix missing audio of Top Gear Rally
v1.8
* Open Lua interface to tweak per game settings
(official pj64 1.6 doesn´t support this feature because it won´t call audio plugin ´RomOpen´ function, use pj64 1.6 HleAudio fixed version instead)
v1.7.1u9
* Fix audio slow down for A Bug´s Life.
* Add DirectSound hardware acceleration option UI
(default is off, for Vista and Win7 you need ALchemy, 3D SoundBack or Xear3D EX to take advantage this feature)
v1.7.1u8
* Fix Super Smash Bros sound delay for PJ64 2.x
* Fix Super Smash Bros sound crackles for PJ64 1.6
v1.7.1u7
* Fix Paper Mario sound crackles
(Counter Factor=1, VI refresh rate=2200, AI count Per byte=500,Fixed Audio Timing=0, Sync using Audio=0)
v1.7.1u6
* work around the Kirby64 SP DMA read error for project64
v1.7.1u5
* add UI to select output device
(useful if you have multiple sound cards or install DSP plugin such as DFX audio enhancer)
v1.7.1u4
* playback rate support 192 KHz
* playback bits support 24 bits (now support 16 ~ 24 bit playback)
* fix no audio of Top Gear Rally (USA)
(AI Count Per Byte=500, Fixed Audio Timing=1, Sync To Audio=0)
v1.7.1u3
* fix no audio for Killer Instinct Gold (USA) 1.2
v1.7.1u2
* support XAudio2 upmix for 5.1 sound card , need to enable at configuration dialog.
(if you don´t have a 5.1 sound card like me, try SRS Audio SandBox)
v1.7.1u1
* fix XAudio2 crash at pj64 1.7.0.50b23
* fix audio speed up issue reported by nintendo1889
* fix pj64 1.7.0.50b23 compatibility error reported by Goldlink11
v1.7.1
* fix no audio after restore game state
* fix audio speed up of Mystical Ninja Starring Goemon
* fix cannot change sound driver after end emulation
* fix compatibility issue of pj64 1.7.x
v1.7
* dynamic interface for project64 2.x and other emulators, now HleAudio will provide interface 1.2 to pj64-2.0,
and provide interface 1.1 to other emulators.
* add XAudio2 driver support
* add No Sound driver support
* remove the redundant initialization and checking from HLE emulation
v1.6.2
* improve the audio quality when "Fix Audio Timing" and "Sync to Audio" options off
* improve the frame rate for N64 games of 32 KHz audio
* release the source code of rsp_interface
Now you can turn "Fix Audio Timing" and "Sync to Audio" on or off, both ways work.
v1.6.1
* add OSD to show the plugin internal data in real time
(need RivaTuner Statistics Server to display OSD)
* implement auto sync game to audio feature for otehr emulators. Now N64 games with 32 KHz audio
such as Zelda OOT, Bomberman 64, F-Zero X should sound better without crackles on 1964, mupen64, pj64 1.6.
v1.6
* change interface to Zilmar´s common audio plugin spec, version #1.2,
because only project64 2.x emulator core supports "Sync using Audio" feature
* integrated with Project64 setting manager (no data yet).
v1.5
* integrated with project64 2.0 "Fix Audio Timing" & "Sync using Audio" option
- now Bomberman 64, Zelda OOT, Resident Evil 2 sound crackles should be fixed
- when these two options are enabled.
* fix the bug sometimes no audio when playing more than one rom
* fix the noises when enter plugin settings
* fix the sound crackles of RR64
For more information and downloads, click here!
There are 0 comments - Join In and Discuss Here
|
|