Answers.Body: <p>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.</p>
  
  <p>With that being said, a recurrent neural network is a very good architecture for speech recognition. I would take a look at something like <a href="https://medium.com/@ageitgey/machine-learning-is-fun-part-6-how-to-do-speech-recognition-with-deep-learning-28293c162f7a" rel="nofollow noreferrer">this article</a> to get you started. </p>
  
  <p>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.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-10-22T21:48:21.397Z
Answers.LastActivityDate: 2017-10-22T21:48:21.397Z
Answers.UserDisplayName: hisairnessag3
Answers.Body: <p>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. </p>
  
  <p>Here are some questions I have:</p>
  
  <ol>
  <li><p>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?</p></li>
  <li><p>Do you want it to respond to the parrot anytime the parrot speaks? Or when the parrot "says" something specific?</p></li>
  </ol>
  
  <p>I think depending on the answers to those two questions, there are a couple of different paths that you could go down.</p>
  
  <p>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 <a href="https://www.movidius.com/" rel="nofollow noreferrer">Movidius Neural Compute Stick</a> which according to <a href="https://www.quora.com/Can-the-Movidius-Neural-Compute-stick-accelerate-models-that-aren%E2%80%99t-vision-such-as-speech-recognition-models" rel="nofollow noreferrer">this Quora post</a>, may be able to be used to offload some of the processing "relatively easily".</p>
  
  <p>Here are some other links you may find valuable:</p>
  
  <ul>
  <li>Tensorflow speech recognition: <a href="https://github.com/pannous/tensorflow-speech-recognition" rel="nofollow noreferrer">https://github.com/pannous/tensorflow-speech-recognition</a>
  
  <ul>
  <li>The YouTube video that the above repo references: <a href="https://www.youtube.com/watch?v=u9FPqkuoEJ8" rel="nofollow noreferrer">https://www.youtube.com/watch?v=u9FPqkuoEJ8</a></li>
  </ul></li>
  <li>How to control a raspberry pi with your voice: <a href="http://www.techradar.com/how-to/how-to-control-the-raspberry-pi-with-your-voice" rel="nofollow noreferrer">http://www.techradar.com/how-to/how-to-control-the-raspberry-pi-with-your-voice</a></li>
  <li>Voice recognition software setup on Raspberry Pi: <a href="https://diyhacking.com/best-voice-recognition-software-for-raspberry-pi/" rel="nofollow noreferrer">https://diyhacking.com/best-voice-recognition-software-for-raspberry-pi/</a></li>
  </ul>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2018-01-03T06:29:05.930Z
Answers.LastActivityDate: 2018-01-03T06:29:05.930Z
Answers.UserDisplayName: Joshua Terrill
Body: <p>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.</p>
  <p>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?</p>
  <p>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.</p>
  
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-10-24T00:26:58.140Z
Comments.Text: 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.
Comments.UserDisplayName: Ugnes
Tags: <machine-learning><emotional-intelligence>
Title: Could the Raspberry Pi do Audio Learning with a Parrot?
UserDisplayName: Matthew Haywood
ThreadText: # Could the Raspberry Pi do Audio Learning with a Parrot?
  
  (Asked by: username_0 on 2017-10-22)
  
  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.
  
  **Tags:** machine-learning, emotional-intelligence
  
  > **Comments:**
  > **username_1**: 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.  
  
  ---
  
  ## 2 answers
  
  ### Answer by username_3 on 2018-01-03. Score: 2 | Accepted answer
  
  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](https://www.movidius.com/) which according to [this Quora post](https://www.quora.com/Can-the-Movidius-Neural-Compute-stick-accelerate-models-that-aren%E2%80%99t-vision-such-as-speech-recognition-models), may be able to be used to offload some of the processing "relatively easily".
  
  Here are some other links you may find valuable:
  
  * Tensorflow speech recognition: <https://github.com/pannous/tensorflow-speech-recognition>
    + The YouTube video that the above repo references: <https://www.youtube.com/watch?v=u9FPqkuoEJ8>
  * How to control a raspberry pi with your voice: <http://www.techradar.com/how-to/how-to-control-the-raspberry-pi-with-your-voice>
  * Voice recognition software setup on Raspberry Pi: <https://diyhacking.com/best-voice-recognition-software-for-raspberry-pi/>
  
  
  ---
  
  ### Answer by username_2 on 2017-10-22. Score: 1
  
  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](https://medium.com/@ageitgey/machine-learning-is-fun-part-6-how-to-do-speech-recognition-with-deep-learning-28293c162f7a) 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.
  
  
  ---
  
  