HydrogenAudio

Hydrogenaudio Forum => Scientific Discussion => Topic started by: Bleeming on 2014-02-06 13:39:16

Title: FFT frequency analysis
Post by: Bleeming on 2014-02-06 13:39:16
Hi,

I'm new to the forum and was wondering if anyone could help me with some work I need to do for my university dissertation.
I'm planning to recreate a piano tone synthetically and spread the individual partials of the piano note across a multiple loudspeaker array.

I've never approached FFT before but could really do with some accurate audio analysis of a real piano note. I don't have matlab or anything of that nature and was wondering if anyone has some tips on where to start or if there are any softwares I should be looking in to?

I need to know the amplitudes of each partial of a piano note and their individual decay rates. I have read some papers on the decay of piano tones but they aren't generally specific enough.

Any help would be greatly appreciated!
Title: FFT frequency analysis
Post by: saratoga on 2014-02-06 17:37:49
If you're asking for a free alternative to MATLAB, there is octave.  Python is also now quite popular because of the numpy packages. It is free open source.
Title: FFT frequency analysis
Post by: DVDdoug on 2014-02-06 22:43:14
Quote
I'm new to the forum and was wondering if anyone could help me with some work I need to do for my university dissertation.
I'm planning to recreate a piano tone synthetically and spread the individual partials of the piano note across a multiple loudspeaker array.
If you are a music student, you should probably get some help...  Get someone with MATLAB experience, or at least someone with math or engineering experience to do that part of the project.

Of course if you are an engineering or science student, you should tackle the MATLAB (or MATLAB clone) and the associated math & analysis yourself.

Piano has been synthesized before, so I assume you should be able to find algorithms.  But, the best algorithms may be trade secrets.    Even if you are going to "reinvent the wheel", it's probably helpful to understand what's been done before.    I think the best MIDI instruments are now sampled (actual recorded instruments). 

Most universities have MATLAB, so you shouldn't have to buy it...  Just figure-out how to get access to it.  Or Free MATLAB Clones (http://www.dspguru.com/dsp/links/matlab-clones).

I assume you will also need a good recording of a good piano in a good room.    Regular piano music will have lots of chords, and the attack of one note/chord will overlap the decay  the previous note/chord. 

And, you'll need multiple notes across the range (maybe all 88 notes) because "character" of low/mid/high notes is different.  In fact, that might be the trickiest part...  Analyzing what changes and what stays the same when the note/pitch changes.
Title: FFT frequency analysis
Post by: romor on 2014-02-07 02:57:24
Python is also now quite popular because of the numpy packages.

As a continuation of above thought and FFT keyword search hold in post title I'd like to point to at least these sources:

FFT manipulation in Python (http://nbviewer.ipython.org/github/calebmadrigal/FourierTalkOSCON/tree/master/) (lite)
Recent book on signal processing with Python (http://nbviewer.ipython.org/github/unpingco/Python-for-Signal-Processing/tree/master/) [Springer] (advanced)

These kind of Notebooks first appeared in Mathematica AFAIK, but it's Python (IPython) where educational potential melts with options that you can actually run these on local machine to enchance various ideas apart from learning, not even mentioning reusable cell coding...
Title: FFT frequency analysis
Post by: Arnold B. Krueger on 2014-02-07 11:31:55
Hi,

I'm new to the forum and was wondering if anyone could help me with some work I need to do for my university dissertation.
I'm planning to recreate a piano tone synthetically and spread the individual partials of the piano note across a multiple loudspeaker array.

I've never approached FFT before but could really do with some accurate audio analysis of a real piano note. I don't have matlab or anything of that nature and was wondering if anyone has some tips on where to start or if there are any softwares I should be looking in to?

I need to know the amplitudes of each partial of a piano note and their individual decay rates. I have read some papers on the decay of piano tones but they aren't generally specific enough.

Any help would be greatly appreciated!



I don't know if you need a full tilt Matlab clone to do the kinds of analysis you are talking about. There's a FFT analyzer built into Audacity, the freeware audio editor, for example. There are also any number of freeware stand-alone FFT analyzers.  Google is your friend.
Title: FFT frequency analysis
Post by: AstralStorm on 2014-02-12 05:01:01
You can also use a non-FFT analyzer - any complementary filterbank will do. (Complementary means the total sum of the filterbank is a constant.)
Including nonuniform filterbanks. (with various band widths, suited for perceptual audio analysis)
Most of those options are slower than FFT though, but might have less of a delay.

If you don't actually need to know how this works, for a Linux analyzer, I recommend JAAA or JAPA. There is another powerful closed alternative called Baudline - has many useful features in addition to spectrograms, but very awkward antiquated UI.
For Windows and Mac OS X there's also plenty, every big audio editing package has one - spectrogram.