ModelTalker Voice Recorder (MTVR) Change Log 1.0.0.38 (9/05/2010) 1. Updated PortAudio snapshot 2. Added high pass filter with 90 Hz cutoff to reduce 60Hz hum in some cases. 3. Changed report of amplitude to read "< 1%" in cases where the volume setting would round to 0. 4. Status bar is now cleared when an inventory is closed. 1.0.0.37 (8/26/2010) Calibration Process -------------------- 1. Added an explicit silence level field to the manual calibration, along with a button to measure the current silence level and update the edit field. At present, this field is strictly informational, the value is only displayed for user information. 2. Removed a requirement in the manual calibration that the auto trim threshold be in the range [-45, -15]. Instead require it to be at least 6 dB above the silence level (if no successful auto calibrations have completed, assume the silence level is -57 dB). 3. Manual calibration now initializes with the speech threshold from the last successful calibration in the current session or the value from the first successful calibration. 4. Corrected calculation of the volume percentage that is shown in the final calibration screen. Now full volume shows up as 100%. 5. Corrected the volume meter in the manual calibration dialog so the bar colors (yellow for two quiet, green for OK, red for too loud) reflect the designated amplitude range. 6. Adjusted the text in the final calibration dialog to improve clarity. 7. Improved the algorithm for detecting clipping, especially in the case where the A/D driver allows clipped values to overflow and reverse sign. 8. Fixed a bug in finding RMS amplitude of each analysis window in calibration recordings when there are multiple input channels. The RMS calculations were not taking account of multiple input channels and thus tended to understimate the RMS level. 9. Changed the way MTVR calculates the final volume control setting. We now use the average amplitude of the /a/ portion of each /pa/ in the third calibration stage to estimate speech levels. Based on a large number of cases, we expect the weakest speech sounds (usually /f/) to be about 32 dB below the average level of the vowel /a/. MTVR will now possibly cycle through this stage twice to improve the level adjustment if necessary. The average /a/ amplitude of non-clipped tokens is compared to the background noise level during silence. There must be at least 38 dB difference between these two levels for MTVR to proceed (i.e., 6 dB below the weakest real speech level). If the difference is < 38 dB, an error message is printed. The average /a/ level is saved in the .mtvr file. 10. Increased the default amplitude range by reducing the minimum acceptable amplitude (MinDB) from -12 to -18. 11. Increased the stepsize for volume adjustments in response to clipping or amplitude too low to 2 dB. 12. Changed the maximum silence threshold to -57 dB (RMS of the entire recording, not the peaks as it was previously). Changed the wording of the warning dialog that pops up if it's too noisy to improve clarity. 13. Changed the volume setting code so it reinitializes every time we record (along with getting the default portaudio device). This eliminates some calibration bugs caused by plugging in the mic after starting MTVR (it wouldn't adjust the volume of the newly plugged device). Crashing, Hanging, and Stability --------------------------------- 1. Fixed a bug where MTVR could sometimes fail to use the correct audio input device for volume control. The present approach should always lead to using the correct device. 2. A fix to avoid certain deadlock situations where MTVR would seem to hang indefinitely or crash. Centralized the starting and stopping of recording in the calibration stages. This fixes some cases where it was possible to get into a deadlocked state and/or leave channels from previous recordings open. 3. Added a check for the return value of GetCalData in a calibration record loop which was previously being ignored. This could lead to bad data if the recording backend stopped prematurely. 4. Fixed a small glitch where if you open an inventory and it pops up a dialog, the sliders temporarily showed weird things until you dismissed the dialog. 5. Fixed a bug in the queueKill function of the underlying queue implementation. It could leave the queue in a funny state if things were to be pushed onto it later. 6. Fixed a possible deadlock condition and added a call to Pa_CloseStream to the recording code. Also made sure to do something with the error values returned by all portaudio calls. 7. Made sure the upload process cleans up any file handles it uses. 8. Fixed some bugs with the calibration dialog confirmation where it would act like it had uploaded even though it hadn't. 9. Fixed openRecordStream to try 2 channels then revert to 1 if 2 fails. 10. Fixed the missing inventory name when uploading calibration files during calibration. 11. Fixed a bug that caused the upload calibration notification to be sent repeatedly for the same event. 12. Fixed the stop recording method to allow the queue listener to deliver all its data before terminating. This was leading to problems with finding the start and stop of speech because some buffers which were recorded were never delivered. Appearance and User Interface ------------------------------ 1. A fix to ensure the main MTVR screen always received the focus after dismissing other dialogs. Changed all MessageBox calls to include a reference to the parent window. Without this it's apparently possible for the parent window to lose focus in some situations. 2. Fixed so if last sentence in an inv isn't recorded correctly it won't automatically advance you (triggering the upload dialog for example in screening sentences). 3. Fixed a case where the 'Upload' button and Tools -> Upload menu item did not agree on whether uploading was enabled or not. 4. Fixed a bug where closing a dialog caused MTVR to hang. 5. Simplified the dialog used for requesting review of screening sentences and construction of a voice. A review is now automatically requested for screening sentences and wording is clearer on when it is appropriate to request a voice be made. 6. In the request confirmation dialog, do not print the percentage if we have met the recommended amount. 7. Fixed a few exceptions thrown by closing dialogs at unexpected times. 8. Added a Help link to the calibration dialog. 9. Changed the upload procedure to use the same login dialog as other places. 10. Text consistency changes to the users dialog (made all references to the username "Username"). 11. Fixed a bunch of wordings in the upload and calibration dialogs to match new requirements. Standardized button names and instructions in a bunch of places. 12. Automatically proceed to the upload successful dialog once the upload is done instead of requiring a 'Next' click. 13. Added the description to the about box. 14. In the Upload dialog, changed 'Next' button to 'Cancel'. After we're finished uploading it automatically advances to the next dialog instead of requiring a 'Next' click. Also fixed a few cases where clicking 'Stop' didn't stop the upload, or stopped it but proceeded on as though it was successful. 15. Added logic to resize the error message box if the text doesn't fit. 16. Fixed a typo in the calibration upload confirmation dialog. 17. Hide the input source on the settings dialog. Hopefully in the future we'll use it to set the input. 18. Fixed a major crash when recording was started near the time the prompt started playing. 19. Fixed an issue where if you hit cancel on the New Inventory dialog it would not create an inventory but perform some of the steps as though it had. 1.0.0.36 (2/18/2010) Bug fix: prevent repeated start/stop in recording from crashing MTVR Bug fixes: additional checks and fixes for calibration and upload procedures Feature change: Installer now compatible with Windows 7 (32-bit version only) Feature change: ability to upload partial calibration files directly from calibration UI changes: better wording and feedback throughout calibration ------------------------------------------------------------------------------- 1.0.0.33 (8/14/2009) Bug fix: allow backspace/editing in inventory name in new inventory dialog Bug fixes: several small changes related to modifications in speech libraries, Feature change: several sensitivity adjustments to calibration Feature change: intonation inventory stage removed. Full and custom inventory stages combined. Help files updated. Feature addition: added support for manual selection of the microphone source in Vista ------------------------------------------------------------------------------- 1.0.0.32 (2/16/2009) Bug fix: better indication of calibration file(s) uploading Bug fix: initial upload no longer hangs in interface Bug fix: default values added to manual calibration so dialog may be exited before doing full calibration Bug fix: consistent use of session-based auto-trim values (silence) throughout calibration and sentence recording Bug fix: better handling of "pro-style" recording equipment to avoid degraded/reduced signal coming through mono configuration Feature change: minimum range between speech and silence levels now required (cannot continue to calibrate/record until that requirement is met) Feature addition: added resampling code to ensure 16K wave files/processing even if rate is unsupported by hardware/software Feature addition: menu item to manually synchronize local configuration file with database status Feature addition: menu item to manually upload calibration files for diagnostic purposes, even for partial calibration ------------------------------------------------------------------------------- 1.0.0.30 (11/14/2008) Bug fix: missing pps files restored for original "gold" calibration Bug fix: fixed upload hang if a wave or pps file is missing Bug fix: better range for determination of silence in the calibration; in turn, this should help in some cases where people get through the calibration (but shouldn't) and then experiencing problems recording inventory sentences in an environment that is too noisy to reliably separate out the speech. Feature change: better checks for preventing non-acceptable characters in user and inventory names Feature addition: check for updates will be run on execution of MTVR, letting the user download a newer version of MTVR if it exists Feature addition: calibration and configuration files are automatically uploaded for diagnostic purposes ------------------------------------------------------------------------------- 1.0.0.29 (10/7/2008) Bug fix: certain sequences of playing a recording, calibrating, and then attempting to record again would result in an application crash due to an unclosed wave file. Feature change: Main .mtvr file is now backed up/duplicated to help prevent corruption/truncation of the inventory if there is a hard "crash" of the application. Feature change: option Invert Speech disabled as it was causing confusion and issues in recordings. Recordings are checked and corrected for inversion before voice creation so screening ahead of time was deemed redundant and potentially a source of inconsistency. ------------------------------------------------------------------------------- 1.0.0.28 (9/2/2008) Bug fix: better volume control handling for audio devices Bug fix: fixes to keypress handler to deal with Alt-space and other keyboard shortcuts when inventory is both closed and open. ------------------------------------------------------------------------------- 1.0.0.27 (8/15/2008) Initial beta release of MTVR. =============================================================================== ModelTalker Standalone Application Change Log 3.1.6.37 (8/26/2010) Version number update and DLL name changes only ------------------------------------------------------------------------------- 3.1.6.36 (2/18/2010) Version number update only ------------------------------------------------------------------------------- 3.1.6.33 (8/14/2009) Version number update. Pronunciation exception dictionary update. Log file now saved in main Application data directory, extraneous debug files removed. Bug fix: workaround for apparent SAPI bug that sometimes returns S_OK but with an invalid value in bytesSent ------------------------------------------------------------------------------- 3.1.6.32 (2/16/2009) Version number update. Pronunciation exception dictionary update. ------------------------------------------------------------------------------- 3.1.6.30 (11/11/2008) Version number update. Pronunciation exception dictionary update. ------------------------------------------------------------------------------- 3.1.6.29 (10/7/2008) Version number update only ------------------------------------------------------------------------------- 3.1.6.28 (9/2/2008) Version number update only ------------------------------------------------------------------------------- 3.1.6.27 (8/15/2008) Package installer updated and version build numbers aligned with beta release of MTVR. ------------------------------------------------------------------------------- Known Issues: TBD =============================================================================== ModelTalker Kate Voice Change Log 1.0.0.37 (8/26/2010) Version number update and DLL name changes only ------------------------------------------------------------------------------- 1.0.0.36 (2/18/2010) Version number update only. ------------------------------------------------------------------------------- 1.0.0.33 (8/14/2009) Version number update. Pronunciation exception dictionary update. ------------------------------------------------------------------------------- 1.0.0.32 (2/16/2009) Version number update. Pronunciation exception dictionary update. ------------------------------------------------------------------------------- 1.0.0.30 (11/11/2008) Version number update. Pronunciation exception dictionary update. ------------------------------------------------------------------------------- 1.0.0.29 (10/7/2008) Version number update only ------------------------------------------------------------------------------- 1.0.0.28 (9/2/2008) Version number update only ------------------------------------------------------------------------------- 1.0.0.27 (8/15/2008) Package installer updated and version build numbers aligned with beta release of MTVR. ------------------------------------------------------------------------------- Known Issues: TBD