0
$\begingroup$

I would like to create a application that can teach a parrot (an orange winged amazon) to learn new phrases and also interact and talk with him. My idea of how this would work is that a neural network could learn his phrases and how and when the best time is to interact with him (I wouldn't want it to be talking to him at night or when he's eating etc. Maybe it learns his sound levels for specific times of the day). Slowly over time it would then drop in new phrases back to him. Overtime my parrot would then learn the desired phrases. The Neural Network would also learn and repeat his phrases. It would also calculate how well the parrot is picking up the new phrases and in what time frame.

I would like to know how this would be done. Maybe a Generative adversarial network would be used to generate the new phrases from learning multiple samples of the parrot speaking? But then would the new phrases be proper words?. Maybe a list of desired words and phrases would need to be supplied. How would I generate the phrases that he already knows without just playing back a recording of him?

The hardware such as a Raspberry Pi could be used just to record and play the samples and send to and from a server which is used to train the network.

$\endgroup$
1
  • 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, 2017 at 0:26

2 Answers 2

2
$\begingroup$

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:

$\endgroup$
1
$\begingroup$

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.

$\endgroup$

Not the answer you're looking for? Browse other questions tagged .