Posts Tagged ‘bleeper (PC speaker)’

BaWaMI (revision 126)

Sunday, May 31st, 2015

This release fixes the bug where, if pan changed on a MIDI channel playing more than one note, only the panning of one note would change (bug added in revision 122). I only just noticed this, and it annoyed me a lot, so I’m releasing this version with only this change.

You can get it here (7.82 MB).

BaWaMI (revision 125)

Saturday, May 30th, 2015

Instrument menu appears correctly again (with a circled tick to indicate category of the chosen instrument). Once again, I left this disabled while testing and forgot to re-enable it…

Usual download link is here (7.81 MB)

BaWaMI (revision 124)

Saturday, May 30th, 2015

Bawami now works correctly on Windows XP again! I never did test revision 122 on XP, which is where I switched to a newer version of FMOD, dedicated chorus DLL, and tested for another font being installed, none of which worked well on XP. Sorry about that. This release reverts to the older version of FMOD (but still keeps many speed improvements of r122) and brings a new chorus DLL, courtesy of Patrick Kunz of TAL, which works on XP and has more of a stereo effect with less detune. It also doesn’t make the panning sound less significant when the chorus mix is high, as the old chorus did.  There are also new command line parameters, as well as the usual helping of bug fixes and a few other improvements.

Please grab the latest version from here (7.84 MB), and see details of all changes below the page break:

Crash fixes

  • Fixed crash on playback on computer with very long uptime (e.g. 70 days) (bug introduced in revision 121).
  • Fixed crash when setting channel aftertouch (bug introduced in revision 122).
  • If MIDI file duration is less than 1 millisecond (e.g. only contains setup messages), playback no longer loops (caused program to stop responding).

Changes prompted by failing on Windows XP

  • “jsmalle.fon” font (“Small Fonts”) is no longer included or checked at startup. The check was failing on Windows XP for some reason and preventing Bawami from starting. It’s included with Windows anyway.
  • Reverted to previous FMOD version (4.6.21) because version 4.8.2 (switched to in revision 122) causes errors during startup (specifically, checking ASIO support) on Windows XP. This might be slightly slower, but is still faster than revision 121.
  • Chorus processor has been replaced again and now works on Windows XP (without errors). Instead of “achorus.dll” (added in revision 122), “TALChorusLX.dll” (by TAL – Patrick Kunz) is now used. Many thanks for their permission to use this, which I believe sounds even better than the previous one.

Sound improvements

  • Reduced ModAutoDelay in default instrument file from 0.35 to 0.31 seconds. This results in VIBRATO DELAY messages setting the delay much closer to how the SC-88Pro does.
  • When overriding release time to reduce it to “instant”, and it wasn’t originally truly instant (linear, speed 1), it is now set to “unnoticably fast” (non-linear, multiplier 0.1) instead of “truly instant” to avoid clicking artifacts on note-offs.


  • Added command line parameters -ocr and -occ to override a MIDI channel’s reverb mix and chorus mix, respectively. They work in the same way as -ocv and -oce (e.g. “-ocr 2 127″ sets MIDI channel 2′s reverb mix to 127 (maximum) and locks it so that the MIDI file can’t change it).
  • When using -invisible command line parameter, fractionally faster program loading and slightly lower CPU usage.
  • “Override Other Controls” window now wastes a little less space.
  • Fixed “being loading” typo on “Interface” tab of config window.

BaWaMI (revision 123)

Thursday, April 9th, 2015

This update fixes a few bugs (one introduced in revision 122) and contains some (very subtle) speed improvements, actually reducing the file size by 12KB, too!

  • Fixed bug where volume/expression/aftertouch/pan bars would not be redrawn after choosing a new language during playback (bug introduced in revision 122).
  • Reduced memory usage of MIDI Messages view slightly.
  • Playback can no longer wrongly be skipped with Ctrl+Left/Right arrow keys while rendering a WAV or OGG file.
  • Fixed the first 100 event indeces being displayed as 00-990 instead of 0-99 on MIDI Messages view.
  • Optimised string-handling (only slightly affects loading config, language, instruments and percussion mapping), which also reduced the file size by 12KB.

Download this version here (7.41 MB)

BaWaMI (silent update)

Friday, March 27th, 2015

To anyone who has already downloaded the new version of Bawami which I released about 90 minutes ago, I have updated the Bawami EXEs in the v0.6.122 download to correct an excessive chorus (I had left the chorus’s rate high during testing by mistake). To avoid being annoyed by the chorus making things sound out-of-tune, please download the now-modified archive. I’m sorry for the inconvenience.

BaWaMI (revision 122)

Friday, March 27th, 2015

This very big update brings Bawami up to version 0.6! The biggest changes are support for Attack/Decay/Release Time MIDI messages to override an instrument’s default sound, kick drums in non-retro mode actually sound good, 22 new instruments (GS) plus a “Synth Brass 2″ (finally), everything on the “MIDI Params” tab works (it’s been redesigned and there are more options now), and a much better-sounding stereo chorus which does not stop working after some time has passed!

Other improvements include reduced CPU usage in most situations, 8 new columns on the “Sound+MIDI channels” window (and yet lower CPU usage here, too), higher-contrast colours for Sound Canvas LCD emulation make it easier to see, and I’ve also styled the “Override Other Controls” window to look a bit more like the main window. Plus, added support for a handful of SysEx messages, and the usual dose of bug fixes.

Download link and full details are below, but please note this important information first:

  • Please don’t extract this version of Bawami over an old version – I’ve renamed/removed some language and instrument files, so you will have duplicate files and instruments if you do this. If you want to keep the settings from your old version, simply copy its startup.cfg file into the new version’s folder. You can safely copy any custom skin folders and instruments you’ve made individually, too. Sorry about this inconvenience.
  • If you’re using something other than Windows XP or 7, you might need to run this new version of Bawami “as administrator” for the first time so that it can install a new font (jsmalle.fon, “Small Fonts“) which is used on the “Override Other Controls” window.

You can grab the newest version from here (7.41 MB), and see the full list of changes below the page break:


BaWaMI (revision 121)

Sunday, December 7th, 2014

This release greatly improves PC speaker control, adds 3 more instruments, has the usual helping of bug fixes and things to avoid crashes, plus adds support for GS SysEx messages to specify how much modulation effects vibrato or tremolo. I added a new advanced command line option, and they shouldn’t cause problems with the Windows command prompt anymore. …Oh, and I added some more dodgy Japanese translations.

Not only can the PC speaker now do silky-smooth pitch-bends and vibrato (no longer sounds like scraping metal), but the cutoff volume can now take MIDI channel’s expression and volume into account. Plus, the “Arpeggio” controls, for choosing how quickly to cycle through the playing notes, are finally usable!

You can get the newest version from here (7.32 MB), and see the full list of changes below the page break:


BaWaMI – old versions

Saturday, December 6th, 2014

For people who are curious, I have made a section where you can download old versions of Bawami. There’s now a link in the top-right of the usual download page, too.

IMPORTANT: These old versions contain bugs which can sometimes make them unusable, and even make your system unstable! That’s why I released newer versions, after all. Please have a quick look through the latest change log to see what was fixed in versions after the one you choose to download, in order to get an idea of the bugs that you can expect to encounter. I will not change or support these old versions, and recommend that you always download the latest version if you want things to work with the fewest problems. If you feel that you need to use an older version instead of the newest one for some reason, please let me know why and I’ll try to fix the newest version for you!

I’m doing this because I’ve found myself wanting old versions of various programs recently, and I’d hate Bawami to be one of those programs that’s hard to find old versions of, if only for seeing what’s changed over time. Plus, I saw in my server’s log someone trying to download old versions by guessing the URLs, so I thought I’d help them out! I can’t stress enough the importance of checking the changelog to avoid nasty surprises that I fixed in later versions, and would recommend running the old version in a virtual machine just to be safe, but please have fun! Revision 121 (which lets the PC speaker do silky-smooth pitch-bends, among other things) will be released shortly, but as it’s gone 3AM here, I’d like to sleep before I write up that blog post.

BaWaMI (revision 120)

Saturday, October 11th, 2014

This fixes quite a few bugs I discovered, and adds a new option to choose the buffer length when using the DSound or WinMM sound drivers. I also added instrument “Effect 8 (Sci-fi)” (103) (only 4 more GM instruments left to add until all 128 are there!). Details and download link are below.

New stuff

  • Added “buffer length” slider on “Sound system” tab of config window. This only affects the DSound and WinMM drivers. When using ASIO, your soundcard’s ASIO driver controls the buffer size. Lower values let you reduce the delay at the cost of potentially-stuttering sound on slow computers or inefficient drivers. Default is 93 (x 44 = 4092 samples) (~93 milliseconds). This setting is saved between runs.
  • Added instrument file for Sci-fi Effect (103).

Miscellaneous bug fixes

  • No longer acts as if “Use filters” is ticked when it’s not, after the sound system is restarted. This fun bug meant that filters were always enabled when Bawami started even if checkbox was unticked, because the sound system is initialised after settings are loaded.
  • No longer possible to crash Bawami by holding Ctrl+Left to skip backwards when playback is already at the beginning of some MIDIs.
  • Fixed bug where Bawami could freeze in a loop at the end of playback or a custom loop end point, if a MIDI file set a custom loop start point to be the same as the end point. In this case, the custom points will be ignored, and playback will loop to 0 seconds at the end of the file. I had tried to make Bawami detect this situation before, but I discovered just now that it didn’t work.
  • Section loops that should only loop a certain number of times should now work correctly (not be infinite).

Visual/logging fixes

  • Made all the window icons look nice even when they’re small (16×16 or 32×32). This also fixes the silly-looking icon in the Windows Volume Mixer. This actually reduced the EXE file size by 28KB!
  • Text that prompts to click “Apply” on the sound system tab of the configuration is bold again (it unintentionally stopped being bold some time when I worked on the language system).
  • Fixed bug where no “action” text would be displayed on the MIDI Messages view for CC #74 (cutoff frequency) messages if “Use filters” was unticked. Descriptive text would also be missing for NRPN H001.L032 (cutoff frequency) data entry messages.

You can get the new version from here (7.30 MB).

BaWaMI (revision 119)

Saturday, September 6th, 2014

This adds a new command line option -scanwinmm x (or you can add “ScanWinMM x” to your startup.cfg file). Replace x with 0 or 1. If 0, Bawami will not scan for sound devices compatible with the WinMM driver. I discovered that FMOD (the sound system) freezes withanks to some bad USB3 drivers when a device is connected via USB3 when trying to scan for them. Using -scanwinmm 0, only DirectSound and ASIO drivers will be available to choose on the config window. This setting will be remembered between runs in startup.cfg! To re-enable WinMM devices, use -scanwinmm 1 (or change “ScanWinMM” to 1 in startup.cfg).

Apart from that, there are a couple of SysEx bug fixes and a little more work on translation mode and the Japanese language (which is still very incomplete and bad-sounding). I also fixed an embarrassing and potentially-confusing mistake where 2 error messages were swapped (this had nothing to do with language files, but was an error in the code). Details are below the page break.

Here’s the new version (7.30 MB).