# vatbub/HearingAidAndroid

A hearing aid app for android
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
AndroidLowLatencyAudioTestApp
AndroidProAudioTestApp
app
icons
media
paper
.gitignore
.travis.yml
HearingAid-d4e4b3143662.json.enc
ci.local.properties

# HearingAidAndroid

This application aims to do one simple task: Record the microphone sound, amplify it and play it back on the user's headphones to act as a simple, yet powerful hearing aid.

Hang on, we've just started. But once the app is in a publishable state, it will be published to the google play store. But for now, you need to clone the repo and build it for yourself in Android Studio.

Our CI publishes the latest development build here.

## Features

• Stream the amplified mic sound to the headphones
• Stream in realtime (~10 ms delay, on supported devices)
• Apply an equalizer to match personal hearing loss
• Easy setup wizard

(Unchecked items are still on our to do list)

## The paper

Yes, we are publishing a scientific paper about the app. Since the app is not finished yet, the paper isn't neither but you can have a look at its current version in the folder paper.

## Build

1. Clone the repo
2. Create a file called local.properties according to the instructions below.
3. Install the Superpowered SDK by running gradlew installSuperpowered cleanSuperpoweredDownload (see below for more details)
4. Run gradlew build (./gradlew build on *nix)

### The local properties file

All Android projects require a file called local.properties that contains info about the location of your Android SDK. For this project, the local.properties file requires additional attention as the app utilizes the Superpowered SDK for fast audio processing.

The local.properties file should be located in the repository root and should look like this:

ndk.dir=/path/to/ndk/without/a/terminating/slash
sdk.dir=/path/to/sdk/without/a/terminating/slash
superpowered.dir=/path/to/the/repository/root/Superpowered/


Important: If you use Windows, use \\ as your path delimiter for ndk.dir and sdk.dir (instead of the usual \ ). For superpowered.dir, please use / much like on Linux and Mac. This is due to cmake being weird.

Note: All : must be escaped, i. e. Windows paths should start like this: C:\path\\to\\sdk or D:\path/to/repo/root/Superpowered/

This project uses the superpowered sdk for fast audio processing. To download the sdk, you must run ./gradlew installSuperpowered cleanSuperpoweredDownload. This will download, unzip and install the sdk. To uninstall the sdk again, run gradlew deleteSuperpowered.

### Why is the build so incredibly slow?

To be honest, we don't know too much why. It's probably due to cmake taking ages to compile the C++ code. All we know for sure is that incremental builds should be faster than the initial build.

TL;DR Use the gradle daemon if possible, incremental builds will be faster