Wpis z mikrobloga

#programowanie #komputery #elektronika

Jest mi ktoś w stanie wyjaśnić w jaki sposób niskopoziomowy dźwięk na kompie jest zapisywany w jednowymiarowej tablicy i nie traci się przy tym informacji o amplitudzie lub o wysokości w danej próbce? Szukam już dobrą chwilę informacji na ten temat i nigdzie nie mogę znaleźć odpowiedzi.
  • 42
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@d15ea5e: No ale sygnał elektryczny posiada chyba amplitudę i częstotliwość, nie? Częstotliwość mu mówi jaki to dźwięk, a amplituda jak głośny. A czas to swoją drogą, bo to jest "tu i teraz".
  • Odpowiedz
@Khaine: Jak próbkujesz sygnał to masz tylko amplitudę. Jeżeli odtworzysz sygnał z taką samą częstotliwością próbkowania to otrzymasz to samo na wyjściu, jeżeli będzie 2x większa to wszystko będzie odtwarzane 2x szybciej + częstotliwości dźwięków będą wyższe (jedno wynika z drugiego)
  • Odpowiedz
@ly000: Ahh, więc to po prostu dosłowny zapis z buta samej fali. Czyli nawet jak mam dwukanałowe źródło, to on mi je zbije do jednego na potrzeby PCM?
  • Odpowiedz
@Khaine: Ciekaw jestem o jaki dźwięk ci chodzi. Dźwięk poddaje się próbkowaniu (kwantyzacja, częstotliwość Nyquista), odwrotnej transformacji Fouriera (FFT i DFT) i kompresji (kodowaniu Huffmana). Dane po tych zabiegach są w postaci ramek po około 1155 bajtów. Jest to ciągła tablica. W standardzie mp3 zawiera dane dla dwóch kanałów audio. Ramka składa się z nagłówka (32 bajty) oraz danych dla obu kanałów, przy czym dane z jednej ramki mogą być
  • Odpowiedz
@Khaine: Częstotliwość dźwięku wynika ze zmian amplitudy. Jak amplituda wolniej się zmienia to jest niższa częstotliwość (wysokość dźwięku), jak szybciej to wyższa. Dlatego to nie są dane 2D tylko 1D. A co do stratności to przy częstotliwości próbkowania 2x większej niż max częstotliwość dźwięku nie powinno być spadku jakości. https://pl.wikipedia.org/wiki/Cz%C4%99stotliwo%C5%9B%C4%87_Nyquista Oczywiście przy praktycznym nagrywaniu dźwięku nie sposób określić częstotliwości maksymalnej, dlatego zakłada się, że nie ma sensu brać pod uwagę
  • Odpowiedz
@Analityk: Nadal mnie zastanawia jak powinien wyglądać bufor na dane dźwiękowe - w sensie jaki powinien być duży.

Choćby patrząc na to: http://www.un4seen.com/doc/#basswasapi/WASAPIPROC.html .
W połączeniu z tym: http://www.un4seen.com/doc/#bass/BASS_ChannelGetData.html

Standardowe próbkowanie 44100 Hz, kodowanie bodaj 16 bit mam ustawione i już powinno mi to rzekomo do WAV przetwarzać. Teraz pytanie - czy aby mieć 10 sekundowe nagranie wystarczy mieć 10*44100 rozmiar bufora? Czy chodzi tu o
  • Odpowiedz
@andzej74: Nie o sam format WAV mi chodziło tylko ogółem o to, że nie ma informacji zbytnio jak to przetwarzanie działa. Tam jest jakiś buffor, ale nie mam 100% pewności czy to jest to o czym myślę, a nigdzie informacji nie ma.
  • Odpowiedz
@Khaine: jakie przetwarzanie? Gdzie ten bufor? Pytasz o rozmiar bufora WAV to dałem Ci go na tacy. Jak nie masz pewności to ściągnij to audacity i podejrzyj jak plik wygląda od środka to się dowiesz. Na wiki (link, który dałem) masz bitrejty dla różnych próbkowań i rozmiarów próbek, policz to na kartce i zrozum o co chodzi.
Godzinę temu pytałeś o WAV a teraz mówisz o jakimś nieznanym nikomu, tajemniczym
  • Odpowiedz
Jak amplituda wolniej się zmienia to jest niższa częstotliwość (wysokość dźwięku), jak szybciej to wyższa. Dlatego to nie są dane 2D tylko 1D


@GwnBrz: No a teraz daj mi to na wykresie. Po to robi się transformacje Fouriera, by wiedzieć jaki jest udział częstotliwości badanej w całym badanym sygnale. I takie dane, po normalizacji i kodowaniu są zapisywane.

  • Odpowiedz
@Analityk: Mówimy o najprostszym zapisywaniu dźwięku. Tutaj nie bada się częstotliwości i nie używa transformaty Fouriera. W PCM mamy sygnał w dziedzinie czasu, a nie częstotliwości i częstotliwości wyższe niż 22kHZ są usuwane za pomocą filtra dolnoprzepustowego w karcie dźwiękowej. Co do częstotliwości, posiadanie dwóch kanałów w żaden sposób nie wpływa na częstotliwość próbkowania. Jak to sobie wyobrażasz? Parzyste próbki na lewy kanał, a nieparzyste na prawy? :-). Po prostu
GwnBrz - @Analityk: Mówimy o najprostszym zapisywaniu dźwięku. Tutaj nie bada się czę...

źródło: comment_tHVEs8qfv3HKxXIyapNGf2TOQzeXewOS.jpg

Pobierz
  • Odpowiedz
@Khaine: Od rozmiaru bufora zależy opóźnienie dźwięku. Do muzyki może być on duży, pół sekundy opóźnienia nie zrobi ci różnicy, a mniej męczysz procesor. W przypadku gier chcesz mieć mniejszy bufor.
  • Odpowiedz
@d15ea5e: Ale teraz mówisz chyba o urządzeniu nagrywającym? W sensie to microsoftowe "device" co pobiera dźwięk. Chociaż w odtwarzaczu to jest to samo.
  • Odpowiedz