Projets-2015-2016-Sonotone-SRS: Difference between revisions
(21 intermediate revisions by 2 users not shown) | |||
Line 37: | Line 37: | ||
The Hearing aid is a technology well-knowned and well-used to correct impaired hearing. Designed to amplify sound for the wearer, this type of device requires a large amount of knowledge in signal process, electronics , software development and about the functionning of a human ear. For this project, we only focused on the software aspect. |
The Hearing aid is a technology well-knowned and well-used to correct impaired hearing. Designed to amplify sound for the wearer, this type of device requires a large amount of knowledge in signal process, electronics , software development and about the functionning of a human ear. For this project, we only focused on the software aspect. |
||
The main problem |
The main problem when someone acquire a hearing aid is that you need to see a audioprothésis. The time and the money you will spend in a sonotone is not related to the technology but to the adjustements of the prosthesis. |
||
The main goal of this project is to allow any user to |
The main goal of this project is to allow any user to adjust his hearing aid by himself. This will be made by our software which allows to simply modify the frequences heard with an equalizer. |
||
==1.3 Definitions, acronyms and abbreviations== |
==1.3 Definitions, acronyms and abbreviations== |
||
Line 48: | Line 48: | ||
==1.4 References== |
==1.4 References== |
||
'''Fiche''' |
|||
Wikipedia : https://en.wikipedia.org/wiki/Hearing_aid |
|||
http://air.imag.fr/index.php/Projets-2015-2016-Sonotone |
|||
'''Home Page''' |
|||
http://air.imag.fr/index.php/Sonotone |
|||
==1.5 Overview of the remainder of the document== |
==1.5 Overview of the remainder of the document== |
||
Line 54: | Line 60: | ||
==2.1 Product perspective== |
==2.1 Product perspective== |
||
The main aim of the project is to provide |
The main aim of the project is to provide a new type of software in hearing aids. The software will allow partially deaf people to adjust their sonotone themsleves. |
||
==2.2 Product functions == |
==2.2 Product functions == |
||
Line 61: | Line 67: | ||
Apply a gain on differents range of frequency |
Apply a gain on differents range of frequency |
||
Use an audiogram to set the parameters of our software |
|||
Apply these filters on real-time signal |
|||
==2.3 User characteristics== |
==2.3 User characteristics== |
||
The User is able to change the parameters of the filters apply on the surrounding sound |
The User is able to change the parameters of the filters apply on the surrounding sound |
||
After making his audiogram's results, the user is able to set his hearing aid. |
|||
With the advanced options, the user is able to apply any filters he want at specify frequency. |
|||
==2.4 General constraints== |
==2.4 General constraints== |
||
We don't know precisely the hardware caracteristics of a hearing aid. Especially the speed of the processor, the microphone, the amplifier and how the sound is restituated. |
We don't know precisely the hardware caracteristics of a hearing aid. Especially the speed of the processor, the microphone, the amplifier and how the sound is restituated. |
||
Python module : NUMPY SCYPI |
|||
Real-time : PYAUDIO |
|||
==2.5 Assumptions and dependencies== |
==2.5 Assumptions and dependencies== |
||
Line 82: | Line 100: | ||
==3.1 Requirement X.Y.Z (in Structured Natural Language)== |
==3.1 Requirement X.Y.Z (in Structured Natural Language)== |
||
'''Function''': Amplifying sounds to enable people who have hearing problems to hear properly |
|||
'''Function''': |
|||
'''Description''': The sonotone captures any sound and aplifies the wanted frequencies with the adapted gain |
|||
'''Description''': |
|||
'''Inputs''': |
'''Inputs''': Settings according to the person's audiogram |
||
'''Source''': |
'''Source''': Ambient noise (including people talking) |
||
'''Outputs''': |
'''Outputs''': Same ambient noise with given frequencies amplified |
||
'''Destination''': This device is designed to be used by patially deaf people to replace the cost of a hearing aid specialist |
|||
'''Destination''': |
|||
'''Action''': |
'''Action''': |
||
* Signal processing of the sound that comes in. Apply the needed filters to the sound with python modules so that the sound coming out is audible by the partially deaf user |
|||
* Natural language sentences (with MUST, MAY, SHALL) |
|||
* Sets the adequate filters with the initial settings to be able to do live processing |
|||
* Graphical Notations : UML Sequence w/o collaboration diagrams, Process maps, Task Analysis (HTA, CTT) |
|||
* Mathematical Notations |
|||
* Tabular notations for several (condition --> action) tuples |
|||
'''Non functional requirements''': |
'''Non functional requirements''': |
||
* Easy to use : friendly interface |
|||
* Relatively cheap : has to be less expensive than the hearing aid specialist consultation |
|||
'''Pre-condition''': |
'''Pre-condition''': |
||
Line 109: | Line 127: | ||
=4. Product evolution= |
=4. Product evolution= |
||
'''Improved Filters :''' |
|||
As for now, our filters are not as good as professional filters. They are efficient enough for our live equalizer but we still observe saturation and interference on some frequencies. That could be fixed by starting over every filters with other techniques and hence it could be an evolution of the software. |
|||
'''A feature that apply the correct filters directly from an audiogram by parsing it:''' |
|||
The raw audiogram would be given to the software and the correct filters would be applied automatically to create the "perfect" correction without having to touch yourself the frequencies and filters. |
|||
=5. Appendices= |
=5. Appendices= |
||
'''Improved the user interface:''' |
|||
A live overview of the filters applied could be added to improve the user experience. With such a feature, the user would be able to visualize how the signal is actually modified by the filters he decided to apply. |
|||
=6. Index= |
=6. Index= |
||
https://sourceforge.net/projects/equalizerapo/ |
|||
https://sites.google.com/site/haskell102/home/frequency-analysis-of-audio-file-with-python-numpy-scipy |
|||
http://stackoverflow.com/questions/2356779/importing-sound-files-into-python-as-numpy-arrays-alternatives-to-audiolab |
|||
https://github.com/tmwoz/pyEQ |
|||
http://docs.scipy.org/doc/scipy-0.15.1/reference/signal.html |
|||
https://scipy.github.io/old-wiki/pages/Cookbook/FIRFilter.html |
|||
http://www.blog-audioprothesiste.fr/tag/traitement-du-signal/ |
|||
http://zone.ni.com/reference/en-XX/help/371325F-01/lvdfdtconcepts/notch_peak_filters/ |
|||
http://www.dsprelated.com/showcode/169.php |
|||
https://gist.github.com/endolith/5455375 |
|||
https://gist.github.com/ttm/3851044 |
|||
http://scipy.github.io/old-wiki/pages/Cookbook/ApplyFIRFilter |
|||
http://www.dsprelated.com/freebooks/sasp/ |
|||
http://www.musicdsp.org/files/Audio-EQ-Cookbook.txt |
|||
https://developer.mbed.org/handbook/SciPy-FIR-Filter |
Latest revision as of 07:33, 5 April 2016
The document provides a template of the Software Requirements Specification (SRS). It is inspired of the IEEE/ANSI 830-1998 Standard.
Read first:
- http://www.cs.st-andrews.ac.uk/~ifs/Books/SE9/Presentations/PPTX/Ch4.pptx
- http://en.wikipedia.org/wiki/Software_requirements_specification
- IEEE Recommended Practice for Software Requirements Specifications IEEE Std 830-1998
Version | Date | Authors | Description | Validator | Validation Date | |
---|---|---|---|---|---|---|
0.1.0 | January 18, 2016 | HATTINGUAIS Julian, LECORPS Germain, VOUTAT Manuel | Creation of the document | TBC | TBC |
1. Introduction
1.1 Purpose of the requirements document
The Software Requirements Specification (SRS) is a document describing the software system of our project: Sonotone adjustable by its user. It describes how the system is supposed to work with functional and non functional requirements.
1.2 Scope of the product
The Hearing aid is a technology well-knowned and well-used to correct impaired hearing. Designed to amplify sound for the wearer, this type of device requires a large amount of knowledge in signal process, electronics , software development and about the functionning of a human ear. For this project, we only focused on the software aspect.
The main problem when someone acquire a hearing aid is that you need to see a audioprothésis. The time and the money you will spend in a sonotone is not related to the technology but to the adjustements of the prosthesis.
The main goal of this project is to allow any user to adjust his hearing aid by himself. This will be made by our software which allows to simply modify the frequences heard with an equalizer.
1.3 Definitions, acronyms and abbreviations
Hearing aid / Sonotone : an electroacoustic device which is designed to amplify sound for the wearer
Hard of hearing person : A person whoch is partially deaf.
1.4 References
Fiche
http://air.imag.fr/index.php/Projets-2015-2016-Sonotone
Home Page
http://air.imag.fr/index.php/Sonotone
1.5 Overview of the remainder of the document
2. General description
2.1 Product perspective
The main aim of the project is to provide a new type of software in hearing aids. The software will allow partially deaf people to adjust their sonotone themsleves.
2.2 Product functions
Apply differents filters on surrounding sound
Apply a gain on differents range of frequency
Use an audiogram to set the parameters of our software
Apply these filters on real-time signal
2.3 User characteristics
The User is able to change the parameters of the filters apply on the surrounding sound
After making his audiogram's results, the user is able to set his hearing aid.
With the advanced options, the user is able to apply any filters he want at specify frequency.
2.4 General constraints
We don't know precisely the hardware caracteristics of a hearing aid. Especially the speed of the processor, the microphone, the amplifier and how the sound is restituated.
Python module : NUMPY SCYPI
Real-time : PYAUDIO
2.5 Assumptions and dependencies
The Hardware part is composed of a small processor with a low calcul capacity. Our software has thereofore to be performant and well optimized.
3.Specific requirements, covering functional, non-functional and interface requirements
- document external interfaces,
- describe system functionality and performance
- specify logical database requirements,
- design constraints,
- emergent system properties and quality characteristics.
3.1 Requirement X.Y.Z (in Structured Natural Language)
Function: Amplifying sounds to enable people who have hearing problems to hear properly
Description: The sonotone captures any sound and aplifies the wanted frequencies with the adapted gain
Inputs: Settings according to the person's audiogram
Source: Ambient noise (including people talking)
Outputs: Same ambient noise with given frequencies amplified
Destination: This device is designed to be used by patially deaf people to replace the cost of a hearing aid specialist
Action:
- Signal processing of the sound that comes in. Apply the needed filters to the sound with python modules so that the sound coming out is audible by the partially deaf user
- Sets the adequate filters with the initial settings to be able to do live processing
Non functional requirements:
- Easy to use : friendly interface
- Relatively cheap : has to be less expensive than the hearing aid specialist consultation
Pre-condition:
Post-condition:
Side-effects:
4. Product evolution
Improved Filters :
As for now, our filters are not as good as professional filters. They are efficient enough for our live equalizer but we still observe saturation and interference on some frequencies. That could be fixed by starting over every filters with other techniques and hence it could be an evolution of the software.
A feature that apply the correct filters directly from an audiogram by parsing it:
The raw audiogram would be given to the software and the correct filters would be applied automatically to create the "perfect" correction without having to touch yourself the frequencies and filters.
5. Appendices
Improved the user interface:
A live overview of the filters applied could be added to improve the user experience. With such a feature, the user would be able to visualize how the signal is actually modified by the filters he decided to apply.
6. Index
https://sourceforge.net/projects/equalizerapo/
http://docs.scipy.org/doc/scipy-0.15.1/reference/signal.html
https://scipy.github.io/old-wiki/pages/Cookbook/FIRFilter.html
http://www.blog-audioprothesiste.fr/tag/traitement-du-signal/
http://zone.ni.com/reference/en-XX/help/371325F-01/lvdfdtconcepts/notch_peak_filters/
http://www.dsprelated.com/showcode/169.php
https://gist.github.com/endolith/5455375
https://gist.github.com/ttm/3851044
http://scipy.github.io/old-wiki/pages/Cookbook/ApplyFIRFilter
http://www.dsprelated.com/freebooks/sasp/