Wykres glosnosci dzwieku...

0

jak zrobic wykres glosnosci (chociaz lepiej czestotliwosci) od razu dla calego pliku?
bo w danym momencie podczas odtwarzania to nie problem ale przeciez nie bede rysowal w czasie 1:1 do jak mp ma np. 6 minut to troche przydlugo :-/

dzieki [browar]
pozdro.

0

Chyba musisz jechac petla po utworze i co np. sekunde utworu pobierac czestotliwosc ale to zapewne potrwa...

0
cimak napisał(a)

w danym momencie podczas odtwarzania to nie problem

Mógłbyś powiedzieć jak takie cos uzyskac ? (Z dzwiekiem sie nie bawie, ale musze zaczac)

0

jak zrobic wykres glosnosci (chociaz lepiej czestotliwosci) od razu dla calego pliku?

To w końcu się zdecyduj co chcesz mierzyć. Widmo? RMS? wartości szczytowe?

0
abc napisał(a)

Mógłbyś powiedzieć jak takie cos uzyskac ? (Z dzwiekiem sie nie bawie, ale musze zaczac)

Bylo miliony razy, poszukaj (Bass, BASS_ChannelGetData, BASS_ChannelGetLevel);

a jesli mam sie zdecydowac, to hmm...
wlasciwie to najlepszym dla mnie rozwiazaniem bylo by cos w stylu BASS_ChannelGetData tylko dla dowolnego momentu utworu.
tak na sile, to moge sprobowac to obejsc ale wolal bym to napisac ladnie...

moze powiem, do czego jest mi to potrzebne:
pisze program, ktory bedzie pozniej obslugiwal kilka stroboskopow, skanerow, laserow (jesli kumpel kupi), i innych "cudow". bedzie oczywiscie sterowal tym wszystkim w rytm muzyki ale nie chodzi mi tu o takie rozwiazanie, ze na wszystkie np. basy wali stroboskopem... chce aby wszystko dalo sie bardzo dokladnie zaplanowac. efekt koncowy ma byc mniej wiecej taki: http://www.metacafe.com/watch/45390/wizards_of_winter/ ;]
(na powyzszym filmiku uzyto programu "Light-O-Rama" ale moim zdaniem jest zwyczajnie niedorobiony);
program bedzie mial mozliwosc automatycznego wykrywania danych czestotliwosci ale z mozliwoscia dodawania ich recznie (no bo komp nigdy nie bedzie do konca wiedzial o co nam chodzi...).
itd... itd... swego rodzaju linie montazowa mam juz zrobiona, teraz biore sie za dzwiek.

pozdro [browar]

0

a jesli mam sie zdecydowac, to hmm...
wlasciwie to najlepszym dla mnie rozwiazaniem bylo by cos w stylu BASS_ChannelGetData tylko dla dowolnego momentu utworu.
tak na sile, to moge sprobowac to obejsc ale wolal bym to napisac ladnie...

Nie bardzo rozumiem w czym problem??? Przecież tam jest funkcja BASS_ChannelSetPosition. No chyba, że chcesz to zrobić samodzielnie bez BASS'a lub chcesz uzyskać histogram dla poszczególnych pasm do obróbkim offline.

program bedzie mial mozliwosc automatycznego wykrywania danych czestotliwosci ale z mozliwoscia dodawania ich recznie

Jak to automatycznie? Jak dla mnie to zwykły kolorofon, który wyzwala pewne sekwencje świetlne... choć mogę się mylić ;P Ogólnie na FFT powinno dać radę. Ewentualnie możesz pokombinować z filtrami pasmowymi.

swego rodzaju linie montazowa mam juz zrobiona, teraz biore sie za dzwiek.

Czyli zaczynasz od końca ;)

0

Nie bardzo rozumiem w czym problem??? Przecież tam jest funkcja BASS_ChannelSetPosition. No chyba, że chcesz to zrobić samodzielnie bez BASS'a lub chcesz uzyskać histogram dla poszczególnych pasm do obróbkim offline.

no dobra, ale to co? mam pojechac w <ort>pentli </ort>dla calego utworu BASS_ChannelSetPosition i do tego GetLevel?
bo mi sie wydaje, ze to raczej nie wypali :-/
ladnie to nazwales... "offline". wlasnie o to mi chodzi.

Jak to automatycznie? Jak dla mnie to zwykły kolorofon, który wyzwala pewne sekwencje świetlne... choć mogę się mylić ;P Ogólnie na FFT powinno dać radę. Ewentualnie możesz pokombinować z filtrami pasmowymi.

juz mowie... mozesz recznie lub automatycznie zgrac np. strobo z dzwiekiem.
automatycznie, to tak, ze program sam wykryje Ci np. basy i w tym miejscu ustawi znak do blysku.
jednak nie zawsze program prawidlowo rozpozna dzwiek i w tym momencie wchodzi manual.
recznie to znaczy, ze walisz w klawiature w momencie, w ktorym chcial bys miec blysk.
a w razie czego, jak bedzie male przesuniecie to korygujesz to na linii montazowej...

Chodzi mi po prostu o cos w stylu ChannelGetData tylko dla dowolnego momentu w pliku, zebym nie musial tego pliku odtwarzac, zeby sie dobrac do czestotliwosci.

0

juz mowie... mozesz recznie lub automatycznie zgrac np. strobo z dzwiekiem.
automatycznie, to tak, ze program sam wykryje Ci np. basy i w tym miejscu ustawi znak do blysku.

Czyli trigger/beat detector... z tą automatyzacją to jest tak, że to programista ustala wartości domyślne zakresów pasma (vide equalizery parametryczne), a te często trzeba korygować w zależności od materiału audio.

Chodzi mi po prostu o cos w stylu ChannelGetData tylko dla dowolnego momentu w pliku, zebym nie musial tego pliku odtwarzac, zeby sie dobrac do czestotliwosci.

No to musisz stworzyć sobie jakiś (plikowy) strumień audio i dane z danej pozycji potraktować FFT lub zestawem filtrów (wszystko bufforowane). Uzyskane amplitudy prawdopodobnie będziesz musiał potraktować jakimś envelope follower'em co by je wygładzić ;)

PS. Nigdy nie pisałem tego typu softu więc traktuj to co napisałem jedynie jako sugestię ;)

0

Czyli trigger/beat detector... z tą automatyzacją to jest tak, że to programista ustala wartości domyślne zakresów pasma (vide equalizery parametryczne)
[...]
strumień audio i dane z danej pozycji potraktować FFT lub zestawem filtrów (wszystko bufforowane). Uzyskane amplitudy prawdopodobnie będziesz musiał potraktować jakimś envelope follower'em co by je wygładzić.

sorry, Ty mnie obraziles? ;]
heh... spoko, dzieki...

0
cimak napisał(a)

sorry, Ty mnie obraziles? ;]

[???]

0

no co? ;]
po prostu pierwsze slysze to, co napisales ;]

0

Tu znajdziesz to co trzeba. Większość w C/C++, ale może coś wyhaczysz w Delphi ;)

0

dzieki. kiedys sie co nieco bawilem c/c++, mam gdzies jeszcze ksiazeczki wiec mam nadzieje, ze sobie poradze. dzieki jeszcze raz [browar]

0

jak to jest wav to mozesz pobrac ze stronki pq taki voice cut i na jego podstawie napisac petle ktora bedzie rejestrowac wykresik :C

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