Sound Servo (PC Mic)
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 skillUse 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 position of the servo. Don't worry if that sounds confusing; play with it, and see what you get.
Use this skill for moving 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 locate 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.
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 set up 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.
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 will be detected at. 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
Click and hold the left mouse button to adjust the minimum servo position value. Right-click to enter it in with the keyboard.
7. Maximum Position Adjust
Click and hold the left mouse button to adjust the maximum servo position value. Right-click to enter it in 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 allows you to invert the direction that the servo moves when a position value is sent to it. Ex: When normally a 180 position value makes the servo move all the way left, with the inverted directed checkbox enabled, the servo will move right when 180 is sent to it.
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.
How to Use Sound Servo Mic
1) Install, configure and test your audio input device (see instructions below).
2) Connect a servo to the EZ-B connected to your ARC project.
3) Add the Sound Servo (PC Mic) Skill to your ARC project (Project -> Add Skill -> Audio -> Sound Servo (PC Mic)).
4) Setup the connected servo in the Settings menu.
5) Verfiy that there is activity with the Audio Waveform in the Main Window, then start speaking.
You will need an EZ-B I/O controller and a servo to use this skill.
Headset or External Mic
Using a headset or external mic will produce dramatically better results compared to the internal PC/Laptop mic. Using 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.
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 the "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.
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
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...