Vocal Isolating and Amplifying Headphones

From Mindworks
Jump to navigation Jump to search

The goal of this project is to create a headphone system that isolates the vocals in a media stream and amplify them to increase intelligibility.

SoundAssist
Client James Frenzel
Mentor Feng Li
Sponsor Uidaho ECE
Team Name Sound Assist
Team Members Alex Inskeep, Adam Seubert
Duration Spring 2017 - Fall 2017



Problem Definition[edit | edit source]

Background[edit | edit source]

The goal of this project is to create a device that assists the hard of hearing in picking out and distinguishing human vocals, in media like television and film, from background noise and other sounds that can distract from overall speech intelligibility. This is being explored from several different approaches, first is a simple filter that lowers the perceived volume of non-human speech frequencies while leaving the spectrum that the human voice commonly falls in (1-5kHz) untouched. This method has the drawback of not attenuating noises that are non-human in origin but occupy the same frequency range. The second approach is to utilize a blind source separation algorithm (BSS) to analyse and separate the individual components that make up the mixed audio signal. This will allow us to extract the human speech from the signal and amplify it separately from the source signal before remixing at the output of the device. The drawback to this method is the processing time required to perform the BSS, which could delay the audio signal by enough for the offset from the video signal to be noticeable.

Deliverables[edit | edit source]

  • Raspberry Pi with sound card and auto running code
  • Peripherals such as headphones, RCA cables, and power cables
  • Documented code for Future iterations

Specifications[edit | edit source]

Required
Request Specification
Client would like a vocal audio to become clearer to listen to Vocal audio range to be variably increased from +0db to +10db
Client would like a reduction in background noise and nonspeech An reduction in nonspeech noise by variable -0db to -10db
Optional
Request Specification
Client would like the device to be wireless from the audio source Design must only have wires at the device for headphones and power.
Client would like the device to support multiple users Allow for full range of options to multiple hearing outputs
Client would like the device to have learning capabilities Create a learning system to tune user specific Equalization values.

Design[edit | edit source]

We are developing two possible solutions to the problem statement but both using the Raspberry Pi. This two pronged approach will allow us to deliver the best possible product.

2017 soundassist systemPic.jpg

Raspberry Pi and Sound Card[edit | edit source]

Our design uses a Raspberry Pi and a sound card to interface with the external media. The Raspberry Pi is used as an IO unit and as a signal processor for either the Real Time Equalizer of the Blind Source Separation.

Pyaudio and Real Time Equalizer[edit | edit source]

Using a python package, Pyaudio, the pi can sample the RCA input and process it in chunks. Each chunk is separated into channels and then independently processed. Each channel is ran through a bandpass equalizer that aims to retain the human voice (1k-5k Hz). This is then added back to the original mix with a scalar multiplier. This is then sent to the output RCA jacks for the user to enjoy. this

Blind Source Separation[edit | edit source]

This is an unsolved problem in signal processing, but there are various algorithms that give good approximations for separating various types of mixed signals. One that we are trying to get working for our problem is DUET. It is a python package that excels at separating the human voice from audio. We plan to run the audio stream through duet and then mix the human voice back into the original mix with a scalar multiplier.

Verification[edit | edit source]

Verification for this product is mostly subjective to the user. We revived feedback from local testers to help improve our product. You can try it for yourself in our Duet example below!


section 1. Original track
section 2. DUET isolated vocals
section 3. A mixing between section 1 and 2
section 4. Original track for reference

File:DUET Demo.mp3





Team Information[edit | edit source]

2017 soundassist alex.jpg
Alex Inskeep Interests: 'Cars, Computers, Hunting'
Computer Engineering
Hometown: Boise, Idaho
Email: insk8626@vandals.uidaho.edu
2017 SoundAssist pic2.jpg
Adam Seubert Interests: 'Hiking, Playing Drums, and Guitar'
Electrical Engineering
Hometown: Lewsiton, Idaho
Email: seub3049@vandals.uidaho.edu

Document Archive[edit | edit source]

File:Aound Assist Preliminary design review slides.pdf
File:Sound Assist Detailed design review slides.pdf
File:Sound Assist Final Presentation slides.pdf
File:Sound Assist team contract.pdf
File:Sound Assist Signed client contract.pdf

File:Sound Assist meeting minutes 2-9-17.pdf
File:Sound Assist meeting minutes 2-16-17.pdf
File:Sound Assist meeting minutes 3-1-17.pdf
File:Sound Assist meeting agenda 3-22-17.pdf
File:Sound Assist meeting minutes 3-22-17.pdf