Been hesitating to ask this question as I would have expected it to have been asked before… But as I can’t find it searching the foreums old postings…:
I’d like to produce a graphic image of a sound like the ones you se in sound editors like Cool Edit, Goldwave etc…
Prefereably done independently of the sound is played or not, or if that can’t be done case only of a sound as it plays.
I’d prefer to use the new version of FMOD. I’m in VB 6.
(BTW, thanks for making the new version, it’s a killer!! )
- Anonymous asked 13 years ago
The getWaveData function wasn’t properly implemented (IMHO) because it only returns data for one channel at a time, requiring additional steps to insure correct alignment of stereo data during playback. However, Brett does describe the solution. [Do a search for ‘getWaveData’ in the FMOD-EX forum.]
There are already some good posts on generating the waveform in VB, but they were intended for FMOD (not FMOD-EX).
The process entails reading a segment of the pcm data into a 2-dimensional array [Example: pcmData(iChannel, iSample)] and then using the values to connect lines in your picturebox. The size and type of array will depend on how much data is to be displayed in your application and the audio format (e.g., 8-bit vs. 16-bit). If you want to develop a mechanism that works well during playback AND during manual seek, familiarize yourself with the SeekData and ReadData functions of FMOD-EX.
When you begin to struggle through the particular VB coding issues, you can ask more specific questions–there are many experienced VB developers here to help.
Thanks for the info.
But what about Channel::getWaveData? I though that was what I was to use?
Allthough as I understand it that will only get me info on the currently playing sound, so I won’t be able to draw a sound that is not playing, but on the other hand getWaveData seems much easier to deal with then SeekData and ReadData…?
I realize I may be asking stupid questions, but the FMOD-EX documentation is pretty sparse at this point….
- Anonymous answered 13 years ago
Please login first to submit.