We've sent a verification link by email
Didn't receive the email? Check your Spam folder, it may have been caught by a filter. If you still don't see it, you can resend the verification email.
Started September 19th, 2006 · 49 replies · Latest reply by HardPCM 16 years, 7 months ago
I'm working on that first,
I try will find the time to make it
because I think that the Bram source
to generate the centroid are not open source.
I will name it HWAV2CTD, give me two weeks.
In the same time,
I work on my own project named HSND2IMG
that can the same thing but everything integrated and optimised,
with more usefull option if I have the time,
and use an fixed buffer size
because Bram use an unfixed buffer
so when you process an one hour sound file
the buffer become really big and you lose many memory resources.
But in regular case sound file are small so we can ignore that and everyones is happy :roll:
An First build release of HSND2IMG will be done on one month or two.
I will give new...
sure,
but I want to release that with
the less problems possible
and some additionnal options,
for now It give real exellent/good result
but this is just an centroid computation
now i need some minor info from Bram
and I must finalize minor things
but everything will be done after the
Bram"s travel I hope
Yes check at:
http://code.google.com/p/wav2ctd/
for now only the source is available in the trunk repertory
I will put an compiled zipped files for win32 nearly
mike_eci
Is the source compilable on linux? Haven't had much joy using gcc, have both fftw and libsndfile.
It will build. Here's how:
First, the shared libraries
You said you already had libsndfile and fftw, but for the benefit of those who don't, here is what you do:
First go get libsndfile from www.mega-nerd.com/libsndfile/
Download the latest version of the source code, which at the time of writing this was 1.0.17 (www.mega-nerd.com/libsndfile/libsndfile-1.0.17.tar.gz)
Then:
tar xzvf libsndfile-1.0.17.tar.gz
cd libsndfile-1.0.17
./configure --enable-shared --prefix=/usr
make
make install
Now, go get FFTW, from www.fftw.org
Download the latest stable version of the source code, which was 3.1.2. (www.fftw.org/fftw-3.1.2.tar.gz)
Then:
tar xzvf fftw-3.1.2.tar.gz
cd fftw-3.1.2.tar.gz
./configure --enable-shared --prefix=/usr --enable-float
make
make install
PLEASE NOTE in the configure line for FFTW, we configured it with the --enable-float option. This is important as wav2ctd uses some stuff that is only provided by fftw3f, and you won't get that library if you build it with it's default options.
Having completed both of these steps, we can move on to:
Building wav2ctd
First we'll check it out from the repository:
svn checkout hxxp://wav2ctd.googlecode.com/svn/trunk/ wav2ctd-read-only
Now navigate to the folder that contains the .cpp file. The path should be something like: ~/wav2ctd-read-only/wav2ctd-1.0.0/src
Run this command to compile it:
g++ main.cpp -o wav2ctd -L/usr/lib -lsndfile -lfftw3f
This tells G++ to compile the code main.cpp, call it wav2ctd, the location of our shared libraries, and which libraries we'll be using: lsndfile, lfftw3, and lfftw3f.
Once this is finished, you'll receive no output on successful completion. However if you look in your folder you should have a new file in there named wav2ctd. You did it!
If you get a bunch of errors like this:
/tmp/ccHNiyrM.o(.text+0xc48): In function `ProcessingSound()':
: undefined reference to `fftwf_malloc'
/tmp/ccHNiyrM.o(.text+0xc82): In function `ProcessingSound()':
: undefined reference to `fftwf_plan_dft_r2c_1d'
/tmp/ccHNiyrM.o(.text+0xef4): In function `ProcessingSound()':
: undefined reference to `fftwf_execute'
/tmp/ccHNiyrM.o(.text+0x1200): In function `ProcessingSound()':
: undefined reference to `fftwf_free'
-or-
ld: cannot find -lfftw3f
Then you didn't build FFTW with float enabled. See above and rebuild your FFTW library.
For some extra convenience, copy the wav2ctd file to your bin folder so you can run it from anywhere:
cp wav2ctd /usr/bin
That's it. Hope that helps someone.
Also; I have no idea how to use this thing.
So, if someone could break down the syntax, maybe provide some examples, that would be great.
Thanks.