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:
[bash][paszczak000@marta ~]$ cat /dev/urandom > /dev/dsp[/bash]
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] + [c][/c]
.
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:
[bash][paszczak000@marta ~]$ cat /dev/urandom > szum.raw[/bash]
Po kilku sekundach wciskamy znowu [control] + [c][/c]
, ż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:
[bash][paszczak000@marta ~]$ sox -r 22050 -w -c 2 -s szum.raw szum.wav[/bash]
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.
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.
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.
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 ;)