Diody w rytm muzyki

Odpowiedz Nowy wątek
2011-07-26 17:53
0

Witam,
usiłuję napisać program, który zapalałby mi diody w rytm muzyki, podobnie jak jest na tym filmiku: http://www.youtube.com/watch?gl=PL&hl=pl&v=o5QHslc-olk
Wiem, że to jest z elektrody, jednak chce napisać coś swojego.

O ile w QT odtworzenie pliku dźwiękowego nie jest wielkim problem to nie wiem jak określić natężenie dźwięku, aby móc zapalić odpowiednią ilość diod?

Pozostało 580 znaków

2011-07-26 18:07
1

Trochę googlowania:

w bibliotece QtMultimedia
http://doc.qt.nokia.com/4.6-snapshot/qtmultimedia.html
jest coś, co nazywa się QAudioFormat
http://doc.qt.nokia.com/4.6-snapshot/qaudioformat.html
a tam częstotliwość (frequency).

Pozostało 580 znaków

2011-07-27 17:37
0

Dzięki, szukałem ciągle w dokumentacji 4.7, a w niej tego nie ma. Niestety problem nadal zostaje otwarty: QtMultimedia najwyraźniej pozwala odtworzyć tylko pliki *.wav. Zatem czy jest jakaś metoda pozwalająca zrobić to samo w Phonon-ie?

sampleRate() z Phonon::AudioDataOutput niestety ciągle zwraca mi wartość -1. Coś źle robię?

edytowany 1x, ostatnio: tomepaw, 2011-07-27 17:38

Pozostało 580 znaków

2011-07-27 17:49
Kumashiro
1

Chcesz odczytać natężenie dźwięku, czy częstotliwość próbkowania (która jest stała)? Jeśli to pierwsze, to stanowczo nie "frequency", ani "samplerate".
Jeśli możesz się dobrać do PCM, to wartość próbki określa amplitudę. Przy s16le i floatle amplituda rośnie dla rosnących wartości dodatnich i malejących ujemnych. Przy u8le rośnie proporcjonalnie do wartości. Przy stereo próbki masz rozłożone w kolejności (lewy,prawy), przy większej ilości kanałów musisz sobie googlnąć kolejność, bo nie pamiętam.

Pozostało 580 znaków

2011-07-27 18:52
0

Sorry, ale jest coś takiego pod delphi?


char mander; bool basaur;

Pozostało 580 znaków

2011-07-27 22:24
0

Co do diod to wiem jak je obsługiwać. Nie wiem tylko jak odczytać natężenie dźwięku i czy przy pomocy QT jest to w ogóle możliwe.

edytowany 1x, ostatnio: tomepaw, 2011-07-27 22:25

Pozostało 580 znaków

2011-07-28 09:07
Kumashiro
1

Qt nie ma takich informacji, bo to nie jest framework do niskopoziomowej obsługi dźwięku. Nawet Phonon tego pewnie nie wie, bo on nie dekoduje strumieni lecz wykorzystuje backend (Xine, GStreamer, ...), który zajmuje się dekodowaniem i kierowaniem PCMki do karty (może jest jakaś pętla zwrotna, sprawdź w dokumentacji).
Jeśli to Linux, to IMHO najrozsądniej byłoby podpiąć się jeszcze niżej, czyli do ALSA (nie wiem czego się używa pod Windows). Kiedyś z narzędziami do tego sterownika przychodził prosty spektrometr. Poszukaj, zobacz jak on się podpina, zaadaptuj.
Nie zrobisz wszystkiego przy pomocy klas Qt.

Pozostało 580 znaków

2011-07-28 09:19

Pod windowsem najprościej będzie użyć biblioteki BASS, która jest stosunkowo prosta w obsłudze.

Właśnie chciałem tego uniknąć, myślałem, ale widocznie jest to najrozsądniejsze wyjście, więc muszę się nią zainteresować :) - tomepaw 2011-07-28 09:39

Pozostało 580 znaków

2011-07-28 09:39
0

Dziękuję za pomoc, tak więc użyję biblioteki BASS.

Pozostało 580 znaków

2011-07-28 10:46
hmmm
0
tomepaw napisał(a)

Dziękuję za pomoc, tak więc użyję biblioteki BASS.

nie lepiej fmod?

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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