Buddy 7G™ System
Buddy 7G technology took more than ten man years to develop. It is a sophisticated operating system which we developed in house running on an ARM Cortex microcontroller. It runs apps such as FilteredAudio™ for ultimate noise cancellation and of course automation to configure dynamic parts of the microphone using our freely downloadable MyBuddyMic™ utility software.
Here is a circuit board from one of our Buddy 7G microphones:
The microprocessor is manufactured by NXP Semiconductors (NASDAQ: NXPI), running at 120 MHz with 512KB flash memory for program and data storage. The Audio to Digital converter is made by AKM a multibillion dollar Japanese company specializing in audio electronics. Instead of using a single chip Codec (Audio Coder Decoder) to support microphone and speaker, we use two separate chips; ADC (Audio to Digital converter) and DAC (Digital to Audio converter). This doubles the cost, but it provides independent sampling frequencies for recording and playback, as well as eliminating interference between microphone and speaker operations.
FilteredAudio
FilteredAudio™ is a code name for our noise cancellation algorithm.
The ADC (Analog to Digital Converter) converts the voice waveform into digital numbers. For a 16 KHz sampling rate the ADC chip produces 16,385 samples every second. Each sample has a value between 32767 and -32767. FilteredAudio captures 528 such samples of audio and analyze them for voice component and ambient noise using very sophisticated DSP (digital signal processing) algorithm. Once the noise component has been identified a filter is created to negate the affect of noise. This filter is then applied to audio and sent out to the Windows, Mac, Linux or Chrome operating system through the USB port. Then the cycle starts all over again for next batch of audio signal. This is a real time operation so a fast microprocessor is essential to perform this task.
MyBuddyMic
MyBuddyMic is a utility software for end users to easily customize the behavior of a Buddy 7G based microphone or device such as switches. There are many parts of a Buddy 7G device that are customizable. These include buttons, microphone, speaker (if supported), LED lights, etc. MyBuddyMic, freely downloadable, enables you to customize the programmable parts of the device.
Once the Buddy 7G device is customized, the changes are stored in the device itself and continue to work until changed again. When a device is plugged into the host computer’s USB port, MyBuddyMic automatically knows the details of the device.
Since a picture is worth a thousand words, here are a couple of screen shots of MyBuddyMic software:
Picture on the left side shows internal detail of Buddy USB 7G device including serial number, boot-loader, main firmware version, etc. Clicking on button hotspot will change screen to event/action related to the button object. The event table in this example includes two entries; a click will not only toggle mute state but also send a button 1 click to the host computer as a joystick action.
There are eleven short (one or two minutes) YouTube videos available from the top right corner of www.BuddyMicrophones.com home page. These videos demonstrate some common procedures for customizing a Buddy 7G device.
Joystick support
Buddy 7G system supports Joystick interface for third party application interface. Joystick unlike a mouse or a keyboard is not a system device. For this reason it is easy for a third party program to adapt this interface to receive messages from a Buddy 7G device. MyBuddyMic can be used to program a button or any other programmable part to send messages to your application via Joystick interface.Windows Game Controller utility is available to visualize this interface in action.
As shown in picture above, it is easy to send up to 16 button reports (actions) as well as other small packets of information that can be easily captured by the host application.