Giter VIP home page Giter VIP logo

sdl2-hyper-sonic-drivers's Introduction

Codacy Badge

windows linux macOS

Hyper-Sonic Drivers

sdl2-hyper-sonic-drivers is a sdl2 based emulating audio of '90s hardware PCs (adlib, OPL3, ...)

reading some old files too as utility and give the capability to render them in digital format or play them in real time

Digital sound files

Partially reading these types of files, depending of their format.

  • VOC files
  • WAV files

Music sound files

  • ADL files
  • XMI files
  • MID files
  • MUS files

MIDI Files

MIDI files Format 1 are converted to single track before playing them.

Format 2 file type is not supported as there is no sample available, but each tracks should be like a format 0 file (single track).

MUS Files

Are converted to MIDI.

XMI Files

eXtended MIDI files will be converted to MIDI Format 2 when there is more than 1 track. each track is like a format 0 MIDI file with eXtensions.

  • OPL XMI
  • MT32 XMI
  • PCSpeaker XMI
  • Tandi XMI

Emulators

At the moment the only implemented emulators are OPL chips.

Adlib/Sound Blaster PRO 2.0 chips

  • Mame OPL2
  • Mame OPL3
  • DosBox OPL2
  • DosBox Dual OPL2
  • DosBox OPL3
  • Nuked OPL3
  • "woody" OPL2/Surround OPL2 (adding a sort of chorus effect)

Roland MT-32

Roland MT-32 is emulated through MUNT.

ROMs are required to use MT-32.

Render Audio to Disk

It is possible to render the audio buffer to disk into a 16 bits PCM WAVE file of:

  • OPL emulated chips (ADL Files only at the moment)

Usage

see the examples folder for some various basic usage.

Credits

Most of the core emulation code is part of these projects:

Notes

TODO

  • GM
  • GUS
  • PC Speaker (8 bit, 16 bit, 32-bit processing)
  • XMI format (xmidi) (Westwood .PCS .C55 .TAN are XMI files)
  • render to digital wave or mp3

sdl2-hyper-sonic-drivers's People

Contributors

raffaello avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

sdl2-hyper-sonic-drivers's Issues

spdlog optional lib dep requirement

make spdlog a optional dependency and replace it with a logger interface


detach spdlog implementation from the classes, to make it optional dependency.

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.