Oscyloskop - fmod

0

Mam taki mały problem :-/ potrzebuje w aplikacji odtwarzajacej pliki dzwiekowe umiescic oscyloskop.Znalazlem, że moge wykorzystac do tego celu biblioteke fmod. Niestety bez skutku :( Czy ma ktoś może kod lub zna sposob jak mam to zrobić? (Korzystam z Borland C++ Buildera). Jesli znacie jakies dobre stronki na ktorych byłaby ta bibilioteka w miare przystepnym jezyku opisana (najlepiej po polsku) to z góry dziękuje [browar]

0

hmm, ja robilem tego typu programy (oscyloskop, analizator widma, rejestrator wolnozmienny), ale korzystalem ze standardowego wejscia wyjscia danych, w kazdym razie rozdziel sobie program na dwie czesci, blok pobierania danych i wyswietlania.
1 - pobierasz dane z dowolnego zrodla (na zywca z wejscia IN, lub z pliku)
2 - podajesz bufor danych (np: 2048 probek) i go wyswietlasz, probka po probce lub usredniasz i robisz z nim co chcesz
Wszystko musi sie odbywac miejwiecej 40x na sekunde, wtedy nie bedzie to obciazalo systemu a jednoczesnie oko bedzie widzialo ladnie zmieniajacy sie sygnal analogowy :P

0

Hhhmm ciekawe :) Meczylem sie z tym niezle, ale nie przynioslo to skutku:(Wie ktos moze jak zrobic oscyloskop np przy uzyciu performance graph i oczywiscie fmod'a, bo mi jakos nie wychodzi :( zatrzymalem sie wslanie na tym elemencie i nie wiem jak to ogryźć.

0

ja wiem jak zrobic ale bez uzycia fmod i innych lib...

0

Bylbym bardzo wdzieczny gdybyś uraczył mnie jakims kodem :) bo po prostu nie moge sobie z tym poradzic.

0

Ja też bym był zainteresowany czymś takim, chciałem napisać sobie stroik do gitary ale nie wiem jak sie do tego zabrać tzn pobrać dane z karty i je przetworzyć ... może jakieś wskazówki ???

0

www.rad.kgb.pl
to jest strona mojego starego projekciku - analizator widma/oscyloskop/rejestrator, napisane w allegro ale moze ci sie przydac jezeli chodzi o wyswietlanie danych itp

na maila moge ci podac drobny niedokonczony kodzik ktory pobiera w winapi dane z mikrofonu, i wywala na wykres tylko wlasnie wykresa niedorobiłem ;) ale idea działa :)

0

to ja bym był bardzo kontenty ... i dzięki bardzo :)

Mam pytanko, wykreślam sobie bufor,ale jak sobie ustawiam w playerze powiedzmy tone://440 to jest to mało podobne do sinusoidy. Najbardziej zbliżone jest w 11025, 8 bit ale też lataja jakieś śmiecie. Czy żeby skożystać z bufora to terzeba to jakoś obrobić czy co ...

0

hmm bufor jest raczej dobry, moze ten programik do generacji jest <ort>walnienty </ort>jakis, lub generuje dzwiek w <ort>zamalej </ort>czestotliwosci ort!...</ort>

0

OK znalazłem błąd, ale na razie tylko w 8 bit.
Buffor powinien być unsigned char[] a nie char[] ...

0

hmm albo dane w buforze sa jakos inaczej zapisywane, polukaj w necie o PCM i zapisie przy 8 bit i przy 16 bit, bo z tego co pamietam to w tym roznie bylo...

0

Jak przekształcić bufor w np. wykres pasma czestotliwości ???
Tak że na x jest czętotliwość, a na y głośność ???

0

algorytm FFT - Fast Fourier Transform (szybka transformata fouriera)

0

Znalazłem na elektrodzie że nalazłeś funkcje do przekształcania ... możesz powiedzieć gdzie ???
To może jest szybki algorytm liczenia częstotliwości sygnału :D

Ale powoli ... według mnie jak rysuje bufor to jest on zpaisany nie do końca i powstają nieładne przeskoki :(
Kombinuje coś z callbackiem ale :

...
void CALLBACK Recorder::cal()
{
// tutaj ma byc rysowanie alco chodziz ok = true;
}
...
waveInOpen(&hWaveIn,WAVE_MAPPER,&WaveFormat,(DWORD)&Recorder::call,0,CALLBACK_FUNCTION);
...

niestety nie przechodzi :
cannot convert 'void (__stdcall Recorder::*)()' to unsigned long :(

aaa W builderze to robie ...

1 użytkowników online, w tym zalogowanych: 0, gości: 1