Giter Site home page Giter Site logo

ral_checkmyvoice's Introduction

Speaker Recognition with the robot NAO

Key words

  • Choregraph Nao
  • Matlab
  • Python
  • socket TCP/IP
  • FTP
  • Artificial Intelligence : neural network and machine learning
  • Biosignature

01_infrastructure 02_empreinte_acoustique

Demo : docs/nao_ral_demo_recog.mp4 and docs/nao_ral_demo_train.mp4

Summary

Talking is the main communication method for human beings. Thanks to it, we can recognize the speaker. We can even guess his mood with his voice pitch. Robots are not naturally very sensitive to the voice. We usually ask them to understand our words and then execute our orders. That will not be our target. In fact, our goal is to analyze the speaker voice and then identify him. We are going to teach the robot Nao how to recognize a voice.

We can consider Nao as a child. Indeed, we have to teach it how to analyze a voice and how to associate a sample with someone. As you must have understood, two phases are required.

  • The first one is the audio signal treatment. At first, we have to clean and normalize the signal. The next step is to extract the MFCC. MFCC means Mel-Frequency Cepstrum Coefficients. To be simple, MFCC are the main voice characteristics. They are the digital representation of a voice; it is like a signature. As the processes are quite heavy because of the many mathematical operations, we have opted to use Matlab which is a rich numerical computing environment. Matlab is omnipresent in the scientific world thanks to its performance. It would be a shame to not exploit it.

  • The second one is to associate the extracted MFCC with a name. The difficulty lies in the fact we don’t say the same sentence with the same tone or the same rhythm. Moreover, the background noise can lead to wrong results. As a consequence, we have to create a fuzzy logic, a system which can estimate the degree of resemblance. After deducing this percentage, Nao has to make a decision: does the user sounds familiar? Its decision can be possible thanks to a Neural Network. A Neural Network is like an artificial brain. It is often used in Artificial Intelligence for the machine learning, so using one seems to be the more sensible choice for our project.

If we stand back, the process is the following one. The user interacts with the robot Nao. Nao saves a portion of his voice and sends it to a server. The server analyzes the voice sample and extracts a signature with Matlab. The latter is finally associated with a user thanks to a neuronal network. Of course, Nao can solicit the server whenever it wants to check if the voice is already saved on the server.

ral_checkmyvoice's People

Watchers

 avatar  avatar

Forkers

ming0818

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.