GithubHelp home page GithubHelp logo

Comments (22)

Wohlstand avatar Wohlstand commented on July 20, 2024

Gens's core is very outdated and inaccurate. I gonna replace it with MAME's. Nuked OPN2 emulator is a very accurate thing, BUT, it eats 10x much harder than even Nuked OPL3, therefore I can't use more than 3 chips on a same CPU core without of chopping.

from opn2bankeditor.

freq-mod avatar freq-mod commented on July 20, 2024

I have suspected that it's emulation bug. But tbh, bank editor doesn't need more than just one emulated chip, so Nuked OPN2 implementation wouldn't be so problematic (correct me if I'm wrong)

Also, would it be possible to have instances of Nuked emulator running on more than one core?
Its rather annoying to have 3.1 GhZ i5-2400 cpu and still have somewhat choppy sound

P.S: http://www.deflemask.com/forum/bug-reports/high-cpuram-usage-on-64-bit-linux/msg5644/#msg5644 (deflemask which employs MAME core can run perfectly on 1.1 GhZ celeron CPU so performance wise it's not bad option.

from opn2bankeditor.

Wohlstand avatar Wohlstand commented on July 20, 2024

One Nuked OPN2 core still require powerful core, so, as begin, I'll implement a switchable emulation cores for now, then I'll adapt MAME to use it in libOPNMIDI and here too.

from opn2bankeditor.

Wohlstand avatar Wohlstand commented on July 20, 2024

Just now I have added Nuked OPN2 core support where you can switch it to compare the sounding of an instrument on different emulation core. Anyway, GENS and Nuked producing very different sound on Rock Organ I have at my xg.wopn bank.

from opn2bankeditor.

Wohlstand avatar Wohlstand commented on July 20, 2024

Just now I have added MAME ym2612 taken from VGMPlay project. That is experimental, and if newer/better version of that emulator will be found, I'll apply it.

from opn2bankeditor.

freq-mod avatar freq-mod commented on July 20, 2024

if newer/better version of that emulator will be found, I'll apply it.

I might have found something:
https://github.com/ekeeke/Genesis-Plus-GX/blob/master/core/sound/ym2612.c

from opn2bankeditor.

Wohlstand avatar Wohlstand commented on July 20, 2024

I have analyzed that, and I found some things in the code, and also noted in changelog:

  • removed unused multichip support

Without multi-chip will be impossible to use in libOPNMIDI as multi-chip is required and widely used to excite 6 channels limit.

  • removed input clock / output samplerate frequency ratio, chip now always run at (original) internal sample frequency

This requires some tweaking around to be able use that. And I see it's a very different way than with Nuked OPN2 emulator.

So, that emulator requires some polishing to use it in libOPNMIDI and even here.

from opn2bankeditor.

freq-mod avatar freq-mod commented on July 20, 2024

OK I see. But:

  • improved 9-bit DAC emulation accuracy
  • added discrete YM2612 DAC distortion emulation ("ladder effect")

It would be great if there was a way to "backport" these features into emulator that's now in use.

from opn2bankeditor.

Wohlstand avatar Wohlstand commented on July 20, 2024

I have analyzed emulator I have - it's latest MAME (compared to current master source in official MAME repo). I'll try to port some of changes are possible. Anyway, I need to fix the too big volume which causes clipping when I playing some MIDI files with it (doesn't happens with GENS and Nuked)

EDIT: I fixed clipping in the MIME by dividing each output sample into 2 until cast it from INT32 into INT16 while filling output buffer.

from opn2bankeditor.

freq-mod avatar freq-mod commented on July 20, 2024

Uhh I just spotted yet another weird behaviour:

It seems that notes below 20 (G#0) are off by one octave (?) on some certain instruments (?????)

https://instaud.io/207T - G#0 and G-0 as in deflemask
https://instaud.io/207U -G#0 and G-0 as in bank editor
Every core (including MAME and Nuked) is affected.

If it helps it's an instrument that I used:
timbale.zip

from opn2bankeditor.

Wohlstand avatar Wohlstand commented on July 20, 2024

Just now I checked that, and latest build gives same sounding as your DefleMask demo. MAME-based core gives more sharpness as it uses 44100 sample rate on generation process which results different sounding than real chip which uses persistent sample rate. I think, you need to re-take bank editor again to have it more fresh as I also applied the fix of this crap by changing of frequency generation to avoid damaged playback of G# notes with pitch modulator thing enabled.

About of octave - at me everything works fine, and yeah, I running 64-bit build, lemme try 32-bit build for same... I guess, mistake is silly and related to type overflow caused some weird behavior...

from opn2bankeditor.

freq-mod avatar freq-mod commented on July 20, 2024

Just I realized the following:
I imported that instrument and a melodic and it sounds fine but if to import it as a percussive one, it's broken.

from opn2bankeditor.

Wohlstand avatar Wohlstand commented on July 20, 2024

As percusive: I guess, it's some damned logic imported from old ALDMIDI and it is totally invalid and completely dropped away everywhere, except of OPN2 Bank Editor as I see... Damn! Gotta to fix that...

from opn2bankeditor.

Wohlstand avatar Wohlstand commented on July 20, 2024

Okay, Just now I removed that old crap and everything must be fine, please test when it will be built by AppVeyour 😉

EDIT: Built! https://ci.appveyor.com/project/Wohlstand/opn2bankeditor/build/0.1.54

from opn2bankeditor.

freq-mod avatar freq-mod commented on July 20, 2024

Fixed; thanks!

from opn2bankeditor.

Wohlstand avatar Wohlstand commented on July 20, 2024

I'll keep this opened until you will confirm that no more related issues with sounding on some cases or after week/month.

from opn2bankeditor.

Wohlstand avatar Wohlstand commented on July 20, 2024

Okay, as you wasn't reported anything and you even made a complete GS bank, I'll close this.

from opn2bankeditor.

freq-mod avatar freq-mod commented on July 20, 2024

AWW SHIT I'M LATE
anyways I spotted something weird:
https://instaud.io/26jP - Deflemask, MAME core
https://instaud.io/26jQ - Bank editor, MAME core
https://instaud.io/26jR - Editor, Nuked core (its sound the same as Deflemask's MAME core o.0)
Instrument in question:
hihat.zip

from opn2bankeditor.

Wohlstand avatar Wohlstand commented on July 20, 2024

Did you played "Bank Editor Mame" same note? Seems you played it with a different note. Anyway, the difference is because of variable clock and sample rate which is not matching the real chip. Nuked does fixed internal sample rate and the resampling is doing when generating output. Seems DefleMask uses OR modified emulator or tweaks over it with using of fixes sample rate and post-resamling the output. Even you will change sample rate in opnmidiplay and ride cymbals even in my bank will sound differently.

from opn2bankeditor.

freq-mod avatar freq-mod commented on July 20, 2024

Did you played "Bank Editor Mame" same note? Seems you played it with a different note

100% percent sure it was the same note - 86 (D-6).

Seems DefleMask uses OR modified emulator or tweaks over it with using of fixes sample rate and post-resamling the output.

Highly doubt it; it wasn't updated since 2016, after all. About sample rate, it's most likely 44100 Hz.

from opn2bankeditor.

Wohlstand avatar Wohlstand commented on July 20, 2024

100% percent sure it was the same note - 86 (D-6).

Yeah, I see, anyway, try my ride cymbals on Nuked and on MIME and there are also will sound differently.

Highly doubt it; it wasn't updated since 2016, after all. About sample rate, it's most likely 44100 Hz.

Editor also outputs 44100 Hz. I meant the sample rate inside of emulator which generates the output which resampling into 44100 hz outside of emulator and sending into output stream which is 44100 hz. For now at me MIME emulator does output of 44100 Hz and because of internal sample rate different from chip real sample rate, the noise generator will produce different output.

from opn2bankeditor.

Wohlstand avatar Wohlstand commented on July 20, 2024

So, I will need to set fixed sample rate to MIME and do the resampling of output into sample rate of output stream. Then will be a guarantee the output will match Nuked or real chip.

from opn2bankeditor.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.