Waveform Display (revision 15)

Posted on 2011-11-26 at 03:14 in Music, Programs by Robbi-985.

This version mainly fixes a “division by 0″ bug, improves PC speaker output (there’s a new “PC Speaker Settings” window!), and makes parallel port output work again (I accidentally left it disabled while debugging in revision 14). I’ve also got rid of my previous, bug-crazy attempt of getting the playback position while looping – now, playback position simply stops updating after the loop, and seeking continues to work.

Usual download link is here (now 1.97 MB), and full details of changes are below~

  • New “PC Speaker Settings” window! The program now attempts to create sound of varying volume (not just distorted, 1-bit sound) if you select a “PWM” option. Output sounds glitchy, though. “Corrected” has a volume slider and is without distortion (at volumes <100%), but is quiet. “Unscaled” (default) is twice as loud, but a little distorted. 1-bit is still available for maximum volume and chiptune freaks such as myself.
  • Parallel port output works again (I had accidentally left it disabled in revision 14 while debugging).
  • Playback position (both the slider and the number of seconds played so far) now doesn’t attempt (and fail) to update when looping is enabled. Also, seeking while looping works again. After the first loop, playback position stops updating. Previously, playback position and seeking were messed-up when looping was enabled and any sound format other than 16-bit stereo PCM was used (any format that didn’t use 4 bytes per sample).
  • “Division by 0″ error no longer occurrs when setting “Lights to control on parallel port” to 0.
  • When PC speaker checkbox is ticked, all ways of displaying the waveform, and pitch detection, are automatically disabled. Also, “length of time to display” is set as high as possible. These are the optimal settings to make the PC speaker output sound better. Nothing is greyed out, and settings are automatically restored when the PC speaker checkbox is unticked.
  • PC speaker port’s output is now reset to 0 volts if the program is exited while sound is playing on the PC speaker. It used to be a matter of chance whether it hung on 5 volts or went to 0 volts, not that it should have done any damage with an ordinary speaker or piezo connected.
  • Entire WinIO system is no longer re-initialised if you untick and then re-tick the checkbox to play sound on the PC speaker. Now, it’s only initialised once, the first time you tick the checkbox since the program has started running. After that, there isn’t a delay when you re-tick the box.
  • Everything internal now updates in a different, faster way when PC speaker output is enabled, in an attempt to reduce the regular pops and pulsing silence to merely regular clicks. A side-effect is that there is no PC speaker output while browsing for a new audio file. I’ll keep an eye out for more serious side-effects.

Leave a Reply

Your email address will not be published. Required fields are marked *


You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>