JEmu2 SCC-Konami music player with enhanced sound

Page 2/3
1 | | 3

By erikd

Master (255)

erikd's picture

15-02-2015, 12:40

Hi Manual,
I've uploaded a new version at the same location, which will show a mixer selection dialog on Linux.
Note that many mixers probably won't make much sense (as some will probably be input-only), but I hope that there will be one that works Smile
I'd be interested to see the console output again as well (even if it works for you, so that I can hopefully do things more automatically).

By erikd

Master (255)

erikd's picture

18-02-2015, 20:47

Maybe I should explain a bit about the audio-settings dialog:

Stereo Enhance:
stereo = enable stereo balancing of the SCC channels
stereo delay = enable stereo-delay to further enhance the effect

Added Drums:
drums = enable triggered drum samples. Works on most, but not all games.

Konami SCC:
- scc-volume = SCC's volume in the final mix
scc-filter = enable filtering of each channel to smooth the waveforms (off per default because most of the time it dulls the sound somewhat)
scc-anti-zipper = reduce zipper-noise caused by volume changes (most of the time not really audible, but sometimes it cleans up some ticking/crackling caused by course volume changes in soft-sounding songs)

Post Processing:
enable post processing = enable/disable all selected post-processing effects (i.e. effects on the final mix)
bass-boost = enable bass boosting filter
- range = the range of bottom-end frequencies that are boosted
- amount = the level of boosting
compressor = enable audio compression
- threshold = the threshold where compression start
- ratio = the amount of compression (lower = more compression)
- attack = attack response time
- release = release response time
- output = output gain to compensate for amplitude loss caused by compression
soft clip = enable soft-clipping (a wave-shaping filter that allows for higher perceptive volume while subtly adding harmonics and preventing hard-clipping; essentially a subtle distortion)
- gain = input gain to drive the soft-clipping filter
- threshold = the threshold where soft clipping starts

There are more audio settings in the config.properties file (and other settings), but those can't be changed in real-time.

Some notes:
* Drums only work in Nemesis, F-1 Spirit, Salamander, Parodius, King's Valley II, Snatcher, Nemesis 3, Contra, Space Manbow, SD-Snatcher and Metal Gear 2.
* Post-processing effects are applied from top to bottom, so first bass-boost then compressor and finally soft-clip.
* Snatcher and SD-Snatcher automatically switch to SCC+
* To listen to music in MG2, use right-shift instead of [9].
* If you run it on a very old/slow machine, it might help to reduce oversampling in config.properties (8 by default), but normally this shouldn't be necessary (on my 1.6GHz i5 laptop I can run it at 20x speed with 8x oversampling).

By Manuel

Ascended (15938)

Manuel's picture

18-02-2015, 22:05

OK, it works when I select the 'default' mixer, but not when I select the "PulseAudio" mixer (which is at the top of the list).

$ sh jemu2.sh 
JEmu2 v5.0
Running stand-alone
Initializing cache...
Trying to select driver 'msx2_dsk_60Hz_scckonami'...sound.freq=44100
sound.stereo=true
sound.stereodelay=true
LWJGL Timer selected, timer resolution=1000
JRE supports Nano Timer
kick.wav -> format=PCM_SIGNED 44100.0 Hz, 16 bit, stereo, 4 bytes/frame, little-endian
snare.wav -> format=PCM_SIGNED 44100.0 Hz, 16 bit, stereo, 4 bytes/frame, little-endian
hihat.wav -> format=PCM_SIGNED 44100.0 Hz, 16 bit, stereo, 4 bytes/frame, little-endian
Low-Tom-2.wav -> format=PCM_SIGNED 44100.0 Hz, 16 bit, stereo, 4 bytes/frame, little-endian
Open-Hi-Hat-3.wav -> format=PCM_SIGNED 44100.0 Hz, 16 bit, stereo, 4 bytes/frame, little-endian
Ok!
INFO: net.movegaga.jemu2.driver.msx.MSX is a JEmu2 driver.
Start loading from msx2_dsk_60Hz_scckonami.zip
Checking classpath for 'msx2_dsk_60Hz_scckonami.zip'
msx2_dsk_60Hz_scckonami.zip found at file:/tmp/release/rom/msx2_dsk_60Hz_scckonami.zip
Loading 'scckonami.dsk' (eb2a4f7)...
Finished loading from msx2_dsk_60Hz_scckonami.zip
Checking results...
Checking classpath for 'msx2.zip'
msx2.zip found at file:/tmp/release/rom/msx2.zip
Loading msx2.rom(6cdaf3a5)...Ok!
Loading msx2ext.rom(66237ecf)...Ok!
Checking classpath for 'msxdisk.zip'
msxdisk.zip found at file:/tmp/release/rom/msxdisk.zip
Loading disk.rom(721f61df)...Ok!
Checking classpath for 'fmpac.zip'
fmpac.zip found at file:/tmp/release/rom/fmpac.zip
Loading fmpac.rom(e84505d)...Ok!
Sound initializing...
SoundChip emulators found:4
SoundChip jef.sound.chip.AY8910@298bbe2b initialized.
AY8910_init 0
SoundChip jef.sound.chip.k051649.K051649@15720e5c initialized.
SoundChip jef.sound.chip.k051649.K051649@730cc503 initialized.
SoundChip jef.sound.chip.SamplePlayerChip@4b5a82f7 initialized.
default mixer=default [default], version 3.16.0-4-amd64
Mixer[0]=PulseAudio Mixer
Mixer[1]=default [default]
Mixer[2]=Intel [plughw:0,0]
Mixer[3]=Intel [plughw:0,1]
Mixer[4]=Intel [plughw:0,2]
Mixer[5]=Port Intel [hw:0]
Mixer chosen: default [default], version 3.16.0-4-amd64
Audio line size 4096
interface SourceDataLine supporting format PCM_SIGNED 44100.0 Hz, 16 bit, stereo, 4 bytes/frame, big-endian, and buffers of 4096 to 4096 bytes
buffer    : 88200
Sound initialized successfully.
SoundChip jef.sound.Mixer@5556d74f initialized.
Video initializing...
Generating palette...
Starting video emulation...
Video initialized successfully.
Machine initializing...
Machine initialized successfully.
18077992
controls.left=KEY_LEFT
controls.right=KEY_RIGHT
controls.up=KEY_UP
controls.down=KEY_DOWN
controls.button1=KEY_LCONTROL
controls.button2=KEY_SPACE
controls.button3=KEY_LSHIFT
controls.button4=KEY_Z
controls.button5=KEY_X
controls.button6=KEY_C
Renderer = DEFAULT
FPS:50 LPF:192
Screen dimensions 272x212
Texture dimensions 512x256
Current bits per pixel = 24
Failed to choose preferred display mode, falling back to any mode:640 x 480 x 24 @59Hz
Setting display mode 640 x 480 x 24 @59Hz...
OK. Mode chosen:640 x 480 x 24 @59Hz
VSync:false
Throttle:true
Fullscreen:false
Aspect ratio:1.6
OK. Setting up keyboard/mouse...
OK. Initialization seems to be ok.
font.png
FPS:50 LPF:192
FPS:50 LPF:192
FPS:50 LPF:192
FPS:50 LPF:192
FPS:50 LPF:192
FPS:50 LPF:192
FPS:50 LPF:192
FPS:50 LPF:192

Pretty cool!

And it's not taking much CPU time at all (only 16% with everything default).

By Manuel

Ascended (15938)

Manuel's picture

18-02-2015, 22:33

Hmm, after playing several tunes for about 20 minutes, the sound is suddenly completely garbled....

By erikd

Master (255)

erikd's picture

19-02-2015, 07:13

when that happens, does it help disabling throttling for second or so? (F11)

By Manuel

Ascended (15938)

Manuel's picture

19-02-2015, 21:21

I can't tell until it happens again Tongue

By tonigalvez

Champion (280)

tonigalvez's picture

20-02-2015, 21:38

Thank you very much for release your emu with Konami soundtracks disc.

I am having very good time hearing it.

By Yobi

Master (144)

Yobi's picture

21-02-2015, 14:15

Same problem here. MGS2 + "right shit" + "/" sounds garbled after 10 seconds.
Even with F11 of everything off / on.

By Manuel

Ascended (15938)

Manuel's picture

21-02-2015, 15:14

Indeed, I could also get it with RSHIFT+; or ' or , in MG2... (not MGS2 of course Yobi! ;-)
Toggling F11 didn't make a difference (well, toggled it twice to get back to normal speed). Is there a document with all keybindings?

By erikd

Master (255)

erikd's picture

21-02-2015, 23:43

Are those MG2 songs using the numerical keyboard? Because RSHIFT+"/" doesn't sound wrong to me and RSHIFT+; is just a short sound effect for me.
I'm asking because I'm working on a laptop without the numerical part on the keyboard so maybe I just haven't tried those yet.

As an aside, I've added a feature that visualizes the waveforms in the SCC (it's not online yet).
It's actually quite fascinating to see what sort of waveforms they've used, and how they're sometimes morphing them in real-time.

Page 2/3
1 | | 3