Comments (13)
from nuked-sc55.
Perhaps XP has crappy audio resampling, sc-55mkII outputs non standard 66207hz audio
from nuked-sc55.
Oh, that makes sense then.
Maybe I should shove an inline resampler at the output. I've had positive experiences before with snes gaussian on the OPL3, but maybe sinc would be better fit.
from nuked-sc55.
If I ever get around to writing a VST based on Nuked SC-55, I plan on integrating the Blargg resampler library, which I forked at https://github.com/datajake1999/blargg_resampler. It is a decent resampler that uses sinc interpolation.
from nuked-sc55.
We've been using the Speex resampler (libspeex) in DOSBox Staging with very good results at quality setting 5. That setting is basically transparent on normal musical material for most normal people (except on specially prepared material when A/B-ing it in studio headphones, but even then the difference is extremely hard to spot).
It's very fast, even on low-end hardware like the Raspberry Pi 3, so my recommendation.
https://speex.org/docs/manual/speex-manual/node7.html#SECTION00760000000000000000
from nuked-sc55.
I am having similar trouble, but more so. Much more ringing/distortion in Windows 7 x64 official builds. Exactly the same with my Windows XP x86 builds (same on two entirely different systems). Only my Linux x64 build sound good, which kinda proves that the code and ROMs are not borked.
CPU usage is not even that much; Below 50% of one core.
I made .wav files with the same 66207Hz and 64000Hz sample rates, which play fine in different sound players.
Still investigating... Maybe SDL2 specific.
from nuked-sc55.
You are at mercy of OS/driver's interpolation.
On my X86 XP, different results from default audio driver and Virtual Audio Cable.
VAC does linear interpolation, I think, while default audio(SB Audigy LE) does nearest.
from nuked-sc55.
Both systems I mentioned use a Realtek audio chipset. I could maybe switch to the AMD graphics HDMI audio for testing.
I would like to test more systems at the office, but I don't want to install loopmidi on these for just a quick test.
Earlier I looked up details on Windows XP sound resampling, and it suggested that this OS switches to the actual sample rate when the hardware supports it, and when no other sound is playing.
from nuked-sc55.
As me and some others mentioned, the answer is a built-in resampler. SpeexDSP is great, fast, and easy to use. It is the resampler that PulseAudio uses on Linux, from memory.
Btw, my Realtek driver on Win10 deals with the unorthodox rate just fine, no issues.
from nuked-sc55.
It would be interesting to test with an embedded resampler. Though I also have some evidence it is actually something else:
- The Realtek Chipset in my main system was their flagship ALC889 (2011).
- Earlier I wrote "I made .wav files with the same 66207Hz and 64000Hz sample rates, which play fine in different sound players.".
- Windows 7 x64 has it too.
- It sounds really bad. Almost unrecognizable.
But because I am seemingly one of the very few with this problem, I suppose I have to be investigate myself or be patient.
from nuked-sc55.
I've tried shoving in a resampler but I can't seem to not mess up the thin balance between the audio thread and the work thread.
What's the sicrit?
from nuked-sc55.
I've tried shoving in a resampler but I can't seem to not mess up the thin balance between the audio thread and the work thread. What's the sicrit?
Haven't looked at the code, but most likely the way the threading is done is not great to begin with, then the extra overhead from the resampler might push it over the limit.
Make sure to use an efficient resampler. We use Speex all over the place in DOSBox Staging and there's threading involved etc. In our case, there's a render thread that gets MIDI messages and fills the buffer at whatever native rates, then the mixer and resampler is in another thread. That's what you want; don't overload the rendering thread even more.
from nuked-sc55.
I am finally listening to some reasonably good audio output. This made the difference:
//static const int audio_page_size = 512;
static const int audio_page_size = 2048;
from nuked-sc55.
Related Issues (20)
- Save SRAM HOT 11
- Option to reset synth regardless of battery emulation or loaded save state HOT 1
- Out of Range Midi Port HOT 1
- Emulating the stairstepping of the original DACs HOT 55
- Possible DC offset issue with reverse play HOT 4
- [Suggestion] Customize output
- Errors when using in Anvil Studio HOT 5
- Option to output 32-bit float samples HOT 3
- Option to output 32-bit float samples (Github glitch duplicate)
- Scrolling Display Text Flickering HOT 1
- Is possible to emulate SC-155? HOT 26
- SC-55 (v1.21) rom dump causes unknown write error and black screen after. HOT 4
- (JV-880) is it possible to support SO-PCM1, SL-JD80 cards? HOT 8
- Using the real lcd as a display. HOT 11
- Linux JACK support HOT 4
- Resizable Window
- Sc-55 Mk1 gives Buffer error, ah geez HOT 9
- how to reduce latency? HOT 7
- 32 bit audio format has popping and clipping sound HOT 3
- How dose volume even work HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from nuked-sc55.