Cleaning Game Audio Files
Posted: 31 Oct 2016 15:12
As those who were at Memofest 2016 know, I have created a version of Andy's MEMU that can load games from audio WAV files.
Claus PM'd me about using this to clean up audio recordings. This is possible, but MEMU will probably auto-run the game and so the problem will be breaking into it to save the file (The same problem as real hardware).
A beeter solution is some dedicated software to apply the cleaning directly, read in the original file and produce a cleaned copy. The copy can then be tested in MEMU to validate it.
I can think of a number of levels of cleaning:
* A simple "squaring" function, with hysteresis to prevent jitter at the edges.
* As above but with a timing filter to adjust the time between edges to be the "ideal" value for a zero or one.
* A two stage conversion WAV->MTX and then MTX->WAV. This process could probably include some higher level checking of the data format. Correct number of bits, correct chunk length etc.
I think I am talking myself into some work here
A couple of ways this could be implemented:
* In C or C++ with a command line UI. I would develop on Linux but there should not be any problem for people to compile on Windows.
* In Python. Execution would be slower, but a simple cross platform GUI would be possible.
Comments?
Claus PM'd me about using this to clean up audio recordings. This is possible, but MEMU will probably auto-run the game and so the problem will be breaking into it to save the file (The same problem as real hardware).
A beeter solution is some dedicated software to apply the cleaning directly, read in the original file and produce a cleaned copy. The copy can then be tested in MEMU to validate it.
I can think of a number of levels of cleaning:
* A simple "squaring" function, with hysteresis to prevent jitter at the edges.
* As above but with a timing filter to adjust the time between edges to be the "ideal" value for a zero or one.
* A two stage conversion WAV->MTX and then MTX->WAV. This process could probably include some higher level checking of the data format. Correct number of bits, correct chunk length etc.
I think I am talking myself into some work here

A couple of ways this could be implemented:
* In C or C++ with a command line UI. I would develop on Linux but there should not be any problem for people to compile on Windows.
* In Python. Execution would be slower, but a simple cross platform GUI would be possible.
Comments?