Linas
Linas

Reputation: 4408

Soundcloud soundwave

I am trying to generate soundwave which would look like the one that soundcloud have.

But i can't figure out how do they make their soundwaves so clear, for example this is an example of soundcloud and my generated soundwave:

enter image description here

I am using to php to read wav file and generate the image, but if there is some better library in any language which would do this better i would definitely like to to hear about it.

I have pasted the class that I'm usin in Pastebin.

I got this code from andrewfreiday.com and modified to fit my website.

I'm really lost at this and any kind of suggestion would help a lot.

Upvotes: 2

Views: 1819

Answers (2)

Shahar Zoleha
Shahar Zoleha

Reputation: 1

the tool you are looking for is located at https://www.un4seen.com/

soundcloud uses some simple tactics.

say soundwave will be 595 pixels wide.. each bar will be 5 pixels + 2 pixels blank.

595 / ( 5 + 2 ) = 85 length / (bar + space ) = 85 total (bars with space)

device song into 85 parts lets say song is 3:00 long.. 3*60 = 180/85 = 2 seconds minute * seconds = total seconds / parts = 2 seconds / bar so, now we get the peak of a song every 2 seconds.

save max peak. save low peak.

now you have a list of 85 bars with exact highest peak and lowest peak to display them accordingly with song relative to time.

use positive numbers to display upper portion. divide by 2 OR 3 OR 4 and use negative numbers to display lower portion. combine the two and use it as a filter to draw the colors of the graph. kaboom!

Upvotes: 0

nickf
nickf

Reputation: 545995

The waveforms on soundcloud.com are drawn with canvas -- whereas in your sample image, it appears as though it's a larger image which is scaled down to the desired size. When you do this scaling in the browser, it will anti-alias the 'half' pixels. When drawing to the canvas, we draw exactly the pixels needed at the exact resolution needed. This means there's no image scaling and no blurriness.

Upvotes: 5

Related Questions