patrick andrieux
2006-Jun-22 16:47 UTC
[Speex-dev] How to get audio data from microphone on pocketPC ?
Hi, My name is Patrick, i am french, and i am developping a softphone for pocket PC using speex. Sorry in advance for my bad english. So i have make an GUI in C# that use the speex functions through dll write in C++. And the encoding and the decoding using speex seems to work not too badly.(i test with a wave file) My problem is that i need to get audio data from the microphone. In order to do that, i use the waveIn*** functions. When i record in a big buffer in *ONE* time, i can play the sound perfectly. (In this case, i only have one buffer and the callback function is not used) But if i record in a small buffer (160 char) several times, and i copy each time this small buffer in a big buffer, it doesn't work ! I just can hear some bad sound. (in this case, i have several buffer, and when one of them is full, the callback is used to handle the data, and if i am still recording, i run another time the process using waveInAddBuffer(...) else nothing) I also tried to write these audio data in a file, but it doesn't work. Is anybody have an idea for help me ? My english is not very good so if you don't understand something, please excuse me and don't hesitate to ask me for more detail. Thanks. Patrick -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.xiph.org/pipermail/speex-dev/attachments/20060622/5312974b/attachment.html
Jere Malinen
2006-Jun-23 00:00 UTC
[Speex-dev] How to get audio data from microphone on pocketPC ?
Hi You should try using fmod(www.fmod.org) for recording. You need fmodce for pocketpc, and there is recording sample included. Also you should download fmodex, because there is record to disk sample. I have developed application for pocket pc which records sound in a wav file. My problem is that I have not been able to encode sound to speex in pocket pc. So I have also question for you: do have working speex.dll and speex.lib for pocket pc? How did you do that? Could you send those files to me? -Jere-> So i have make an GUI in C# that use the speex functions through dll > write in C++. > And the encoding and the decoding using speex seems to work not too > badly.(i test with a wave file) > > My problem is that i need to get audio data from the microphone. > In order to do that, i use the waveIn*** functions. > > When i record in a big buffer in *ONE* time, i can play the sound > perfectly. > (In this case, i only have one buffer and the callback function is not > used) > > But if i record in a small buffer (160 char) several times, and i copy > each time this small buffer in a big buffer, it doesn't work ! > I just can hear some bad sound. > (in this case, i have several buffer, and when one of them is full, > the callback is used to handle the data, and if i am still recording, > i run another time the process using waveInAddBuffer(...) else nothing) > > I also tried to write these audio data in a file, but it doesn't work. > > Thanks. > Patrick
patrick andrieux
2006-Jun-23 02:54 UTC
[Speex-dev] How to get audio data from microphone on pocketPC ?
Hi jere, thanks for this link, i'll see if i can do something good with that. speex.dll : ----------- I have a speex.dll which work, and i can encode and decode a wav file. (i used male.wav on speex.org for my test). But my dll is specific to my softphone. In fact i just include speex.h and i call speex functions for [en;de]coding. My code is based on speex website's sample : http://www.speex.org/manual2/node12.html Basically, In my GUI in C#, i import the functions i wrote in my dll and in my dll, i call the speex's functions. For creating C++ dll for ppc, you'll maybe need this link : http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnppcgen/html/device_debug_vs2005.asp in your speex.dll properties you have to add : - linker/input, add libspeex.lib in "additional dependencies" - C/C++/General, add the path to speex source in "additional include directories" libspeex.lib : -------------- you can download lib for ppc on speex's website (ARMV4 release build (from 1.1.6 source)) : http://www.speex.org/olddownload.html but it's old version. or if you download the latest source code of speex here : http://www.speex.org/download.html you could compile libspeex.lib for ppc. in directory "win32/libspeex" open the project with visual studio (i use visual studio 2005) in VS2005, choose buid/configuration manager in active solution platform, choose <new..> then select smartphone (ARMV4) compile... normally you should have libspeex.lib in the debug directory. Patrick . 2006/6/23, Jere Malinen <majemi00@students.oamk.fi>:> > Hi > > You should try using fmod(www.fmod.org) for recording. You need fmodce for > pocketpc, and there is recording sample included. Also you should download > fmodex, because there is record to disk sample. I have developed > application for pocket pc which records sound in a wav file. > > My problem is that I have not been able to encode sound to speex in pocket > pc. So I have also question for you: do have working speex.dll and > speex.lib for pocket pc? How did you do that? Could you send those files > to me? > > -Jere- > > > > So i have make an GUI in C# that use the speex functions through dll > > write in C++. > > And the encoding and the decoding using speex seems to work not too > > badly.(i test with a wave file) > > > > My problem is that i need to get audio data from the microphone. > > In order to do that, i use the waveIn*** functions. > > > > When i record in a big buffer in *ONE* time, i can play the sound > > perfectly. > > (In this case, i only have one buffer and the callback function is not > > used) > > > > But if i record in a small buffer (160 char) several times, and i copy > > each time this small buffer in a big buffer, it doesn't work ! > > I just can hear some bad sound. > > (in this case, i have several buffer, and when one of them is full, > > the callback is used to handle the data, and if i am still recording, > > i run another time the process using waveInAddBuffer(...) else nothing) > > > > I also tried to write these audio data in a file, but it doesn't work. > > > > Thanks. > > Patrick >-------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.xiph.org/pipermail/speex-dev/attachments/20060623/5e116af9/attachment.htm