goyuken
53f9e002f4
n64: disable certain debug messages for now as they're causing crashing problems.
...
fix audio, hopefully. sounds fine on diddy kong racing.
2013-05-02 00:33:44 +00:00
goyuken
6b350e58c9
n64: audio stuff, but all commented out for now
2013-05-01 22:26:08 +00:00
goyuken
1cdc51f789
dual gameboy: sound
2012-12-29 17:11:19 +00:00
goyuken
5f854466ab
sound: fudge up some parameters of BufferedAsync. the most noticeable difference is that PAL NES with clock throttle no longer sounds horrible
2012-12-23 20:26:43 +00:00
goyuken
b9f37d7ed8
dcfilter: more correct algorithm. doesn't sound any different. speed unchanged.
2012-12-09 20:02:43 +00:00
goyuken
cb4288ada4
rearrange the api of DCFilter a bit to make it less dumb. nothing of real importance
2012-12-09 15:58:55 +00:00
goyuken
210d415e3d
Add Blargg's "blip_buf" as an unmanaged dll. license is LGPL; if I like the way it works, I'll rewrite it with MIT code. Implement it as the new resampling output track for NES. Small (~3%)? speedup. Should sound better, especially when the emulator can't quite keep speed.
2012-12-09 03:13:47 +00:00
goyuken
e6058e6bd8
break some stuff. FDS can eject and insert disk sides now
2012-10-26 18:51:08 +00:00
goyuken
b40897bb77
sound api changes. added a new ISyncSoundProvider, which works similarly to ISoundProvider except the source (not the sink) determines the number of samples to process. Added facilities to metaspu, dcfilter, speexresampler to work with ISyncSoundProvider. Add ISyncSoundProvider to IEmulator. All IEmulators must provide sync sound, but they need not provide async sound. When async is needed and an IEmulator doesn't provide it, the frontend will wrap it in a vecna metaspu. SNES, GB changed to provide sync sound only. All other emulator cores mostly unchanged; they just provide stub fakesync alongside async, for now. For the moment, the only use of the sync sound is for realtime audio throttling, where it works and sounds quite nice. In the future, sync sound will be supported for AV dumping as well.
2012-10-11 00:44:59 +00:00
goyuken
b28b677be2
dcfilter: reject out of range filterwidth
2012-10-10 11:56:49 +00:00
goyuken
19e5325afa
DCFilter: allow variable filterwidth. 2600 tia: use a rather aggressive (~172hz cutoff) dc filter. this coefficient is reasonably close to actual hardware behavior.
2012-10-10 00:56:48 +00:00
goyuken
b6e4d9996e
DCFilter: add a "push" mode more suited to being placed between a resampler and a metaspu
...
Gambatte: change the order of output from "GB => resampler => metaspu => DCFilter" to "GB => resampler => DCFilter => metaspu".
This doesn't change anything under most circumstances, except when playing the emulator in slow motion (for instance, 50% throttle). There, the metaspu sometimes adds silence to the output, which isn't actually silence if it has a different DC offset than the audio it's being mixed with. Well, 50% throttle sound output will always suck anyway...
2012-09-29 22:38:47 +00:00
goyuken
1e6a9415c1
add Sound.Utilities.DCFilter and use it in gambatte
...
haven't decided yet whether i like the idea; it's mostly about playing nice with other audio mixing (from other applications)
well, it's not bad anyway...
2012-09-11 21:30:50 +00:00
goyuken
f18eb2fef2
gambatte now has sound! output from the core is original 2MEGAHURTZ audio, but libspeexdsp handles it fine.
...
seems to be a lot of DC offset at times; not sure if there's a good way to remove it
2012-09-09 00:41:11 +00:00
goyuken
408a4d6102
add comment to BufferedAsync explaining its value
2012-09-08 16:02:14 +00:00
goyuken
71652b25dc
cleanup/simplify SpeexResampler
2012-09-07 20:12:47 +00:00
goyuken
001b28c60e
replace junk and bad license resamplers with libspeexdsp (using p/invoke). MIT licensed, sounds pretty decent.
...
the p/invoke wrapper class is a hackjob i was using for testing and will be replaced.
2012-09-07 18:49:18 +00:00
goyuken
b0e3a332d8
abstract resampling functionality into IStereoResampler for testing purposes
...
add two example resamplers that implement this: LinearResampler and CubicResampler. both are very basic and sound like shit compared to libresample4j
ultimately, a single good resampler with a better license than libresample4j should be selected and used
2012-09-05 21:21:35 +00:00
goyuken
0430ec91c8
add resampler based on libresample4j (LGPL)
...
hook that up to libsnes, so libsnes audio now goes through libresample4j and then metaspu
it sounds ok
2012-09-05 18:52:17 +00:00
goyuken
a313d3910d
Add sound output to sound card while dumping is occurring. Uses a proxy ISoundProvider (DualSound.cs) to guarantee emulation sound core and dumping routine are unaffected, while sending "best effort" sound to system output. Doesn't sound great, but simple and functional.
2012-05-09 20:21:23 +00:00
beirich
fad95b6bab
Add 3-band equalizer. Not hooked up to client for time being though. Maybe later I'll expand it to more bands and create presets. Just wanted to check it in for now.
2012-04-21 20:22:13 +00:00
beirich
a8aaaef45e
[PCE] ADPCM playback more or less working correctly now
...
plus some cleanup
2011-09-05 17:45:01 +00:00
beirich
647cae698e
Max volume is settable per sound source to enable mixing many sound sources without clipping. Potentially can be used to disable individual sound sources.
2011-09-04 04:38:11 +00:00
beirich
e13af4064b
[pce] very preliminary ADPCM playback, added a bunch more MemoryDomains
2011-09-03 20:32:18 +00:00
beirich
0a5157d9a6
Extremely preliminary TurboCD support
2011-08-14 18:20:13 +00:00
beirich
cfccc65672
add metaspu V method, set NES to use it experimentally
2011-08-14 01:42:54 +00:00
zeromus
c7f0c457ad
[NES] work on sound, improve square waves muchly, add 6502 IRQ signal, make add some infrastructure to keep from buffering samples while core is silenced.
2011-03-19 09:12:56 +00:00
zeromus
8a0cd52a5a
[NES] apu fixes and triangle generator
2011-03-13 08:13:32 +00:00
beirich
27da793b5f
PCE: improve noise channel
2011-01-31 07:19:38 +00:00
beirich
457819b331
SN76489: Implemented periodic noise
2011-01-16 21:06:14 +00:00
beirich
0d088bb15b
update controls to support sticky buttons, & force-pressing buttons. implement Soft Reset menu item.
2011-01-14 03:38:26 +00:00
beirich
89e4c5a674
2011-01-11 02:55:51 +00:00