| Reply | « Previous Thread | Next Thread » |
|
I need a free guitar tuner for my 6680, but looks like none of the existing ones is compatible.
So I'd like to write it by myself. I collected some documentation with google, so I know that I need to perform a Fast Fourier Transformation on the captured sound; being pys60 not able to process real-time microphone input, I'll have to record small chunks of sound to WAV file and analyze them. I found a python example, but I can't figure out how FFT fucntion works. I also found that probably pymedia or numpy or numarray modules would be suitable for this task, but I can't understand if they are available for pys60. Any idea? I guess it should be enough to pass to the FFT function above just a simple array containing all raw samples contained in the WAV file, putting to "0" the imaginary part.... Is this correct?!? Any help would be appreciated... |
|
I haven't had time to get into python programming yet so I can't help with the module availability.
However, FFTs I can help with. That must really be the slowest FFT in the world, even without having to run it in Python. You should just be able to pass it the raw sample data though and the algorithm accepts real numbers (note, this version almost certainly won't work on integers properly, fractional parts will be used in the calculations, not sure how Python handles that). That transforms your data from the time domain to the frequency domain. After that the sample with the greatest magnitude should correspond to the frequecy of the note you are playing - working out what that frequency is will be slightly less easy I suspect. I had a quick google for guitar tuners (I'd quite like one too) and assuming it's still available this one: http://www.handango.com/ampp/store/P...oductId=199274 Is only $6.29 and supports the 6680. That's nearly free. Particularly compared to the time it would take you to develop it to this level. While I'm all for Python and rapid prototyping I think you might find the delays involved in trying to do the FFT like that make the application a bit less usable than you'd like. Sorcery |
| Sorcery-ltd |
| View Public Profile |
| Find all posts by Sorcery-ltd |
|
P.S. If you do still want to go down the free open source tuner route I think an FFT extension module for Python could be really useful. If no-one else does one I might make that my next hobby project... I'll probably have time before the end of next year at least! If someone else wants to do it first I'd be happy to help with debugging.
|
| Sorcery-ltd |
| View Public Profile |
| Find all posts by Sorcery-ltd |
|
Quote:
![]() Ah, wait... maybe you are talking about the source I posted?? In that case... maybe you can explain better how I should use that function? ![]() Quote:
![]() Quote:
): numarray, numpy, scipy modules already exist and are opensource... ![]() |
|
@cassioli:
You should implement FFT in C++ for making a fast python extension module ! There's a very large choice of source code on FFT ... BR Cyke64 pys60 1.4.5,1.9.7,pygame,PyS60 CE on E90 , N810 with Python 2.5.2 and ... last PyS60 1.9.7 with touch ui on 5800 ! pys60 extension modules on http://cyke64.googlepages.com/ |
|
Quote:
Anyway I guess I do NOT need such a fast algorithm: for guitar tuning, analyzing a sample of just 1 second or 2 sholuld be enough. |
|
Hi,
Quote:
Quote:
Then you could just have functions to get the current sound frequency in Python for guitar tuner and all the audio stuff could be done in C++ in real time. Sorcery |
| Sorcery-ltd |
| View Public Profile |
| Find all posts by Sorcery-ltd |
|
Have you tried Musician?
I quickly found a link at http://www.allaboutsymbian.com/softw...m/Musician.php. I'm not sure if this is the author webpage. LFD Devices: Nokia E61 3rd Edition - pys60 1.4.0 Tips and modules: http://www.lfdm.net/thesis |
|
Quote:
![]() He want a real time sampler what he play with his instrument so he need a FFT ! The software you link is a very simple sound emitter of fixed freq. Read the entire thread before commenting ![]() Cyke64 pys60 1.4.5,1.9.7,pygame,PyS60 CE on E90 , N810 with Python 2.5.2 and ... last PyS60 1.9.7 with touch ui on 5800 ! pys60 extension modules on http://cyke64.googlepages.com/ |
|
Hello
So It means a new module for real time tunning of Guitar! Great! Waiting ![]() Best Regards croozeus
Last edited by croozeus : 2007-12-02 at 15:26.
Reason: Corrected: playing to tunning :-)
|
|
Quote:
lfd, a program like that one is as simple that... I already wrote it, in OPL, for UIQ. But it is useless for me, I'm not able to compare guitar sounds to phone-generated sounds. I thought about making the phone play a pre-recorded guitar (tuned ) sound... but I never implementd it.Having a REAL tuner would be much better! |
|
Hi !
I'm really interested in realtime pitch identification, but not for a guitar tuner. I'd like to develop a voice pitch mouse controller, for disabled people. Unfortunately, I haven't found something useful (python related) |
|
thanks for giving me a new clue to do a google search!
So I found tcSnack python module, which allows pitch detection! http://www.speech.kth.se/snack/man/s...ython-man.html But I couldnt find a pys60 port.... |
|
I am developing a strobe tuner emulation using PyS60 and a Python extension for audio steaming, FFT, and calculating the phase for the strobe display. Right now its working except for pitch detection. Once everything is cleaned up I will post the sources. Anyway, it looks like this:
http://img87.imageshack.us/img87/279...hot0001ec5.png |
|
cool.
I stay tuned. ![]() |
| Reply | « Previous Thread | Next Thread » |
| Thread Tools | Search this Thread |
|---|---|
| Rate This Thread | |
| Thread | Thread Starter | Forum | Replies | Last Post |
|---|---|---|---|---|
| Please help installing Python libraries on S60 | ericroijen | Python | 11 | 2009-07-18 11:43 |
| Could we have a Guitar Tuner? | resolectric | General Discussion | 12 | 2008-10-23 22:34 |
| [announce] PyUIQ. Python for UIQ 2.1 and 3.x | OscarBernabeu | Python | 35 | 2008-01-17 10:12 |
| [announce] the first Mobile Python book is now available ! | cyke64 | Python | 1 | 2008-01-08 10:58 |
| [announce] Mobile Python book soon in Sept 2007 ! | cyke64 | Python | 11 | 2007-10-03 20:46 |