辅导Digital Signal Processing、讲解Python设计报告、讲解Korotkoff、辅导Python语言程序
- 首页 >> Python编程Assignment 1, Digital Signal Processing: Fourier Transform
University of Glasgow
School of Engineering
Bernd Porr
2018
Form groups of two, work together and submit one report.
1. Record your voice (biomeds: Korotkoff sounds and heartbeat) with one of the supplied headsets /
microphones. Make sure that you record at least at 44kHz or higher sampling rates.
2. Load the audio sample into python and plot the audio signal in the time domain and in the frequency
domain with proper axis lables (time,frequency,amplitude). Plot the spectrum in logarithmic units.
[10%]
3. Reduce or increase certain frequencies so that your voice sounds better. For example, check out the
frequency response of the SM58 microphone (biomeds: investigate the frequency spectrum of Korotkoff
or heartbeat sounds). [40%]
4. Speech detection: Your task is to detect different speech events such as the word “hello” vs “action”.
In order to achieve this you need to record audio and then chop the audio into consecutive chunks for
example 200ms each. Then you do Fourier Transforms on these chunks and analyse the amplitudes
of different frequencies in the different chunks to determine which word has been said. You achieve
this by putting thresholds on the frequencies in the different chunks which identify a certain word.
Your program should read a sound file (or do a live recording) and then displays on the screen what
has been said or detected. A minimum of two words need to be detected and identified in a proven /
documented way. Of course you can also trigger playing music or doing other interesting actions. This
is an investigative project and it is expected that you develop a high degree of initiative here and come
up with an interesting demo. Any team which is able to present a realtime version which is able to
detect sound as it happens and films a YouTube clip will get 200%. [50%]
The report should be brief concentrating on the technical aspects and why you have done the different
steps. Complete PYTHON code must be included as an appendix and optionally on github as a fork. All
figures in the report need to be high quality graphics in vector format which stay sharp when zoomed into
them. Blurry jpeg figures or screenshots will result in zero marks. Upload your original wave files and the
results on moodle. All data needs to be originally recorded by the group and a different image needs to be
chosen. If the same data/image is found in two groups all reports will get zero marks. Also any download
from the web will result in zero marks. No high level python commands are allowed except of the fft and ifft
commands. In particular for the 2nd part structure and comment your code so that it’s easy to read. Write
your code object oriented as shown in the example.
Deadline: 22nd Oct, 3pm, Hand in your reports at the teaching office in the James Watt building and
upload a zip with all files (see moodle for naming conventions).
bernd.porr@glasgow.ac.uk