Arduino based hearing aid device

In this work, we have implemented a hearing aid device using an Arduino Gemma M0 microcontroller as the central processing unit.

Our idea is to manufacture our own version of a hearing aid device, one that would be much cheaper than the basic devices that are in the market, but with even greater quality and noise reduction abilities. Our main innovation is the use of a cheap Arduino micro controller as the central DSP unit, while providing the peripheral circuitry required for the system operation.
Our demands from this device were:
• Cheap. Maximum target manufacturing price is 300₪.
• Good sound quality, at least as good as our competitors at higher price ranges.
• Noise reduction abilities.
• Easy to use, both for technician at the lab and for the user at home.
Input stage (Analog)
Receives the microphone input signal and performs the following:
• Filters out frequency components that are irrelevant, mainly to avoid aliasing.
• Amplifies the microphone signal for maximum ADC read resolution
• Adds bias to signal before moving on the ADC
Arduino stage (Software)
The software block, performs the following
• Reads in the ADC values
• Performs the DSP code
• Sends the result out to an Analog output through DAC
Output stage (Analog)
• High power stage that drives the signal from the Arduino DAC output into the Speaker load.
Implementation
The built modules and code blocks
Testing Matrix
The input and output stages were conceived as discrete components and wires, implemented on a testing matrix. The micro controller, microphone and speaker were connected to the matrix with coaxial cables and wires.
The hearing aid device DSP algorithm
The hearing aid main algorithm was implemented on the Arduino Gemma M0 micro controller based on the following block scheme:
• Filter Bank: 10 Band pass filters at different center frequencies to divide the signal into hearing frequency bands.
• Gain Bank: each band receives a gain which is determined by the hearing loss factor at that band. Each gain is chosen by the user or the technician at the lab.
• Noise Reduction Filter: A Noise reduction LTI filter, implemented using deep learning.

The hearing aid device noise reduction algorithm
In order to get decent noise reduction results using minimal calculations, we decided to experiment with data driven filter using Machine Learning. We used the noisy speech samples dataset published by the University of Edinburgh [1]. This dataset contains noisy and clean versions of speech samples, which can be used to train noise reduction models using Supervised Learning methods. In our project, we used a linear filter which is computationaly cheap.
The trained filter was able to slightly but noticably emphasize the speaker’s voice in relation to the background noise. We a very simple model, and there is a plenty of room for further research using a non linear filter using a Deep Neural Network architecture.