I want to create a project where my Raspberry Pi Micro-controller can listen to my parrot talking and then talk back to him. I would need my rpi to listen to some of his phrases at least 100 times so that the pi could recognize that certain phrase and then say it back to him and also to know when to use it to talk back to him. I would also like to use it to teach him new phrases and new sounds. I would like to know if this is even possible and what hardware and software I would use to go about this?

I have already asked this in the Raspberry Pi stack exchange but have recieved no answers.

  • 1
    $\begingroup$ Whether is learning is possible or not is more likely to depend on the software part. On top of that Pi is Linux and is fully capable of doing what a general Linux system can do. $\endgroup$
    – Ugnes
    Oct 24 '17 at 0:26

Typically what you probably would want to do is do the training on something other than a Raspberry Pi. I think for what you're wanting to accomplish with having a computer talk back to your parrot, you won't need anything too crazy with a bunch of GPU's - but I don't think you'll want to necessarily do the training on a Pi either.

Here are some questions I have:

  1. What are you going to plat back to the parrot? i.e. are you going to play it back random parrot sounds you found online or sounds that you've recorded? are you going to play it back what it just said? are you going to play it back a modification of what it just said?

  2. Do you want it to respond to the parrot anytime the parrot speaks? Or when the parrot "says" something specific?

I think depending on the answers to those two questions, there are a couple of different paths that you could go down.

As for the hardware of the Raspberry Pi itself, I have never done any speech recognition with it, but I have done image recognition with it via the Movidius Neural Compute Stick which according to this Quora post, may be able to be used to offload some of the processing "relatively easily".

Here are some other links you may find valuable:


This would probably best be done by training up some light model on your primary machine and then porting it to the raspi after training. Because of the lack of resources, your neural net(or similar) would likely have to be computationally inexpensive to run.

With that being said, a recurrent neural network is a very good architecture for speech recognition. I would take a look at something like this article to get you started.

Also, since it seems you are training it on your parrot's voice, make sure you have a dataset that is comprised of yours or similar parrots' voices.


Not the answer you're looking for? Browse other questions tagged or ask your own question.