How to add the Sound Servo (PC Mic) robot skill
- Load the most recent release of ARC (Get ARC).
- Press the Project tab from the top menu bar in ARC.
- Press Add Robot Skill from the button ribbon bar in ARC.
- Choose the Audio category tab.
- Press the Sound Servo (PC Mic) icon to add the robot skill to your project.
Don't have a robot yet?
Follow the Getting Started Guide to build a robot and use the Sound Servo (PC Mic) robot skill.
How to use the Sound Servo (PC Mic) robot skill
Use your PC's audio input device (microphone) to control servos! You can control many servos with this skill by using the Multi Servo option in the settings or adding multiple instances of the skill. Specify the scalar to increase the dynamic range of the audio in relation to the servo's position. Don't worry if that sounds confusing; play with it, and see what you get.Use this skill to move the mouth of your robot. If you speak into the microphone, you can have your robot's mouth mimic your speech.
Most robots make a lot of noise, so locating the audio input device on a robot is not a practical solution. It is best to place the microphone on the controlling PC/Laptop, on yourself, or somewhere in the room (away from the robot). Experiment with different microphone locations and volumes for the best setup for your environment. Ideally, use a headset or Bluetooth mic rather than your laptop microphone.
Main Window
1. Level Value
This is the detected sound level coming from your audio input device. Right channel by default.
2. Servo Position
Displays the current servo position between the maximum and minimum values in the Settings menu. This value is controlled by the level value multiplied by the scalar in the Settings menu.
3. Pause Checkbox
This checkbox pauses the input capture of audio from the input device.
4. Audio Waveform
This gives visual feedback that your audio input device (microphone) is configured correctly and is picking up voice/sounds.
Settings
1. Title Field
This field contains the title of the skill. You can change it if you'd like.
2. Board Index Drop-down
Select the EZ-B index number that your servo is connected to.
3. Update Speed Drop-down
This is the sample rate that the level that will be detected. The selectable range is 100 to 60000, and the default value is 100 milliseconds.
4. Port Drop-down
Select the digital port that your servo is connected to.
5. Scalar Drop-down
This selectable multiplier will scale the level value to a servo position. The selectable range is 0.25 to 9.75, and the default scale value is 1.5.
6. Minimum Position Adjust
Press the left mouse button to adjust the minimum servo position value. Right-click to enter it with the keyboard.
7. Maximum Position Adjust
Press the left mouse button to adjust the maximum servo position value. Right-click to enter it with the keyboard.
8. Multi Servo Edit Window
This window allows you to select multiple servos that you'd like to mirror the movement of the master servo.
9. Invert Direction Checkbox
This checkbox lets you invert the servo's direction when a position value is sent. Ex: When normally a 180 position value makes the servo move all the way left, with the inverted directed checkbox enabled, it will move right when 180 is sent.
10. Left Variable Field
This variable is for the left microphone channel level. *Note: This channel is only used for stereo microphones.
11. Right Variable Field
This variable is for the right microphone channel level. *Note: This is the default channel used by standard mono microphones.
Requirements
You will need an EZ-B I/O controller and a servo to use this skill.
Headset or External Mic
A headset or external mic will produce dramatically better results than the internal PC/Laptop mic. A headset or mic will enable the recognition engine to "hear" your voice much clearer with less background noise. The background noise of the laptop, motors, radio, and room echo will cause the recognition software to return False Positives. This means the software recognizes an incorrect phrase. An external mic will also prevent the recognition software from hearing the robot speak. In short, it is important to use a Mic Headset or external Mic for a positive Speech Recognition experience.
Resources
Configure Audio Input Device
You might have to adjust the microphone input volume/gain. To adjust the mic volume, use the Microsoft Windows volume mixer, and first, make sure you have selected the correct input device. Your laptop or computer may have a few different mic devices. Maybe one is on a remote camera. Find the mic you'd like to use and adjust the volume. To find the volume settings that are ideal on your computer, follow these steps:
1) Right-click on the little speaker on your system tray
2) Select "Open Sound Settings."
3) In the "Input" section of the Sound Settings, you'll notice a little VU meter beside the active device. Make sure your active device is indeed the microphone you want to use. By making sounds, the VU meter should move.
4) Click on "Device Properties" and locate the volume slider for the microphone. We usually have our volume set for 78. Play around with different volumes until you see your voice being picked up by the VU meter. Adjust the volume input level/gain to display your voice's regular volume near the middle of the VU Display graph.
Related Tutorials
tutorial
Sabertooth+Kagaroo+DC Motors As Servos
This tutorial shows how to use a DC motor as a Servo, using a Sabertooth+Kangaroo boards combination and EZ-builder
tutorial
Sound Activated Circuits (Leds, Lamps Etc)
One item that crops up often is sound activated LEDs or lights. And while the Sound Servo control in EZ-Builder can...
Related Questions
Upgrade to ARC Pro
With ARC Pro, your robot is not just a machine; it's your creative partner in the journey of technological exploration.
@DJ I was using this skill today and it turns out, in the "Add New Robot Skill" Audio window, there's a skill called "Sound servo (EZB)" that is a duplicate of "Sound servo (PC Mic)".
And No, I don't have it confused with "Sound servo (EZB Playback)", I know that it's a duplicate because if I add the "Sound servo (PC Mic)" to a project, then add "Sound servo (EZB)" I get the following error:
I just wanted to let you know before the next release.
Ah i see that - fixed for next update thanks!