• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: VoiceProcessingIO unit AGC
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: VoiceProcessingIO unit AGC


  • Subject: Re: VoiceProcessingIO unit AGC
  • From: Zachary Kulis <email@hidden>
  • Date: Thu, 28 Apr 2011 09:32:14 -0400

Thanks very much for the information and for posting your sample code. I'm actually already using the voice processing unit in my application, and have drawn the same conclusions as you regarding the improvement in quality when recording speech.

I wish that Apple would provide some more information on the AGC, though. The documentation is quite cryptic - for example, I've noticed that if you set the kAUVoiceIOProperty_BypassVoiceProcessing flag to "1", the AGC is still enabled. This leaves me puzzled as to whether the AGC is a digital gain (since it should technically be disabled when bypassing all processing) or whether it is a hardware preamp gain. Also, it appears to have different effects on different devices...

Thanks again for your info.

Zach
Hi, 

I can't tell you anything about the implementation details of the VPIO unit, but we have recently implemented a simple word recognition algorithm where we used the VPIO unit to record speech samples. The recording quality of the VPIO was great for speech and we have got a much cleaner speech signal than using the RemoteIO.

Our project is available at GitHub. As far as I know there is no sample code available from Apple using the VPIO unit. So you might be interested to do a quick test with your recording scenario using our SOVoiceRecorder class (you could just rip out of the rest, it does not have any special dependencies to other classes of the project): 

https://github.com/hfink/matchbox/blob/master/Xcode/SimodOne/SOVoiceRecorder.h
https://github.com/hfink/matchbox/blob/master/Xcode/SimodOne/SOVoiceRecorder.m

It's really a very simple implementation with the only goal of recording stuff into a CAF file. Use it like this: 

SOVoiceRecorder *  recorder = [[SOVoiceRecorder alloc] init];
[recorder startRecordingIntoFile:someFileURL];

//Recording... 

[recorder stopRecording];
[recorder release];

Also, in line 191 of SOVoiceRecorder.m you could just uncomment some code to disable AGR. If you want to compare the VPIO recording to the standard RemoteIO recording, just comment/uncomment the code surrounding line 129 of SOVoiceRecorder.m appropriately. Since we were just recording speech in our project, we have only used 16khz as the sample rate. It should be easy to modify this accordingly (e.g. line 213, line 262).

Hope that's useful to you. 

Let me know if you have any questions,

Heinrich

On Apr 26, 2011, at 18:16 , Zachary Kulis wrote:

Hi - does anyone know whether the VPIO AGC manipulates the actual
microphone gain or simply scales the audio samples? I would like to know
whether enabling the AGC via the
"kAUVoiceIOProperty_VoiceProcessingEnableAGC" property can increase the
SNR of the recorded signal.

Thanks,
Zachary Kulis
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden


_______________________________________________ Do not post admin requests to the list. They will be ignored. Coreaudio-api mailing list (email@hidden) Help/Unsubscribe/Update your Subscription: This email sent to email@hidden

 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

References: 
 >VoiceProcessingIO unit AGC (From: Zachary Kulis <email@hidden>)
 >Re: VoiceProcessingIO unit AGC (From: Heinrich Fink <email@hidden>)

  • Prev by Date: Source code for CoreAudioClock?
  • Next by Date: audio input and midi output?
  • Previous by thread: Re: VoiceProcessingIO unit AGC
  • Next by thread: Migrating OSX AudioUnit to iOS?
  • Index(es):
    • Date
    • Thread