Giter Club home page Giter Club logo

mdxtools's Introduction

mdxtools

A bunch of tools for handling the MDX music format (music for the Sharp X68000 using the MXDRV sound driver).

These tools are aimed at the large collections of MDX files available online (see below for download links). They are meant to convert to other formats, such as vgm, midi and for the curious, MML and dumping the raw MDX data.

  • mdxplay (WIP) - play a mdx file, currently linux only (libao)
  • mdx2pcm (WIP) - render a mdx file to a wav file
  • mdx2vgm (WIP) - convert to VGM format
  • mdxinfo - extract information from a MDX file, and output in .csv format
  • mdx2mml - an MML decompiler
  • mml2mdx - an MML compiler
  • mdxdump - dump all the information in a MDX file.
  • mdxstat - analyze and print out some statistics and totals about given MDX files.
  • mdx2midi (WIP) - a MML to MIDI file converter. Use in conjunction with pdx2sf2 to hear the samples too.
  • mididump - Dump all the info and events in a .mid file. Useful for development. You can also use MidiPiano for a GUI version.
  • mdx2opm (WIP) - Extract OPM voices from MDX file (usable in VOPM).
  • pdx2wav - extract the samples from a PDX file, into 16-bit WAV files.
  • pdx2sf2 - generate a SoundFont file with the samples from the PDX file. Useful for importing a song into a DAW.
  • pdxinfo - extract information from a PDX file, and output in .csv format
  • adpcm-decode - decodes ADPCM data from stdin and outputs 16-bit PCM to stdout (sample rate does not change)
  • adpcm-encode - encodes PCM data from stdrin and outputs APDCM data to stdout (sample rate does not change)

The rest of this document is work in progress.

Download music library

Ways to listen to MDX files

Windows:

Unix:

X68000:

About MML (Music Macro Language)

MML is a text format, containing sound commands similar to MDX and to MIDI as well.

Compiling MML files to MDX files: Get run68 from http://sourceforge.jp/projects/sfnet_run68/ , then get MDX_TOOL.lzh from http://nfggames.com/x68000/Mirrors/x68pub/x68tools/SOUND/MXDRV/ . Unpack the lzh file in the same folder as run68, then open a command prompt, navigate to the run68 folder, and run run68.exe mxc.x <file.mml> .

You can find other ways of compiling on this page: http://gimic.jp/index.php?MDX%E3%83%87%E3%83%BC%E3%82%BF%E4%BD%9C%E6%88%90

Decompiling: Similar procedure, but get DMDX from DMDX.lzh.

Other tools and resources

File formats

About the Sharp x68000

It is a desktop computer released by Sharp in 1987 (see wikipedia page). It contains two sound chips, the YM2151 (8 FM channels) and OKI MSM6258 (1 4-bit PCM). There is an expansion card called Mercury unit that can increase the PCM channels to 8.

Emulators

Licensing

Please see the LICENSE file for more information.

Contributing

If you would like to improve or contribute to this project, I highly encourage you to submit pull requests instead of maintaining your own fork. This way, it is less confusing for users. I will do my best to include your patches.

mdxtools's People

Contributors

vampirefrog avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mdxtools's Issues

mdx2vgm is not perfect

Hello! Delek here! :)
Awesome work btw!

On mdx2vgm I can hear wrong portamentos and instrument changes on some conversions.
I know it is on WIP and I want to help, could you please list the stuff I should aim in order to fix this little issues with the converter?

Makefile issue

"cc" in makefile should be "cxx" just like the others

about - MDX2VGM

I'm considering outputting OKIM6258 of MDX2VGM to ADPCM of YM2608, YM2610, but it seems as difficult as I thought.
Could you tell me what and how to prepare for this?
Or can I find a source for reference?

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.