Wave Audio - data start?

Posted:
May 4th, 2013, 11:53 am
by wesw
I'm using your Wave Audio package (v1.89) for a project to restore 78rpm records
http://www.78rpmcommunity.com/wiki/view/pageId/43/slug/frestore78-78-audio-software. Thanks very much!
One problem that I've come across is that some wav files (IEEE32 format, perhaps others) are reported by TWavefile as having data starting at offset 46. This isn't correct as the data starts at offset 48. I think I read a while ago that wave data has to be aligned on 32 bit boundaries. Any thoughts?
thanks .. wes
Re: Wave Audio - data start?

Posted:
May 4th, 2013, 2:01 pm
by Kambiz
Thanks for using the Wave Audio package!
The GetWaveAudioInfo of waveUtils unit is responsible for gathering wave format header, data offset and data size of a wave file. Because this function relies on multimedia IO API of Windows, either offset 46 is a valid offset or there is a bug in Windows API.
Re: Wave Audio - data start?

Posted:
May 4th, 2013, 10:18 pm
by wesw
Thanks for a quick response. Yes, I think we must blame Micro$oft!
So its worth keeping in mind if a user says they just get noise when trying to play or work with a wav file. It might be IEE32.
Re: Wave Audio - data start?

Posted:
August 31st, 2013, 3:34 pm
by wesw
I've now converted quite a lot of mp3s to IEEE 32 floating point using Audacity and the requirement to start the data read on a 32bit word aligned boundary, inspite of what start address is reported by WaveAudio (from the Microsoft mmsystem), is confirmed.
If anybody would like to confirm this, its quite easy to demonstrate. Just set Audacity to show the metadata editor prior to save (Menu - Edit -Preferences-Import/Export and check the 'Show Metadata editor prior to export step box'). By adding a extra character to anywhere in the metadata, the data start address reported to Waveaudio can be changed by a single byte.