Windows 7 64-bit, Audacity 2.2.1
For the longest time I thought Audacity’s Mu-Law / μ-Law / U-Law (for search results) implementation was completely different from the mu-law companding used with old drum machines like the Drumulator and DMX, but I just realized it’s only because Audacity works with the data seemingly upside-down. If I take a mu-law EPROM dump, import it as unsigned 8-bit, invert it, export it as unsigned 8-bit so that all I’ve done is invert the values of the bytes, and then import that as U-Law then it works, aside from some spikes here and there that are probably related to near-zero or actually zero amplitude samples.
- Top is straight from the EPROM, bottom is inverted bytes.
It’s like this with literally every u-law EPROM dump I’ve tried which come from a variety of drum machines ripped with potentially different hardware and software.
If you want to test this on your own machine you can get some EPROM dumps of the Oberheim DMX + DX from this page and E-mu Drumulator dumps from this page, from which the screenshot uses Alternate Set #1.
As far maintaining compatibility with older Audacity U-Law files, perhaps the Byte Order menu could be replaced with an inversion or some such menu with Legacy and Correct, for lack of a better word.
Also, slightly related but only in that it pertains to what I was doing with Audacity at the time, could unsigned 16-bit import / export be implemented? My current method involves importing mono signed 16-bit files as stereo signed 8-bit files to split the MSB and LSB and then exporting it as a raw stereo unsigned 8-bit, effectively creating a mono unsigned 16-bit file that I can more easily visually manipulate as the byte value is more closely related to the sample amplitude as illustrated in this ramp-turned-bitmap wherein top is unsigned, bottom is signed. The whole import /export process for it is convoluted and leaves my desktop a mess with temporary files.