Giter VIP home page Giter VIP logo

openmsx_tcl_vgm_export's Introduction

openmsx_tcl_vgm_export

A TCL script for OpenMSX to export AY8910 (PSG), YM2413 (FMPAC), Y8950 (Music Module), YMF278B (OPL4, Moonsound) and Konami SCC(+) music to VGM

This script is an expanded version from the script created by Grauw: https://bitbucket.org/grauw/vgmplay-msx/src/tip/tools/vgmrec.tcl?at=default&fileviewer=file-view-default, which was in turn an expansion of the script by Ricbit; https://github.com/ricbit/Oldies/blob/master/2014-11-grabfm/grabfm.tcl

How to use it

  • Copy the script in the scripts directory in the openmsx profile directory, where ever that might be. On OSX it's ~/.openMSX/share/scripts.
  • Start OpenMSX, the script will be loaded automagically.
  • Go to the console
  • Insert the required virtual sound cartridges (SCC must be in exta to make recording work).
  • Load your software/game
  • Start recording the VGM data using vgm_rec.
  • Be careful; start the recording before the initialisation of the sound chips, this info needs to be logged as well!
  • Recordings will be stored in the OpenMSX home directory from the active user in a subdirectory vgm_recordings
  • Some defaults are in place; without any arguments it will record to music0001.vgm with PSG and FMPAC enabled.
  • If music0001.vgm already exists it'll be music0002.vgm etc.
  • Enable different soundchips using tab completion: vgm_rec PSG FMPAC Y8950 Moonsound SCC
  • If you want to end the active recording just type vgm_rec_end. This is required, without doing that the VGM file won't be written.
  • Play your file!
  • This just creates the raw VGM file, you need to split/compress/add tags/etc.

vgm_rec_next

  • There's also a vgm_rec_next function available. This will end the previous recording and start the next one with the same sound chip parameters and filename, but the filename contains an increasing digit
  • With this you can easily put tracks in separate files so you don't have to split them afterward
  • Be careful; this function won't always work; the second and beyond file might not contain any soundchip initialisation stuff
  • For SCC it works fine, because no sound chip initialisation is required, but for Moonsound it might not because of this, if the player engine is not doing all initialisation with every track. This can be fixed as well, but that'll require more work, better use the vgm_sptd for splitting those.

vgm_rec_set_filename

  • With this you can set the first part of the filename. So vgm_rec_set_filename pa3_ will cause the filename to be pa3_0001.vgm. If that exists it'll be pa3_0002.vgm etc.

Future updates

  • Error handling (file permissions etc.)
  • MIDI??

openmsx_tcl_vgm_export's People

Contributors

m9710797 avatar niekvlessert avatar

Watchers

 avatar

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.