The forums are retiring and are now closed for new topics and comments. The existing content will remain online and accessible through 2020 to provide everyone the opportunity to save any relevant information. In the spring of 2021, these Community forums will be taken offline.

Search for voice module in Topics


troubleshooting voice modulator

About four years ago I bought this robot voice kit for a halloween costume: http://www.kemo-electronic.de/en/Hobby-School/B107-Robot-voice.php (the scematics are near the bottom of the data sheet) I never finished it and now that I put it together it's not working. The signal goes through to the amplifier, but without the modulating happening. Does anyone know what the problem could be, or if there is a way to narrow it down without desoldering and testing the components individually? Thanks

Topic by Jur    |  last reply


Transistor voice modulation?

Alright, i know now that there is a way to modulate your voice from putting signal in on the voltage pin of a transistor, and controlling it with a synth into the input voltage. But now, what is that effect? and what is a way to smooth out or get clean sounds from it? Any help is appreciated. Thank you. 

Question by ski4jesus    |  last reply


voice recognition module for arduino

Hey Guys,  has any of you experience with the voice recognitions module. I need help to program it!! I watched the tutorial but I could not program my module. There they said I had to write AA11 to start program the first group. In the tutorial the program write start, again,.... I did all the same, but it did not come start. Can me help someone??

Topic by Hansta98    |  last reply


Voice changers

I know voice changers have been done, but theres only 2 instructables for some rather simple changers and other forum queries are quite old. What I'm looking for is a diy, real time voice changer circuit that can alter pitch and modulation, preferably with pots for fine tuning rather than presets, hopefully without the tinny sound I hear from the majority of samples I've listened to. An amped output with volume control would be cool too to overpower the users voice a bit easier. I'm looking for an output akin to this as an ideal. https://www.youtube.com/watch?v=Dqr5K0K4wL4 I'm no stranger to micro electronics, I can read codes and, with a little review, understand gates and ICs but still have no clue how to design my own circuits to do more than flipflop and turn things on and off. Any ideas ? Kits, DIY plans etc ? Simple and portable is better, want to incorporate it into a costume.

Topic by Silence    |  last reply


V3 elechouse voice recognition module

I'm having a problem about my V3 voice recognition module because when the time that I will train or save commands arduino did not recognize but the sample codes for v3 is working? I'm confused about it please help me guys ;(

Topic by Mary JaneC3    |  last reply


will a 5v 3A kill my 4-Channel CP2102 Voice Record Playback Module ? Answered

I purchase a CP2102 Voice Record chip and i cant find the datasheet  also i purchase a ICSH030A to go with it i dont know if those chips will "take" the amps they need or just burt out Here are the boards : https://www.tanotis.com/products/tanotis-cp2102-4-channel-voice-record-playback-module-voice-recording-module-new http://www.newegg.com/Product/Product.aspx?Item=9SIA86V2Z32044

Question by NivA2    |  last reply


James Haskin's talkbox voice modulator mod!

Www.instructables.com/id/Make-A-Talkbox/ Ok, so after watching James' video and looking through the instructable this is the nicest construction of a talkbox for almost no cash what so ever, for those of you that havn't seen it the link is at the top.. James uses a DPDT switch on the guitar.. For my purposes though have the switch on the amp.... well its not as user friendly as need be.. I was wondering how hard it would be to make a seperate footpedal to activate this talkbox...something alittle more professional than just longer wires to a small box with the switch there.... unless that seems to be the right way? I'm not sure maybe i just over anylized the situation, could it be that easy? i was thinking of adding a resistor and an LED (although) you will be able to know when this is running it would just add alittle touch to it you know?

Question by funkbass  


Can anyone suggest an inexpensive voice modulator?

I'm building a Dalek costume for my daughter, and i'd like to surprise her with some ability to speak in a Dalek-like voice.  I'm hoping to find something simple (and inexpensive so i don't get in trouble with my wife) that distorts her voice somewhat, at least getting her voice into the ballpark of the iconic "EXTERMINATE!!" sound, and I can move the mic up into her helmet and hide a speaker somewhere.  Any thoughts? I'm sure if anyone has some input, i'll find the help here.  Cheers!

Question by Spunk-Monkey    |  last reply


I needs a voice modulator with a long playing voice playback to be inserted inside of a plush dove.

I needs a voice modulator with a long playing voice playback to be inserted inside of a plush dove. My friend is trying to make a protype of a plush doves and the voice modulator has to hold a long playing message. Is there some part that is available that she can buy. If, the prototypes take off she will be needing a supplier. Please let me know A.S.A.P. My name is Mary E. Martinez I am doing her parts research for her. My e-mail is: munchkin3264@yahoo.com

Question by munchkin3264    |  last reply


Can a ring modulator be used to achieve a vocoder or talkbox effect? Answered

Using a microphone as one input and a keyboard on the other input of a ring modulator.

Question by iggyz123    |  last reply


How do you create text to speech module for arduino?

I have a clock project, and I want a voice feature in it like it says the time by voice. how would I do that? There are some arduino shields available that can do this for me; however if I had to create one of my own, how would I do it? Do I have to cascade it on a strip board? If I do then what components do I need? and would cascading be cheaper than buying the arduino shield?

Question by Bam Boy    |  last reply


Geeetech voice recognition module how to import group 2??

Hi everyone i am using a geeetech voice recognition module for a project. i have read the manual and been able to train and import group 1. But when i train group 2 then try to import group 2, there is no response only group 1 is saved see AccessPort below. How to train group 1 and 2 and import both?????? i need 10 voice commands that is why i need those 2 groups. ================================================================= Common Mode START AGAIN START Different START AGAIN START Finish one START AGAIN START Finish one START AGAIN START Finish one START AGAIN START Finish one START AGAIN START Finish one Group1 finishi! START AGAIN START Finish one START AGAIN START Finish one START AGAIN START Finish one START AGAIN START Finish one START AGAIN START Finish one Group2 finishi! Group1 Imported!

Topic by keshavcanaye  


How to make a simple voice changer

Hello guys I have a question. I'm just trying to make a simple, cheap, voice changer like the little stupid toys you buy from the store.  How can I do it? I've looked ALL over the internet, and can't find ANYTHING thats simple like the little toys you get. Plus the ones I do find are too expensive.  Thanks,

Topic by HavocRC    |  last reply


Sound Modification w/Arduino? Answered

Is it possible to distort, amplify, or otherwise modify sound using an Arduino in real-time? I was thinking of making a voice modulator that I connect my microphone to in order to change my voice. Quality isn't an issue, I just wondered if it was possible.

Question by ArduMir    |  last reply


Leonardo - Warning System + Voice Recognition

I designed and built a warning system, using 3 sensors, that detect when an object is approaching. The system also has a toggle switch and a buzzer. When the toggle switch is in the OFF position: If there are no objects nearby the LED turns GREEN, if either sensor 1 or 3 detect an object the LED turns YELLOW and finally if the object is between sensors 1 and 2 or 2 and 3 the LED turns RED. When the toggle switch is in the ON position:  Same as OFF position + buzzer  beeping depending on color of LED. Now I would like to add voice recognition to my system. I purchased a JY-MCU Bluetooth Wireless Serial Port Module and was able to test it using a simple program that changed the color of my LED depending on the command I gave it using my phone. My problem now is that whenever I tried to add the voice recognition capability to my warning system its not working. The code I'm using makes sense but I'm new at this so I might be missing something. I'll be posting 3 codes: 1)Warning System 2)Test for Voice Recognition 3) Current non-working code.

Topic by c_MOS    |  last reply


How to pre-record voice module from PC, avoiding using microphone?

Hello. Could anyone advice me, please? I read all of the QA related, but my question would be a bit specific. My intention is to make a greeting card like device, using recordable voice module. Recording your own message by using the microphone is pretty clear. However my concern is, I would like to pre-record this module with any music or jingle from the PC and leave user the option either to record her/his own message using the attached microphone or let that pre-recorded jingle play. I would use any of this type or similar modules shown on picture. Thanks in advance.

Question by Ardu Tube    |  last reply


Any ideas for an "in mouth" voice mangler (NOT electronic)? Answered

I want to make scary inhuman sounds as part of a costume. So I can't hold things up to my face or use any electronics. Has anyone got any ideas? (Other than me ending up with a sore throat from screeching unnatural sounds.) I'm thinking of something like a whistle I can bite/hold with my lips and blow through but whistling isn't very scary and most whistles don't work in reverse. Or like when you trap a blade of grass taut in between your thumbs and blow, but would need to be "manufactured" so I don't need to hold my hands up.

Question by max_allan    |  last reply


Embedded human interface device for voice and data communication?

I am trying to built a Bluetooth device which can communicate or live stream  voice to master and also the status of switches in it. ie, it should sent both voice and data simultaneously, can anyone suggest Bluetooth module which i can do this. am doing my project on pic..

Question by JishnuprakashN    |  last reply



Help with JARVIS-like Smart Home

Hey guys, I am planning to do a project with Smart Home theme. I would like to create JARVIS-like application, which would be able to recognize my voice and then do appropriate action. Example: Temperature Sensor Me: "Jarvis, Show Temperature" Jarvis: -"Temperature displayed sir" I am planning to buy a very cheap Tablet, on which I would like to write an Android Application, which would create "jarvis" and other activities. For example, if I say "Show Temperature" the activity would pop up, where the temperature will be displayed. I will messure temperature with a Thermometer (DS1280 most probably). And I'd like to use a Bluetooth module to communicate Wireless with them. Temp. Sensor -------- > Arduino board ------------> Tablet All of the above are on different locations. I need help with this project, so if anyone could do an instructable on how to do this - would be really awesome! What do I need ? - Temp. Sensor - Bluetooth Module - Arduino Mega - Speech regonition software (BitVoicer probably) - anything else? Also, is the TFT display (http://www.geeetech.com/wiki/index.php/3.2TFT_LCD) good enough to replace the Tablet ?  Meaning, can I write such an Application to this display ? Thanks, David

Topic by DavidDaVinci    |  last reply


Making your own digital assistant using ardino uno gsm shield Sd card module and VR shield

I am building a personalized assistant or a daily smart reminder sort of which speaks to you. Using the Arduino R3 and GSM Shield: SMS will be sent to the SIM card in the GSM shield connected to Arduino uno and the data fro the SMS will be extracted and stored on the SD card which will be displayed on an LCD screen. All of this will be voice activated and controlled.  Need help with the logic and working of this setup.

Topic by shreyansoswal    |  last reply


need help for nrf24l01+

Well i am using rf24 module for a project since i am new to it i am having some difficulties to send the data. Actually i am doing a remote consisting of a geeetech voice module + nrf24 + arduino nano. It must communicate with a hub which comprises of arduino uno + rf24 + relays. I have tested the voice module and the data is read as serial command. see the code for a simple example without rf24 below. For my project i need to make the transmitter read the serial command of the voice module and send it to the receiver side. In the receiver side it will activate relay with a switch case section. I would appreciate if anyone could help me out and suggest me how to send the command of the geeetech voice module via rf24. //code for simple test between voice module and nano int led1 = 2; int led2 = 3; byte com = 0; void setup() { Serial.begin(9600); pinMode(led1, OUTPUT); pinMode(led2, OUTPUT); delay(2000); Serial.write(0xAA); Serial.write(0x37); delay(1000); Serial.write(0xAA); Serial.write(0x21); } void loop() { while(Serial.available()) { com = Serial.read(); switch(com) { case 0x11: digitalWrite (led1, HIGH); //turn red on break; case 0x12: digitalWrite (led2, HIGH); // turn yellow on break; case 0x13: digitalWrite (led1, LOW); // turn red off break; case 0x14: digitalWrite (led2, LOW); // turn yellow off break; case 0x15: digitalWrite (led1, LOW); digitalWrite (led2, LOW); // turn both off break; } } }

Topic by keshavcanaye  


(newsletter) DIY Deodorant, Glowing Goggles, Robot Voices...

Sign-up for this newsletter: Welcome back! We've got three fantastic contests this week, so get to work turning your great ideas and half-done projects into finished Instructables and enter! Pocket-Sized Contest - Think small, and win a custom laser-etched Leatherman! Get in the Garden Contest - Enter any Instructable with a gardening theme and win an awesome computer-controlled indoor composting machine from NatureMill! Art of Sound Contest - Share any music or sound-related Instructable, and win an incredible custom hi-fi tower set with subwoofer, monster speakers, and more!! Robot Voice Modulator Upside-Down Hanging Earth Box! Homemade Deodorant Used Tire Raised Garden & Tree Ring Save Space and Combat the Mess Leather Chain Necklace There's something fishy in my pocket! Programmable Leather Bracelet Quick and Cheap LED Lighting Scallop Your Guitar The Beverage Barge How to make a Cargo Kilt Win a cool computer-controlled indoor composter! Win these custom hi-fi speakers! Light Up Steampunk Goggle Mod One Cup Coffee Brewing Pocket-Sized Lantern Repair a Broken LCD Sign-up for this newsletter:

Topic by fungus amungus    |  last reply


Transistor vocoder?

Hello, last night i was experimenting with my breadboard, and i came up with an idea, transistors have a supply voltage, which the small voltage controls pitch and volume. but i thought what if i had voice coming in to the supply voltage part(after being super amplified) and the keyboard comes in the control voltage side, would the keyboard not control pitch of voice, while voice modulates? thanks for your help.

Question by ski4jesus    |  last reply


robot that talks back ?

Hi so i'm building a Robot controlled by voice using my android phone and HC-05 Serial Bluetooth Module(Hi so i'm building a Robot controlled by voice using my android phone and HC-05 Serial Bluetooth Module so my question is how can i make the robot talk back to me ) so my question is how can i make the robot talk back to me simple things for exemple when i talk to the robot using my phone it will say YES SIR or tell jokes 

Question by omarb22    |  last reply


Wanted: Some one to finish a code for Arduino and A6 GSM module. Will pay.

Hi! I need some one to finish/rewrite a code for A6 gsm module. I want to make one button SOS system with voice call. I found a working code that can dial one phone number and display returned information from A6 module, but i need to do something more. I need to dial 3 numbers in a roll, based on a returned information from com port.(BUSY, ERROR, etc). I`m total noob, and the code is NOT mine. So i`ll pay 20$ for your help. Bitcoins or other method. For more information contact me. Thank you.

Topic by trifonoff  


9V battery and LM7805 power a audio AMP failled? Answered

Hi,All I use a 9V battery to pass power through a LM7805 to an arduino pro mini,a MP3 module,it works fine.later i am not satisfied with the low voice of the speaker,then i added an Amplifier module.the AMP module is a PAM8403-5V(could be USB powered),but the speaker produce weird sound.  it seemed the PWR was not enough,so i added an extra 5V supply to the PAM8403 module,this time it sounds fine. But i don't wnat to use two PWR sounces to power them.cause it will be bulky,is the 9v battery OK to power them all?or maybe i should use two LM7805s,one for arduino and MP3 module,and another for the PAM8403 module. The pic attached is the working wiring of the project Please help me with this,Thanks. gada888

Question by gada888    |  last reply


use Alexa with x10 house

What do i need for alexa to work with my x10 house i know a computer and a CM17A what else do i need i have alot x10 modules its at one time was voice activated but it was running on widows 95 computer is not working tryrd to get it going  but software is to oil any help is appreciate 

Topic by 4wheels  


need to make a simple two way full duplex audio communication device

Hello, i need to make a simple two way full duplex wireless audio communication device for communication within the house. i would like to make a simple device and with good range. i already have nrf24l01 and arduino i dont know much about arduino and never made anything like this before. i need to know what equipments do i require to make the device.if i can use this module to make a two-way voice communication, please guide me how to. if not, please give me other ideas.

Question by RafiR9    |  last reply


Audio chip? Answered

I want to make a device to play a sound when a PIR sensor detects motion, but I don't know about the audio chip. I can't seem to find a chip that allows you to program a sound clip to it, then output it when it is given a signal. The closest I found was a cheap sound recorder module from china, but it contains all the external components (mic, batteries, speaker, switches) and so it acts just as a voice recorder. I need an individual chip that will do something similar. I may use the module as a prototype, but I eventually intend to mass produce the circuit, so that is why I am looking for an alternative. It only needs to hold about 5 seconds worth of audio, medium quality.

Question by andy70707    |  last reply


how to write specification for transmitter?

I trying to write specification for transmitter that transmit voice signal over 100 meter long at 97 mhz frequency modulation type Input voltage 12 v input current 9 mA input power output voltage output current output power operating frequency 92 - 97 Mhz oscillator circuit that generate 97 mhz frequency transmitting distance 100 meter long how to decide how much output voltage and current I need at output side ?  

Question by vead    |  last reply


Need a very simple wireless two-way audio communication device.

Hello, i need  a simple wireless two-way audio device for communication within the house. i like to have a small device like a tiny headset, that is simple and has good range. i wish to make this really cheap, under 200 INR. mainly for audio communication (full duplex communication). here, where i live, i don't have access to any good technology. i mean, i cant even get simple "variable capacitor". so i have to purchase anything online, but the shipping rates itself to my place are too high for my budget. i have seen circuits like "fm transmitter" but i need a "fm reciever" to pickup that signal. but fm recievers are hard to build. i even made a fm transmitter( a very simple one), but it often switched the frequence, so i couldn't have a fixed frequency.  so i look for a circuit that is easy to tune and can be fixed frequency. i came across this module "433Mhz RF Transmitter Module + Receiver Module Link Kit for Arduino" but i done know anything about  arduino.  if i can use this module to make a two-way voice communication, please guide me how to. if not, please give me other ideas.

Question by jaga0692    |  last reply


Advanced Helmet

Advanced Helmet By: Arseny Ratnikov I want to create a helmet that looks like a sci fi helmet (mass effect, titanfall, halo, etc.) and that; **Want to make cool helmet, need help with having multiple camera feed output to multiple screens** * Protects my head (able to decrease force from impact by significant degree) * Can filter the air I breath (does not need to be super extreme filter, just filter out general junk, the better the filter the more pleased I am, but if it becomes too bulky/expensive then it is unnecessary)(Optional/Most Likely) * Has a HUD with my vitals on it. I would wear some sensors, such as HR monitor to have some cool biofeedback, maybe also include other information.(option) * Maybe even have it be a digital display where there are cameras on the front and maye back of the helmet that then are displayed on the interior screen, where I have voice commands setup for some different things. * Have the helmet be as sound proof as possible and have microphones where my ears would be, then inside the helmet speakers, so that I can modify the noise around me to be how I want it to be. I understand this would be rather difficult (at least including all of the bullets) and that it could even be a touch silly. Yet, I find this a rather intriguing pursuit and think it will help contribute to becoming a cyborg. Any tips would be greatly appreciated as I don't really know where to start for this. I can imagine a lot of the work might be done on an arduino, but I simply don't know the feasibility of modifying noises of the world around you and having the cameras on the helmet. So here's a little prioritization sheet I worked out, it is not exactly in order, and maybe you all have some suggestions on what might be more critical to design and functionality. Prioritization 1. Functionality a. Head protection a1. Padding/Inertia dampener a2. Sturdy/solid b. Control of phone through bluetooth b1. In helmet speakers b2. In helmet microphone b3. Voice control c. Control of other systems such as screens c1. Voice control of screens c2. Screen modification c3. Screen HUD and other functions (maybe GPS map, time, etc.) d. Camera view d1. Camera live to screen with little to no latency d1a. 360 degree view compressed to 180 degree screen (maybe) d2. Computer control of camera feed d2a. Visuals, different HUDs e. Sound modulation e1. Sound cancelling e2. Sound reproduction at low to no latency e3. Sound modification e3a. Changing pitch e3b. Change decibel levels e3c. Change relative level of external sounds f. The HUD f1. Display of vitals f1a. Heart rate, oxygenation, etc. (Requires some monitor) f2. Display of time and other running interests f3. Display of current location on google maps/GPS system g. Air Filtration g1. Filtration of air, relatively high quality g2. Seal on head or seal over mouth and nose or full body suit that connects to helmet h. Extra Features 2. Style a. Look good b. Look like popular sci-fi media c. Does not interfere with functionality and accents functionality How should I do this? I am planning on using some old phone screens if I can for the screen part and multiple cameras. I plan on using a raspberry computing system (might need multiple) to modulate the output from the cameras. How could I make multiple camera outputs lay onto multiple screens that looks good at three to five inches from the eyes? Also how can I make the raspberry pi control my phone and computer via voice, or at least change a screens properties? Thanks

Topic by ArsenyR    |  last reply


How can I create a PPM-generating device whose output can be recorded as audio?

Dear Community,          In the late 80s and early 90s, the whole Teddy Ruxpin craze took off, and there were many spin-offs on this.  The basic idea was that the toy had a cassette player where one channel was directed to an audio circuit in the usual way, and the other channel had animation synchronization code directed to some sort of receiving circuit which controlled motors to make the mouth and eyes move so it would appear to be telling a story or singing a song.  My favorite instance of this (which I had as a child), is the Ideal Big Bird Storymagic based on the famous Sesame Street character.  There were so-called "satellite toys", Cookie Monster and Oscar which connected to Big Bird via a special patch cord, and they talked along and helped Big Bird tell the story.  I never had those though.  Different fans tell me that the animation sync code is Pulse-position modulation, the same code used over radio waves to guide remote controlled cars and helicopters.  I'm not sure if this is true or not.  I've looked at it in a waveform editor, and there appears to be some amplitude modulation going on here too.  (Please see below).  The highlighted (white) section is the span of two words.  The right (lower) channel shows the voice speaking these two words, and the left (upper) channel shows what happens to the code (which really sounds like a fax machine) as he moves his jaw down, up, and down again in time with the words.  Is this PPM, and if not, what is it? Now that I'm in my mid 20s, and I work with young children, I found one of these Ideal Big Birds on Ebay in great working order.   I'm wondering if it's possible to try to re-create what the manufacturers used to create this sync code in the first place.  Sesame Street created many nice "regular" story / music tapes with Big Bird as the central character.  I thought it might be cool to take some of these (especially the Follow That Bird soundtrack) and add the sync to make my own sort of unofficial storymagic tape (just for fun, and for my students, not to sel or share, as this would be a copyright issue).      I'm wondering if some sort of 1KHz oscillator-like device could be built that has levers of some kind, which could be routed through a DAW or a mixer, which would allow one to perform along with a program, and place the appropriate modulation envelopes into the stream of PPM to place the movements?  I think there are at least two kinds of modulation in the code; that for the beak, and for the eyes.  There must be other kinds of modulation for Cookie Monster and for Oscar.  If something like this seems practical and feasible, I'd enjoy learning about it, just for the fun of it.  If it is possible, I am also wondering how or where I could have it built, and for what sort of budget, as I am far better with my ears than with the soldering iron.  I have tried and tried, to no avail, to find someone in the “talking toys” community who knows how this was originally created.  Let me know if you'd like me to send you a clip of the audio file.  Here's a link to someone else's on Youtube so that you can see what I'm talking about.  Thank you so much for taking the time to read all of this senseless ramble!! http://www.youtube.com/watch?v=xxCnmao8FAs Thanks a ton for any insights that you have!!!  I apologize in advance for the inherent nutty-ness of this post! ;)  Sincerely, Jessica

Question by jtsoundtech    |  last reply


Circuit help

So, my brother tasked me with making him a customizable doorbell for his house for Christmas (of course he didn't tell me till last week, but whatever). looked around at a bunch of stuff online and found a few decent items. some of them use those voice recorder modules from radio shack...which  might work, but I've used them before and they're pretty quiet. also, not the best sound in general from the mic used to record to them. so I found this thing http://spritesmods.com/?art=doorbell&page;=1 which is a riff on this thing http://elm-chan.org/works/sd8p/report.html  which uses an ATTINY85 to play audio via the PWM output from an SD card. I like this guy because it's gives more options for sound and is generally more "gee whiz". however, the guy built it from scrap parts and has some admitted flaws in it, notably the power supply and the audio amplifier. so, I'd like some help figuring out how to build the same thing, but with a more "correct" power supply and amplifier. also, not exactly an electronics wizard so the fact that there are a billion different chips listed as ATTINY85, I wouldn't mind if someone can make a more sensible parts list (there aren't that many parts). I plan to trigger the thing with an off the shelf wireless doorbell type thing.

Topic by crapflinger    |  last reply


Questionnaire - Help Needed please

**First of sorry if this is not the correct forum to post this in** **Bit of background, I'm Fergal from Ireland, 22, and currently studying Communications in Creative Multimedia and have a request if any of you would kindly help me** I'm doing a Virtual Ethnography assignment for a module on my course titled' User Theories' and thought Instructables would be a great online community to research as I've had the enjoyment of using it a few times for college projects. Side bar: A Virtual Ethnography is the study of people interacting in an online community. I want to look at why people give up their free time and spend a lot of time and effort to help others with tutorials. I want to also explore hierarchy within the community and see if there is any influential or highly regarded people within the community. Also just general observation of the Instructables community. So if you have time i would appreciate it immensely if you could fill in the short questionnaire below. Would really help me out a lot thanks. Look forward to hearing back from you all. Thanks!! 1 – What is your age, gender, location? 2 - How often do you visit the forum / post on the forum? 3 - How often do you browse Instructables? 4 - Do you feel the Instructables forum offers a sense of community? How does it differ to a offline Instructables community if any? 5 - Do you find it easier to communicate and voice your opinions online on the forum, than offline face to face? 6 - Does being part of the Instructables forum make you feel a sense of importance ? 7 – Have you ever met anyone from Instructables offline face to face ? [If so elaborate please, how? when? Still talk?] 8 - Do you think there's a downside to communicating online rather than just offline? 9 – What do you think is the best aspect of communicating in the Instructables forum? 10 – Do you communicate with any Instructables members on facebook/twitter or any other messenger? If so how many, how often, in depth conversations or small talk? 11 – How many projects have you made successfully from Instructables 12 – Have you ever subsequently made money from following a instructable and selling on what you made? [examples please/ elaborate] If any questions dont apply to you, please even just try answer as any feedback / knowledge about the online community will help me greatly!! If you think of anything else that is not mentioned and that would help me, i would also be grateful for this info. Thanks again, Fergal McCabe @Fergal_McCabe D00125983[at]student[dot]dkit[dot]ie​

Topic by Fergal_14    |  last reply


: Arduino + Adafruit wave sheild + IR + Keypad sound board

Hi , was wondering if you could point me in the right direction I'm very new to Arduino I built last year a simple board with adafruit wave shield and added a simple 12 digit key pad to play 12 sounds + power up I have got the codes for the KEYES IR receiver so know the IR is correctly connected and library loaded im trying to integrate the IR code so can change the sounds by IR remote ideally with option of the buttons (if have to loose the buttons and just use remote that's fine) have copied the code below for how it works now just buttons   I found some code for Cylon Pumpkin that works great with just the remote but would also like to integrate the 12 digit keypad Thank you in advance for any help or pointers you can suggest Richard CODE FOR 12 DIGIT BUTTON PRESS /* ADAVOICE is an Arduino-based voice pitch changer plus WAV playback. Fun for Halloween costumes, comic convention getups and other shenanigans! Hardware requirements: - Arduino Uno, Duemilanove or Diecimila (not Mega or Leonardo compatible). - Adafruit Wave Shield - Speaker attached to Wave Shield output - Battery for portable use If using the voice pitch changer, you will also need: - Adafruit Microphone Breakout - 10K potentiometer for setting pitch (or hardcode in sketch) If using the WAV playback, you will also need: - SD card - Keypad, buttons or other sensor(s) for triggering sounds Software requirements: - WaveHC library for Arduino - Demo WAV files on FAT-formatted SD card This example sketch uses a 3x4 keypad for triggering sounds...but with some changes could be adapted to use several discrete buttons, Hall effect sensors, force-sensing resistors (FSRs), I2C keypads, etc. (or if you just want the voice effect, no buttons at all). Connections: - 3.3V to mic amp+, 1 leg of potentiometer and Arduino AREF pin - GND to mic amp-, opposite leg of potentiometer - Analog pin 0 to mic amp output - Analog pin 1 to center tap of potentiometer - Wave Shield output to speaker or amplifier - Matrix is wired to pins A2, A3, A4, A5 (rows) and 6, 7, 8 (columns) - Wave shield is assumed wired as in product tutorial Potentiometer sets playback pitch. Pitch adjustment does NOT work in realtime -- audio sampling requires 100% of the ADC. Pitch setting is read at startup (or reset) and after a WAV finishes playing. POINT SPEAKER AWAY FROM MIC to avoid feedback. Written by Adafruit industries, with portions adapted from the 'PiSpeakHC' sketch included with WaveHC library. */ #include #include SdReader card; // This object holds the information for the card FatVolume vol; // This holds the information for the partition on the card FatReader root; // This holds the information for the volumes root directory FatReader file; // This object represent the WAV file for a pi digit or period WaveHC wave; // This is the only wave (audio) object, -- we only play one at a time #define error(msg) error_P(PSTR(msg)) // Macro allows error messages in flash memory #define ADC_CHANNEL 0 // Microphone on Analog pin 0 // Wave shield DAC: digital pins 2, 3, 4, 5 #define DAC_CS_PORT PORTD #define DAC_CS PORTD2 #define DAC_CLK_PORT PORTD #define DAC_CLK PORTD3 #define DAC_DI_PORT PORTD #define DAC_DI PORTD4 #define DAC_LATCH_PORT PORTD #define DAC_LATCH PORTD5 uint16_t in = 0, out = 0, xf = 0, nSamples; // Audio sample counters uint8_t adc_save; // Default ADC mode // WaveHC didn't declare it's working buffers private or static, // so we can be sneaky and borrow the same RAM for audio sampling! extern uint8_t buffer1[PLAYBUFFLEN], // Audio sample LSB buffer2[PLAYBUFFLEN]; // Audio sample MSB #define XFADE 16 // Number of samples for cross-fade #define MAX_SAMPLES (PLAYBUFFLEN - XFADE) // Remaining available audio samples // Keypad information: uint8_t rows[] = { A2, A3, A4, A5 }, // Keypad rows connect to these pins cols[] = { 6, 7, 8, 9 }, // Keypad columns connect to these pins r = 0, // Current row being examined prev = 255, // Previous key reading (or 255 if none) count = 0; // Counter for button debouncing #define DEBOUNCE 10 // Number of iterations before button 'takes' // Keypad/WAV information. Number of elements here should match the // number of keypad rows times the number of columns, plus one: const char *sound[] = { "Crashing" , "Damaged", "InFlight" , "PowerUp" , // Row 1 = Darth Vader sounds "Brkdown3" , "Brkdown2" , "Brkdown" , "PowerUp" , // Row 2 = Godzilla sounds "Landing", "drain" , "Shutdown" , "PowerUp" , // Row 3 = Dug the dog sounds "Silent", "TakeOff", "Vortex" , "PowerUp" , // Row 4 = Cartoon/SFX sound "PowerUp" }; // Extra item = boot sound //////////////////////////////////// SETUP void setup() { uint8_t i; Serial.begin(9600); // The WaveHC library normally initializes the DAC pins...but only after // an SD card is detected and a valid file is passed. Need to init the // pins manually here so that voice FX works even without a card. pinMode(2, OUTPUT); // Chip select pinMode(3, OUTPUT); // Serial clock pinMode(4, OUTPUT); // Serial data pinMode(5, OUTPUT); // Latch digitalWrite(2, HIGH); // Set chip select high // Init SD library, show root directory. Note that errors are displayed // but NOT regarded as fatal -- the program will continue with voice FX! if(!card.init()) SerialPrint_P("Card init. failed!"); else if(!vol.init(card)) SerialPrint_P("No partition!"); else if(!root.openRoot(vol)) SerialPrint_P("Couldn't open dir"); else { PgmPrintln("Files found:"); root.ls(); // Play startup sound (last file in array). playfile(sizeof(sound) / sizeof(sound[0]) - 1); } // Optional, but may make sampling and playback a little smoother: // Disable Timer0 interrupt. This means delay(), millis() etc. won't // work. Comment this out if you really, really need those functions. TIMSK0 = 0; // Set up Analog-to-Digital converter: analogReference(EXTERNAL); // 3.3V to AREF adc_save = ADCSRA; // Save ADC setting for restore later // Set keypad rows to outputs, set to HIGH logic level: for(i=0; i pinMode(rows[i], OUTPUT); digitalWrite(rows[i], HIGH); } // Set keypad columns to inputs, enable pull-up resistors: for(i=0; i pinMode(cols[i], INPUT); digitalWrite(cols[i], HIGH); } while(wave.isplaying); // Wait for startup sound to finish... startPitchShift(); // and start the pitch-shift mode by default. } //////////////////////////////////// LOOP // As written here, the loop function scans a keypad to triggers sounds // (stopping and restarting the voice effect as needed). If all you need // is a couple of buttons, it may be easier to tear this out and start // over with some simple digitalRead() calls. void loop() { uint8_t c, button; // Set current row to LOW logic state... digitalWrite(rows[r], LOW); // ...then examine column buttons for a match... for(c=0; c if(digitalRead(cols[c]) == LOW) { // First match. button = r * sizeof(cols) + c; // Get button index. if(button == prev) { // Same button as before? if(++count >= DEBOUNCE) { // Yes. Held beyond debounce threshold? if(wave.isplaying) wave.stop(); // Stop current WAV (if any) else stopPitchShift(); // or stop voice effect playfile(button); // and play new sound. while(digitalRead(cols[c]) == LOW); // Wait for button release. prev = 255; // Reset debounce values. count = 0; } } else { // Not same button as prior pass. prev = button; // Record new button and count = 0; // restart debounce counter. } } } // Restore current row to HIGH logic state and advance row counter... digitalWrite(rows[r], HIGH); if(++r >= sizeof(rows)) { // If last row scanned... r = 0; // Reset row counter // If no new sounds have been triggered at this point, and if the // pitch-shifter is not running, re-start it... if(!wave.isplaying && !(TIMSK2 & _BV(TOIE2))) startPitchShift(); } } //////////////////////////////////// HELPERS // Open and start playing a WAV file void playfile(int idx) { char filename[13]; (void)sprintf(filename,"%s.wav", sound[idx]); Serial.print("File: "); Serial.println(filename); if(!file.open(root, filename)) { PgmPrint("Couldn't open file "); Serial.print(filename); return; } if(!wave.create(file)) { PgmPrintln("Not a valid WAV"); return; } wave.play(); } //////////////////////////////////// PITCH-SHIFT CODE void startPitchShift() { // Read analog pitch setting before starting audio sampling: int pitch = analogRead(1); Serial.print("Pitch: "); Serial.println(pitch); // Right now the sketch just uses a fixed sound buffer length of // 128 samples. It may be the case that the buffer length should // vary with pitch for better results...further experimentation // is required here. nSamples = 128; //nSamples = F_CPU / 3200 / OCR2A; // ??? //if(nSamples > MAX_SAMPLES) nSamples = MAX_SAMPLES; //else if(nSamples < (XFADE * 2)) nSamples = XFADE * 2; memset(buffer1, 0, nSamples + XFADE); // Clear sample buffers memset(buffer2, 2, nSamples + XFADE); // (set all samples to 512) // WaveHC library already defines a Timer1 interrupt handler. Since we // want to use the stock library and not require a special fork, Timer2 // is used for a sample-playing interrupt here. As it's only an 8-bit // timer, a sizeable prescaler is used (32:1) to generate intervals // spanning the desired range (~4.8 KHz to ~19 KHz, or +/- 1 octave // from the sampling frequency). This does limit the available number // of speed 'steps' in between (about 79 total), but seems enough. TCCR2A = _BV(WGM21) | _BV(WGM20); // Mode 7 (fast PWM), OC2 disconnected TCCR2B = _BV(WGM22) | _BV(CS21) | _BV(CS20); // 32:1 prescale OCR2A = map(pitch, 0, 1023, F_CPU / 32 / (9615 / 2), // Lowest pitch = -1 octave F_CPU / 32 / (9615 * 2)); // Highest pitch = +1 octave // Start up ADC in free-run mode for audio sampling: DIDR0 |= _BV(ADC0D); // Disable digital input buffer on ADC0 ADMUX = ADC_CHANNEL; // Channel sel, right-adj, AREF to 3.3V regulator ADCSRB = 0; // Free-run mode ADCSRA = _BV(ADEN) | // Enable ADC _BV(ADSC) | // Start conversions _BV(ADATE) | // Auto-trigger enable _BV(ADIE) | // Interrupt enable _BV(ADPS2) | // 128:1 prescale... _BV(ADPS1) | // ...yields 125 KHz ADC clock... _BV(ADPS0); // ...13 cycles/conversion = ~9615 Hz TIMSK2 |= _BV(TOIE2); // Enable Timer2 overflow interrupt sei(); // Enable interrupts } void stopPitchShift() { ADCSRA = adc_save; // Disable ADC interrupt and allow normal use TIMSK2 = 0; // Disable Timer2 Interrupt } ISR(ADC_vect, ISR_BLOCK) { // ADC conversion complete // Save old sample from 'in' position to xfade buffer: buffer1[nSamples + xf] = buffer1[in]; buffer2[nSamples + xf] = buffer2[in]; if(++xf >= XFADE) xf = 0; // Store new value in sample buffers: buffer1[in] = ADCL; // MUST read ADCL first! buffer2[in] = ADCH; if(++in >= nSamples) in = 0; } ISR(TIMER2_OVF_vect) { // Playback interrupt uint16_t s; uint8_t w, inv, hi, lo, bit; int o2, i2, pos; // Cross fade around circular buffer 'seam'. if((o2 = (int)out) == (i2 = (int)in)) { // Sample positions coincide. Use cross-fade buffer data directly. pos = nSamples + xf; hi = (buffer2[pos] << 2) | (buffer1[pos] >> 6); // Expand 10-bit data lo = (buffer1[pos] << 2) | buffer2[pos]; // to 12 bits } if((o2 < i2) && (o2 > (i2 - XFADE))) { // Output sample is close to end of input samples. Cross-fade to // avoid click. The shift operations here assume that XFADE is 16; // will need adjustment if that changes. w = in - out; // Weight of sample (1-n) inv = XFADE - w; // Weight of xfade pos = nSamples + ((inv + xf) % XFADE); s = ((buffer2[out] << 8) | buffer1[out]) * w + ((buffer2[pos] << 8) | buffer1[pos]) * inv; hi = s >> 10; // Shift 14 bit result lo = s >> 2; // down to 12 bits } else if (o2 > (i2 + nSamples - XFADE)) { // More cross-fade condition w = in + nSamples - out; inv = XFADE - w; pos = nSamples + ((inv + xf) % XFADE); s = ((buffer2[out] << 8) | buffer1[out]) * w + ((buffer2[pos] << 8) | buffer1[pos]) * inv; hi = s >> 10; // Shift 14 bit result lo = s >> 2; // down to 12 bits } else { // Input and output counters don't coincide -- just use sample directly. hi = (buffer2[out] << 2) | (buffer1[out] >> 6); // Expand 10-bit data lo = (buffer1[out] << 2) | buffer2[out]; // to 12 bits } // Might be possible to tweak 'hi' and 'lo' at this point to achieve // different voice modulations -- robot effect, etc.? DAC_CS_PORT &= ~_BV(DAC_CS); // Select DAC // Clock out 4 bits DAC config (not in loop because it's constant) DAC_DI_PORT &= ~_BV(DAC_DI); // 0 = Select DAC A, unbuffered DAC_CLK_PORT |= _BV(DAC_CLK); DAC_CLK_PORT &= ~_BV(DAC_CLK); DAC_CLK_PORT |= _BV(DAC_CLK); DAC_CLK_PORT &= ~_BV(DAC_CLK); DAC_DI_PORT |= _BV(DAC_DI); // 1X gain, enable = 1 DAC_CLK_PORT |= _BV(DAC_CLK); DAC_CLK_PORT &= ~_BV(DAC_CLK); DAC_CLK_PORT |= _BV(DAC_CLK); DAC_CLK_PORT &= ~_BV(DAC_CLK); for(bit=0x08; bit; bit>>=1) { // Clock out first 4 bits of data if(hi & bit) DAC_DI_PORT |= _BV(DAC_DI); else DAC_DI_PORT &= ~_BV(DAC_DI); DAC_CLK_PORT |= _BV(DAC_CLK); DAC_CLK_PORT &= ~_BV(DAC_CLK); } for(bit=0x80; bit; bit>>=1) { // Clock out last 8 bits of data if(lo & bit) DAC_DI_PORT |= _BV(DAC_DI); else DAC_DI_PORT &= ~_BV(DAC_DI); DAC_CLK_PORT |= _BV(DAC_CLK); DAC_CLK_PORT &= ~_BV(DAC_CLK); } DAC_CS_PORT |= _BV(DAC_CS); // Unselect DAC if(++out >= nSamples) out = 0; } CODE I FOUND FOR IR  ClyonPumpkin That I want to integrate in above   /* * Text-to-speech example to speak the first n digits of pi. * The number is stored in flash, each digit is spoken one at a time. */ #include #include #include SdReader card;    // This object holds the information for the card FatVolume vol;    // This holds the information for the partition on the card FatReader root;   // This holds the information for the volumes root directory FatReader file;   // This object represent the WAV file for a pi digit or period WaveHC wave;      // This is the only wave (audio) object, since we will only play one at a time char eyesound[13]="eye2.wav"; int mute = 0; /* * Define macro to put error messages in flash memory */ #define error(msg) error_P(PSTR(msg)) // IR Remote code int RECV_PIN = 9;  // pin 11 used by SD card interface so select pin 9 for IR IRrecv irrecv(RECV_PIN); decode_results results; long lasttime=0, lastcode=0, timediff=0; //////////////////////////////////// SETUP void setup() {   // set up Serial library at 9600 bps   Serial.begin(9600);               if (!card.init()) {     error("Card init. failed!");   }   if (!vol.init(card)) {     error("No partition!");   }   if (!root.openRoot(vol)) {     error("Couldn't open dir");   }   irrecv.enableIRIn(); // Start the IR receiver } /////////////////////////////////// LOOP void loop() {   if(mute == 0) playcomplete(eyesound);   // check for keypress happened   if (irrecv.decode(&results;)) {      Serial.println(results.value, HEX);      switch (results.value) {        case 0x83228B74:    // 1          playcomplete("command.wav");          break;        case 0x83228F70:    // 2          playcomplete("entertan.wav");          break;        case 0x8322906F:    // 3          playcomplete("extermin.wav");          break;        case 0x83228A75:    // 4          playcomplete("leader.wav");          break;        case 0x8322847B:    // 5          playcomplete("survivor.wav");          break;         case 0x83227887:    // 6          playcomplete("atention.wav");          break;        case 0x8322629D:    // vol up          mute = 0;         // mute off          break;         case 0x83226E91:    // mute          { Serial.println("mute detected");            timediff=millis()-lasttime;            Serial.println(timediff);            if(lastcode!=results.value || (lastcode==results.value && (timediff>1600)) ) {               if( mute == 0 ) { // is mute off?                  Serial.println("toggle off to on");                  mute = 1;      // turn on                  // delay(1000);    // wait a bit for debounce                  break;                 }               if( mute == 1 ) { // is mute on?                  mute = 0;      // turn off                  Serial.println("toggle on to off");                  break;                 }              } // end if             break;           } // end case        } // end switch      lastcode = results.value;      lasttime = millis();      irrecv.resume();   // Receive the next value   } } /////////////////////////////////// HELPERS /* * print error message and halt */ void error_P(const char *str) {   PgmPrint("Error: ");   SerialPrint_P(str);   sdErrorCheck();   while(1); } /* * print error message and halt if SD I/O error */ void sdErrorCheck(void) {   if (!card.errorCode()) return;   PgmPrint("\r\nSD I/O error: ");   Serial.print(card.errorCode(), HEX);   PgmPrint(", ");   Serial.println(card.errorData(), HEX);   while(1); } /* * Play a file and wait for it to complete */ void playcomplete(char *name) {   playfile(name);   while (wave.isplaying);     // see if an error occurred while playing   sdErrorCheck(); } /* * Open and start playing a WAV file */ void playfile(char *name) {   if (wave.isplaying) {// already playing something, so stop it!     wave.stop(); // stop it   }   if (!file.open(root, name)) {     PgmPrintln("Couldn't open file ");     Serial.print(name);     return;   }   if (!wave.create(file)) {     PgmPrintln("Not a valid WAV");     return;   }   // ok time to play!   wave.play(); }

Topic by SithLordIII