2012-05-13 2 views
2

fft를 사용하여 오디오 데이터를 분석하는 최소 라이브러리와 함께 Processing 2.0a5로 만든 멋진 오디오 시각화기를 사용하고 있습니다.JMF with Processing - 오디오 비주얼 라이저

import ddf.minim.*; 
import ddf.minim.analysis.*; 

Minim minim; 
AudioPlayer song; 
FFT fft; 

int col=0; // color, oscillates over time. 

void setup() 
{ 
size(498, 89); 

// always start Minim first! 
minim = new Minim(this); 

// specify 512 for the length of the sample buffers 
// the default buffer size is 1024 
song = minim.loadFile("obedear.mp3", 2048); 

song.play(); 

// an FFT needs to know how 
// long the audio buffers it will be analyzing are 
// and also needs to know 
// the sample rate of the audio it is analyzing 
fft = new FFT(song.bufferSize(), song.sampleRate()); 


} 

void draw() 
{ 
colorMode(HSB); 
background(0); 
// first perform a forward fft on one of song's buffers 
// I'm using the mix buffer 
// but you can use any one you like 
fft.forward(song.mix); 
col++; 
if (255<col){col=0;} // loops the color 
strokeWeight(8); 
stroke(col, 255, 255); 

// draw the spectrum as a series of vertical lines 
// I multiple the value of getBand by 4 
// so that we can see the lines better 
for(int i = 0; i < fft.specSize(); i++) 
{ 
line(i-160, height, i-160, height - fft.getBand(i)*2); 
} 


} 

void stop() 
{ 
song.close(); 
minim.stop(); 

super.stop(); 
} 

그럼 내가하고 싶은 것은 soundcloud에서와 같이 URL을 통해 노래 소스를 가져 오는 것입니다. URL은 다음과 같습니다. http://api.soundcloud.com/tracks/46893/stream?client_id=759a08f9fd8515cf34695bf3e714f74b 128kbps mp3 스트림을 반환합니다. 나는 JMF 2.1이 스트리밍 오디오를위한 URLDataSource를 지원한다는 것을 알고 있지만, JMF와 processing/minimal/fft가 잘 작동하는지 확신하지 못한다. 나는 자바에 정말 익숙하지만 여전히 기능과 아웃에 익숙하지 않다. 나는 PHP와 HTML에 익숙하다. 또한 Soundcloud에는 Soundmanager2의 JavaScript SDK에 스트리밍 통합 기능이 포함되어 있습니다. 이것이 가능한 모든 통합 솔루션을 제공 할 지 확실하지 않습니다.

이상적으로 나는 php와 html로 사용자에게 soundcloud 노래 목록을 제공하고 싶습니다. 그리고 클릭 할 때, 나는 자신의 비주얼 라이저로 노래를 연주하고 싶습니다. 나는이 일을하기 위해 애쓰는 데 힘든 시간을 보내고 있으며, 자바에 대한 나의 무지는 확실히 도움이되지 않습니다. 이것이 가능할지라도 이것이 일어나게하는 가장 좋은 방법에 대한 제안은 무엇입니까?

+1

신성한 t @! Minim의 loadFile은 위의 파일 이름 매개 변수와 같은 직접 URL을 허용합니다! 여기에 대한 답을 찾았습니다. http://code.compartmental.net/tools/minim/manual-minim/ "설명서"를 놓친 문서 링크가 너무 많습니다. 어쨌든 이것은 굉장합니다. 누구든지 멋진 자바 기반 오디오 플레이어와 비주얼 라이저를 원한다면 언제든지 공개적으로 쓸모있는 코드를 훔칠 수 있습니다. –

답변

1

신성한 t @! Minim의 loadFile은 위의 파일 이름 매개 변수와 같은 직접 URL을 허용합니다! 나는 대답을 여기에서 찾았다 : code.compartmental.net/tools/minim/manual-minim 내가 매뉴얼을 놓친 것 같아서 많은 다른 문서 링크가 있었다. 어쨌든 이것은 굉장합니다. 누구든지 멋진 자바 기반 오디오 플레이어와 비주얼 라이저를 원한다면 언제든지 공개적으로 쓸모있는 코드를 훔칠 수 있습니다.

+0

고맙습니다. 저는 오디오 비주얼 라이저의 기본 코드로 사용했습니다. – Agargara