Krótki artykuł pokazujący jak w prosty sposób można pobawić się w generowanie szumu na głośnikach za pomocą podstawowych narzędzi Linuksowych. Szum akustyczny – dźwięk, którego widmo jest w większości zakresu słyszalności zrównoważone, tzn. nie występują w tym widmie gwałtowne “piki” (maksima), które słyszalne mogłyby być jako dźwięczące rezonanse o określonej wysokości tonu.

Wstęp

Ostatnio co raz więcej niepożądanych osób dzwoni do mnie na telefon, komórkę lub na Skype. A że jestem człowiekiem, który nie lubi mówić “NIE” oraz nie odłoży słuchawki, postanowiłem w niecodzienny sposób pozbywać się natrętów. Z pomocą przyszedł mi jak zwykle system Linux, który jak widać potrafi niemal wszystko. Do całej zabawy z szumami będą nam potrzebne:

  • karta dźwiękowa
  • głośniki
  • losowe i nieskończone źródło danych

Sadzę, że z pierwszymi punktami nie będzie problemu. Jeżeli chodzi o trzeci punkt to z pomocą przychodzi nam /dev/random oraz /dev/urandom. Są to wirtualne urządzenia, które służa jako sprzętowy generator losowych liczb z szumu środowiska pobranego z sterowników urządzeń i innych źródeł. Każdorazowa próba odczytu takiego urządzenia generuje nam przypadkowe bity danych. Urządzenie /dev/urandom (unlimited random – nieskończone źródło losowości), różni się od swojego poprzednika tym, że generuje więcej pseudo-przypadkowych danych.

Czas na pierwszy szum!

Kiedy mamy już wszystko czas zacząć szumieć. Otwieramy konsolę i wydajemy następujące polecenie:

[paszczak000@marta ~]$ cat /dev/urandom > /dev/dsp

W naszych głośnikach powinniśmy usłyszeć szum podobny do tego jaki zamieściłem w plikach w trzech różnych formatach:

Zawartość wirtualnego urządzenia została wyświetlona poleceniem cat i odrazu przekierowana do naszej karty dźwiękowej /dev/dsp za pomocą strumienia danych >. Jeżeli chcemy zatrzymać szumienie wciskamy będąc w konsoli kombinację klawiszy [control] + .

Skoro już mamy jakiś tam szum i wiemy jak go wygenerować, zawsze możemy pokusić się o zmianę jego parametrów. Na samym początku wygenerujmy sobie plik z danymi typu RAW Data. Wydajemy następujące polecenie:

[paszczak000@marta ~]$ cat /dev/urandom > szum.raw

Po kilku sekundach wciskamy znowu [control] + , żeby zakończyć generowanie pseudo – losowych danych. Wygenerowany plik dla przygładu zamieszczam tutaj: szum.raw (332k).
Teraz możemy pobawić się w samplowanie. Z pomocą przychodzi nam program SoX – Sound eXchange. Wydajemy następujące polecenie:

[paszczak000@marta ~]$ sox -r 22050 -w -c 2 -s szum.raw szum.wav

W ten sposób otrzymamy plik o innej wysokości brzmienia. Będziemy mieli inny szum. Dane zostają zinterpretowane przez program sox jako 2 kanałowy, 16 – bitowy, stereofoniczny dźwięk o częstotliwości 22kHz. Możemy się pobawić innymi przełącznikami i parametrami. Więcej w manualu. Przykładowe pliki w trzech różnych formatach:

Jak wyklikać biały szum?

Szumy możemy również generować za pomocą programu Audacity. W menu Generate mamy opcję White Noise. Wystarczy kliknąć by otrzymać szum.

Audacity - White Noise

Jeżeli natomiast posiadamy plik RAW z poprzednich zabaw możemy go importować do powyższego programu. Z menu Project wybieramy opcję Import Raw Data. Ustawiamy parametry dla pliku i cieszymy się szumem.

Audacity - Import Raw Data

Praktyczne zastosowanie szumów

Jak używam wygenerowanego pliku z szumem do zagłuszania rozmów na Skypie. Póki co nie znalazłem głębszego sensu. Jeżeli komuś się uda coś wymyślić zapraszam do napisania o tym fakcie na forum internetowym.

Podobne artykuły

  • booli

    generatory szumu potrzebne są do sprawdzenia głośników, systemów dźwiękowych, więc ich sprawności i pasm przenoszenia, przydatną ta opcja jest też sprawdzenia czy przypadkiem gdzieś nie została zamieniona faza ;)