나는 이런 모습을하고 싶습니다. 두 가지 색상이 네세 스리가 아닙니다.오디오 데이터를 어떻게 시각화합니까?
audacity on mac http://audacity.sourceforge.net/about/images/audacity-macosx.png
은 이미 두 개의 INT 배열, 왼쪽과 오른쪽 채널에 하나씩 각 스테레오 WAV의 오디오 데이터 (하나 개의 샘플/밀리 초)을 가지고있다. 나는 몇 가지 시도를 해왔지만, 이것들만큼 명확하지 않은 곳에서는 보지 않는다. 나의 시도는 스파이 키 (spikey) 나 컴팩트 한 덩어리에 이른다.
좋은 제안이 있으십니까? 나는 C#에서 일하고 있지만 psuedocode는 괜찮습니다.
우리- 함수 DrawLine (색상, X1, Y1, X2, Y2)와
- 두 INT 어레이 있다고 가정 데이터 오른쪽 [] []를 아이폰에의 L
- 데이터 값의 왼쪽 32767 ~ -32768 사이
다른 가정을하면 대답에 적어주십시오.
for(i = 0; i < L - 1; i++) {
// What magic goes here?
}
이것은 the solution Han provided을 적용했을 때의 결과입니다. (단 하나의 채널)
alt text http://www.imagechicken.com/uploads/1245877759099921200.jpg
Audacity는 공개 소스이므로 코드를 살펴볼 수 있습니다. 나는 다음과 같은 것을 가정 할 것이다 ... func getHeight (v) {return abs (v) * 32767/viewArea.height/2); samplesPerPixelColumn = samples.len/viewArea.width; i = 1 ~ viewArea.width {avgV = Avg (samples [i-i + samplesPerPixelColumn]); colHeight = getHeight (avgV); if avgV> = 0 DrawLine (검정, i, viewArea.height/2, i, (viewArea.height/2) + colHeight) else DrawLine (검정, i, viewArea.height/2, i, (viewArea.height/2)) - colHeight); 아마도 거기에서 반올림/범위 처리를 수행해야하지만 그것은 요점이어야합니다. – steamer25
왜 대답하지 않습니까? – Nifle
나는 즉시 도움이 될만한 것을 주려고했지만, 그 중 일부가 꺼져있는 경우에는 downvoted을 얻지 못했습니다. 더 많은 생각 : 수직선 대신 이전 그래프 점과 다음 점 사이에 대각선을 그립니다.또한 충분히 확대하면 샘플 당 여러 픽셀을 갖게됩니다. – steamer25