Ok Iv been doing some research on plotting a sound file with the amplitude as the y value and frequency as the x. I cant seem to find much to be honest.. Has anyone done this or know how i could start. It can be with just .wav files, cuz i found people were having problems with .mp3 as the java sound api doesnt support mp3.

Thanks,

jakx12.

Recommended Answers

All 13 Replies

bump..

I guess if you don't know the keyword to use (ABCs) then google is useless ;)

i did use google and did a bunch of research. Ok what i mean is java doesnt support mp3 for audio samples. I was just saying that. I dont care if it does or doesnt :P, what im confused about is audio samples.

Thanks.

bump..still cant find it..

Fourier Transform is what gives you amplitude vs frequency from an amplitude vs time (waveform) source. FFT is "fast fourier transform" - a computer algorithm for doing FT's quickly.

Fourier Transform is what gives you amplitude vs frequency from an amplitude vs time (waveform) source. FFT is "fast fourier transform" - a computer algorithm for doing FT's quickly.

ahh thanks! But if its amplitude vs frequency, then how can i retain just frequency and amplitude?

I don't understand your question!
YOur OP said "plotting a sound file with the amplitude as the y value and frequency as the x" That is a Fourier Transform.

I don't understand your question!
YOur OP said "plotting a sound file with the amplitude as the y value and frequency as the x" That is a Fourier Transform.

I don't understand your question!
YOur OP said "plotting a sound file with the amplitude as the y value and frequency as the x" That is a Fourier Transform.

wow really? There was stuff like equidistant points and stuff :P. What i really need is to have both points at i guess different sections of the sample, preferably at syllables. Sorry, im completely new to sound processing and the java sound api :P

SO: you extract a short section from your sound file. This gives an array of ints where the array indexes correspond to time intervals and the values are the amplitude at that time. Now run an FFT on that data. That gives a new array summarising all that data as follows: the array indexes represent different frequencies and the values are the amplitude at that frequency.
Plot that data and you have exactly waht you asked for in the O.P.

SO: you extract a short section from your sound file. This gives an array of ints where the array indexes correspond to time intervals and the values are the amplitude at that time. Now run an FFT on that data. That gives a new array summarising all that data as follows: the array indexes represent different frequencies and the values are the amplitude at that frequency.
Plot that data and you have exactly waht you asked for in the O.P.

Thankyou so much! Thanks for putting up with my questions :P. So in theory, say i wanted to record one word. Then I could divide it up into various samples, then find the average vertex for those samples. Thats awesome, thanks!

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.