Recall that our CTO got his hands on some Raspberry Pi computers and held an internal Autodesk contest to supply them to software developers.
One of the recipients was Software Architect for Solver Technology Research, Franco Costa. I reported on his initial progress on using the Raspberry Pi to train his parrot to talk.
Franco sent me an email describing his progress, and I thought I would share it with you.
Since getting the basic Raspberry Pi system working, I have been hard at work of acquiring the components needed for my project: installing, learning, and implementing the specifics I needed. The components I am using are Python and open source softwares: Friture (running on Python) and Audacity (pre-compiled). Learning how to source and install onto Linux all the Python libraries which were required by Friture, including Cython, was one of the learning steps for me, but it is hardly ground breaking, being a basic aspect of using Python applications on Linux (not unique to the Raspberry Pi).
Last week (while on leave) I finished the modifications to Friture which completed my customized implementation, so now I have a working system which can deliver what I set out to do. Based on the frequency spectrum breakdown of voices detected, the Raspberry Pi can now play back selected phrases for the parrot to learn:
-
When the parrot's voice is detected, the Raspberry Pi will play the new phrase I want him to say whenever requesting food. Food is currently his only trigger for speaking. Whenever he sees us with food, he says "Hello Billy" — meaning that he wants some food (not exactly an appropriate phrase, but fun all the same). My aim has been to retrain him to say something more appropriate.
-
When my voice is detected, the Raspberry Pi will play a greeting to me which I want the parrot to learn to mimic.
-
If I can get enough differentiation between frequency spectrums inputs, I will also add individual greetings for other family members.
Whether the parrot manages to learn these new phrases will take time. They are said to be hard to re-train once adult. This bird was already 18 years old when he first came to us a few months ago, but their life expectancy can be as high as 80 years.
Apart from the overall project outcome, there may also be a few other nuggets of generally useful information which could be written up at some stage, such as avoiding unnecessary CPU drains. Unlike some of the other Raspberry Pi winners, I choose to do all my development directly on the Raspberry Pi, not through SSH or by cross-compiling from more expensive systems. Part of my rationale was to demonstrate that the Raspberry Pi could be used as the complete package rather than just a peripheral downstream device.
Franco's parrot is a lovely bird - beautiful plumage. The Raspberry Pi is a lovely computer - beautifully programmable.
Computer-aided bio-mimicry is alive in the lab.