How to lower the microphone gain? - General Questions and Answers

I need to lower the microphone gain.
My audio codec is clipping becouse of incoming PCM samples saturated from
the mic. I don't need AGC becouse it doesn't work well with my app.
I just need to manipulate the mic gain via software.
Is there a way to do it? I'm using waveform audio api ti capture voice.
Actually the gain is too loud !!!
Thanks.

Anyone knows?

OK, I don't have the answer. But since no one is responding I'll try to give a few ideas that might help.
First, I have a hp6315 and an apache. Under settings, they both have a utility to enable/disable AGC. The ipaq's utility is labeled "ipaq audio" if you disable agc, you can then configure the microphone gain. This gain is stored in the registry. I think searching for gain or audio will find it. The apache doesn't have this. searching for audio, gain, wav, volume in the apache registry doesn't find anything that looks like microphone gain. I guess this is a "value added" thing from hp. But you could try searching anyway.
Then there's the mixer API. This is the way that user level apps are meant to control the audio. Works great on the desktop. Use mixerGetNumDevs() to find out how many devices you can control. On the h6315 mixerGetNumDevs returns 0. I haven't tried the apache, but I can remember a few years ago reading that many (most?) devices return 0. Oh well, hopefully you'll have better luck. However, there are two mixers that are implemented on the pocketPC the question is how to access them.
see this link for info on the mixers
http://blogs.msdn.com/medmedia/archive/2007/01/12/what-do-you-mean-by-mixer.aspx
Here's a link that shows the relationship between the mixer api and the other mixers, wavedev2 mixer, and software mixer.
http://msdn2.microsoft.com/en-us/library/ms923709.aspx
You'll notice that the the mixer api interacts with the mixer in the device driver not the software mixer in the WaveAPI.dll. You'll so notice that this section on audio drivers has pages for MDD/PDD drivers and Unified Audio Model (UAM) drivers. Platform Builder for WinCE 5.0 comes with a sample for each of these model drivers. Both models handle WAV_IOControl Messages. There are two types of messages, IOCTL_MIX_MESSAGE for the mixer, and IOCTL_WAV_MESSAGE for the rest of the driver. It looks like these IOCTL_MIX_MESSAGE are the way the mixer API controls the mixer. In the MDD/PPD sample they can be used to set WPDMX_MIC_VOL and WPDMX_LINEIN_VOL. In the UAM driver it's AC97_MIC_VOL and AC97_LINEIN_VOL. Perhaps sending the right IOCTL will solve the problem.
This blog entry
http://blogs.msdn.com/medmedia/archive/2007/01/03/windows-ce-audio-driver-samples.aspx
seems to say that a wavedev2 sample is available now. Also, while the WinCE 5.0 page above only metions two models the corresponding wince 6.0 also talks about wavedev2. I suspect if you got the current version of platform builder for WinCE 6.0 (trial version is free) you would have get the sample code for wavedev2, which is likely to be the best documentation of how this works. Amazingly, the drivers aren't that hard to read.
Both of the functions waveInMessage() and waveInSetProperty() are available to user apps. Hopefully both should be able to change the microphone gain if you can set the parameters properly. While most of these things are about windows CE, I think most (or all) apply to windows mobile 5.
Windows mobile 5, likely uses wavedev2 devices not MDD/PDD or UAM drivers.
Another interesting page about wavedev2 audio is here:
http://blogs.msdn.com/medmedia/archive/2007/01/04/the-wavedev2-gainclass-implementation.aspx
If your able to succeed or even learn more, be sure to post it back here.
I said a lot so I probably got something wrong. Anyone, please feel free to correct anything.

mixerGetNumDevs() returns 0 on my device
I can't find any registry entry which suggests microphone gain manipulation.
Perhaps i just need to send a waveInMessage properly.
I'm getting confused, should i implement a driver for this?
How do i know what kind of driver is running on my device and what messages
does it accept?
Thanks.

i think this may be what you need(?)
use a registry editor, (phm do a good free one)
hkey_local_machine/software/htc/audiogain (and audiogain 0 and 1 and 2)
try playing with the settings in there, soft reset to take effect

I don't have that keys on my HTC, should i create it?
Do you mean audiogain0 audiogain1 audiogain2?
Thanks.

see the attached screenshot, if you don't have those settings to adjust, a similar/same question was asked last night in a other thread, with different answers here
http://forum.xda-developers.com/showthread.php?t=306655

Looks like the cab file from the link provided by bbobeckyj just sets those audiogain registry settings. I don't have those settings on my apache. I don't think adding will help, but "you never know".
If you want to use waveInMessage() or waveInSetProperty() search for them at microsoft. You'll find there are a few parameters that you don't know. Read though the sample drivers that you can get with platform builder. See what values they expect, and which one cause them to change the microphone level. Try calling the function with values from the sample driver. While there is no guarantee that they use the same values, it's like that they do. I would start with the wavedev sample.
I don't know why microsoft doesn't seem to allow access to the source without agreeing to download all of platform builder, but it looks like that's the only way to get it. You can download the trial version for free. The source often helps if your trying to fingure out how something really works.

Uhmmm, i havn't found any download link about platform builder for windows CE 6.0. I've only found the 5.0.
Should't the trial be free?
Thanks.

I need to fix audio gain in my Itel Experience Phone (Windows Mobile 6.0 Pro)?
Please help.

I need to mute mic while on a call. Anyone has a idea of how may i do it?
Thanks

moved to the right forum, please post in the correct forums.

Related

need help comparing 2 dll files

im trying to compare these two dll files but i dont reall know how to
I use this app.
http://www.ultraedit.com/index.php?name=Content&pid=34
I also recommend the free (!) WinDiff, on which I've elaborated in depth at http://discussion.brighthand.com/showthread.php?t=215073
hmm i like the ultraedit but it makes the dlls look all wierd. maybe its supposed to be like that.
my problem is that the dll bta2dp.dll from tornado makes the a2dp work. and the bta2dp.dll from treo 750v does allow it to work.
i feel this file is necessary but i dont know the differances
I presume that's a typo because as I read it, both dll's allow your application to work?
I don't understand the problem, if you have have one that works then isn't that the solution? I don't get what you're trying to achieve. DLL's are composed of functions which are dynamically linked to at runtime from the application code. If the parameters passed from the application to the function in the DLL differ from one version to another, or the return information is different then that's the reason why one works and the other doesn't.
Unless you have the programming skill to debug the procedure as it is entered and subsequently change it then there's nothing that you're going to be able to do other than compare version numbers of the files but since you have already found one that works, what's the issue?
David.
(Now I've noticed you try to compare binary files - windiff is only usable for comparing textual ones. Sorry.)

Guitar Pro tabs on Pocket PC?

Hi all you great minds out there.
I've been hunting around for a little while trying to find out if this is possible.
I've got this program on my PC called Guitar Pro, a cracking little program which plays midi and guitar tabs together on screen so that you can follow on the guitar, theres a huge online archive of songs that have been converted to guitar pro *.gp3/.gp4/.gp5 format.
Its been great but I find it most annoying that I have to sit in front of my PC to work with this program, so I was really hoping for a program that would recognise the Guitar Pro tab format and run them back a full/half speed ect. I not even that fussed about the midi background.
Now, according to the Guitar Pro website, they MAY release a pocket PC version, this has been the stance for about 2 years, so I can imagine that its a non starter.
Looking around the net I found a program called DGuitar which is supposed to be able to run on any platform with Java, I managed to get a .Jar file to play with but it doesn't install on my pocket PC (would have been a bit too easy eh)
I dont suppose anyone has any input to this conundrum?, perhaps Im being a bit of a lemon with the DGuitar JAR install? or maybe theres another bit of software out there?
Id love to hear everyones input into this, cheers in advance y'all
P.S. I attach the open source DGuitar files to this mail perhaps someone might be able to take a better look at the distribution files
I'd love to be able to use Guitar Pro on my PPC. I'm unable to download this DGuitar file at the moment so I can't verify whether I can get it to work, but I will definitely be watching this thread.
please do, Im tempted to put a flash app together, since my Java skills are lacking. The Flash Lite platform is pretty good.
u should try this..
i think dguitar technically will work on your device together with java emulator software..
Unfortunatelly it's not so easy to convert Java SE (Swing) application to a J2MEE one. There are a lot of problems and as here we would need to convert both GUI and MIDI (sound) I think it's better to find an application predestined for PPC.
Maybe you could use Milktracker. Not exactly guitar but piano! http://www.milkytracker.net/
Or maybe :
MilkyPlay 0.9.7
MilkyPlay is a free module player for PocketPC supporting various formats.
Features:
- support for 669, AMS, AMF, CBA, DIGI, DSM, FAR, GDM, IMF, MOD,
MDL, MTM, MXM, OKT, PLM, PSM, PTM, S3M, STM, ULT, UNI and XM
- linear interpolation for better sample quality
- volume ramping for click removal
- audio visualisation
- nice GUI
- Song info viewer (instruments/samples/songmessage)
- playlists
- shuffle playback
- configurable button layout
- support for zip compressed modules)
http://peter.nxbone.net/MilkyPlay.zip
Not tried links recently.
Or maybe this link:
http://freewareppc.com/multimedia/pianonm.shtml
Or this other commercial one:
http://www.pocketpccity.com/software/pocketpc/Guitar-Fretboard-Addict-2005-12-16-ce-pocketpc.html
Sorry if I am barking up the wrong tree!
After recently coming across the open-source DGuitar project, I became interested in seeing if it was possible to port it to run on a win mobile JVM. As mjanek20 said earlier, the two major obstacles in doing this would be getting the Swing GUI components and the MIDI playback to work on these limited devices. The GUI components are actually not that big of an issue. On most WM devices, third-party JVM's (such as Creme) are available that support AWT and/or Swing components. The *really* difficult part is going to be the MIDI support. I've done a lot of research on this in the last few days, and I can't find any support (Java or otherwise) for low-level MIDI progamming. At best, there is support for playing back an entire MIDI file, but this is not appropriate for a Guitar-Pro viewer/player, where individual MIDI events need to be sent to the MIDI device in real-time. As I see it, there are three possibilties:
1) Substitute the MIDI events with simple tone events. This will give us basic sound, but we will be missing all the nifty effects like sliding, bending, hammer-on/off, fret noise, palm muting, etc.
2) Use a MIDI file exported from a GP file, and try to play this back in sync while displaying the tab in the GUI. Not sure how viable this is, just an idea at this point. I would hope it would solve some of the problems noted in solution 1, but syncronization and looping sections might be a problem here.
3) Program my own MIDI-to-PCM engine. I think some people have already done somethng like this (for instance, I am guessing the guys that came up with the Vibe MIDI sequencer midlet rolled their own), but unfortunately I havent found any open source, and frankly I'm too dumb and lazy to build something like this from scratch...so I'll probably start with solution 1 and then maybe see about implememnting solution 2.
I'll post my progress with the DGuitar port when I make a significant breakthru....if anybody else has any good ideas about a MIDI solution, let me know.
what is your progress with this? have you stop?
Hi,
So what is the actual progress?
I don`t really need the Midi playback, it would be perfect to just view the Tabs of a GP3, GP4 or GP5 File!!
Any other app around?
Regs
Sideburnt said:
Looking around the net I found a program called DGuitar which is supposed to be able to run on any platform with Java, I managed to get a .Jar file to play with but it doesn't install on my pocket PC (would have been a bit too easy eh)
Click to expand...
Click to collapse
DQuitar was written in Java indeed. But not in JavaME (ME stands for mobile edition) which is supported by most mobile phone. This is a huge different, and unfortunately DQuitar will not work on mobile devices.
Maybe it could be worth trying using JavaFX from Sun/Oracle while it's still available for our PPCs.
Jbed can run almost nothing where JavaFX behave correctly (except for on-the fly screen rotation). For instance, display is completely messed up using Jbed with Angry Birds, while the game is completely functional using JavaFX.
Quitar

Direct3D?

Hello all
I've been searching the internet for days trying to locate DirectX for my Samsung i760. I use SJPhone with my Asterisk machine, and would love to use the phone without the need for a headset (due to the speakerphone being the audio output and the echo because of it).
What I've learned in this short amount of time is that finding a DirectX cab file isn't going to happen. I've also learned, that the phones do not support DirectX, but rather GAPI then turned to Direct3D. If my terms or timeline is a bit off please do not bash, technical insight of the Direct* suite should not be the focus of this..
Is it possible at all to get a direct driver for my phone, or should my searching cease to a grinding hault? I'm not up to speed on the PPC/PDA/Smartphone world (this i760 is my first smartphone, which was purchased not too long ago) though do work in the telecommunications field. Go figure.
I'm affraid this phone just can't support it, which is the reason I cannot find anything or related i760 posts.
For whatever it's worth, I only need audio support and am not interested in video or playing games.. Thanks everyone, for any input provided.
some devices drivers may accell direct3d but there is not direct3d as a thing you install or as a independent program
Ive installed .NET 3.5 CF, which I thought had the DirectX stuff built into it, but appearantly I was mistaken.
In the audio options of SJPhone, it has a field that is grayed out which says:
Enable DirectSound for improved audio performance
And then below that, DirectX Version "not detected"
So I was thinking there has to be something out there to install to get the first feature working.

[Q] custom text or IM tone (Mango update)

so with mango update, it allows you to set up custom small 1mb files mp3 files as ringtones. i am happy that part works but what i do not understand is why why WHY? they did not allow these custom tones to be available for New text or IM ,New voicemail or New email alerts.
i find this very frustrating especially since the only way round it is to go through my contacts and edit each individual one to a custom tone, i got over a hundred contacts on my phone , is there a trick or way round this???
I doubt anybody here can tell you why MS did it this way. Even if a WP7 MS employee were on here, I doubt they'd tell... However, the setting for the various sounds is just a registry value and it's possible to point it at files other than the built-in ones, or you can use a filesystem browser to replace some of the built-in ones.
The simplest tool for doing this is Schaps "Advanced Config" app, available at TouchXperience.com. It requires Interop-Unlock if you want to use it on Mango. The steps for getting Interop-Unlocked are available on the Development and Hacking sub-forum here at XDA (specifically, http://forum.xda-developers.com/showthread.php?t=1271963).
For future questions about changing internal features, I suggest you do some searches (on that forum, or on the web in general), and if you don't find anything, ask on XDA. This is already a solved problem; I've had Advanced Config for months.
I have an Interop-unlocked Focus, with Advanced Config, and the settings to adjust the SMS/e-mail tones do not work with Mango. Perhaps they work with some other models (and they did work with NoDo), but when I search all I find are threads that point to other threads in a bit of a mobius loop, none of which provide any actual known-working steps to accomplish your goal.
I'm hoping that when MS *does* finally implement this oft-requested functionality, they'll go the extent of allowing per-account and even per-user customizations for these tones. But I'm not really holding my breath.
Brad.
i'm guessing the only way to achieve this at present is to replace the alert-1 file with your own .wma file renamed to alert-1...
Similar to the original chevron ringtone loader... Wish someone could write an app for this as now i'm on Mango with the HTC update i cant load touchexplorer
thanks guys for the response sadly due to the mango update ,unable to make any changes .
crappy 10 tones will have to do for now. smh : (

[Bounty]Lenovo Mirage Solo OS Rebuild

Fair warning: I know only mostly what I want, I have no clue how difficult it will be to achieve, and therefor have no idea how to price the work. There are several people interested in this project though, so I'm sure a good budget can be reached.
I have several copies of Lenovo+Google's ill-fated virtual reality headset, which I would like to turn into actually functional devices. The kernel is Android 8 with some additional hooks (I have a copy with the additional required files). I also have one that has developer access of some kind, which may make the process easier.
The primary problems the device needs fixed:
Needs USB File transfer (disabled completely currently)
Needs access to cameras (Especially necessary for AR passthrough)
Needs Task Manager
Needs better widget and notification area systems (Currently, to skip a song on, say, spotify, you have to exit the app you're in, navigate to spotify, switch the song, restart the app you were in. The notifications are also not context aware, so you can't click on one to go to the referenced app)
Support for alternate controllers (basic, such as keyboard or bluetooth PSX)
According to the last person I attempted to hire for this, it would be easier to start from scratch than to implement an altered rom, but I don't think he understood how the 360 virtual environment and camera tracking systems were integrated (not that I do, but I know enough to know that building them out from scratch would be a massive undertaking).
Here is the current road map document, which is still a work in progress.
Any assistance, direction, or paid work would be appreciated, as I've been stumped on where to even begin for over a year.
MOD ACTION:
Thread closed since bounty threads are not allowed on XDA.
@bridgebrain

Categories

Resources