Blog (18)
Komentarze (2k)
Recenzje (0)

Stereo Mix w Linux.

@roobalStereo Mix w Linux.27.08.2010 02:08

W ramach odpoczynku od tematów typu Windows kontra Linux i od mojego przynudzania opowieściami o Linuksie postanowiłem opisać jak uzyskać efekt znany z systemów Windows jako Stereo Mix, być może komuś się to przyda. Dla mnie przy okazji ten wpis będzie notatką gdybym znowu tego potrzebował a moja pamięć w głowie jest raczej typu RAM, czyli krótka.

Jakiś czas temu zaistniała u mnie potrzeba zgrania pewnego materiału granego przez kartę dźwiękową z innego źródła niż plik dźwiękowy/wideo, przypomniało mi się że w Windows jest takie coś jak stereo mix. Zaglądam do ustawień karty dźwiękowej i oczywiście pod Linuksem tego nie widzę. Zacząłem początkowo kombinować coś w Audacity, przegrzebałem opcje, dokumentacje, Wiki, poradniki no i nic z tego. Jak zwykle zacząłem szukać w sieci informacji czy takie coś jest w ogóle możliwe. Ponieważ temat nie jest jakoś szczególnie popularny, więc musiałem głęboko pogrzebać w zasobach Google. Znalazłem na forach porady, dotyczące konfiguracji Alsy ale że leniwy jestem to nie chciało mi się grzebać przy Alsie aż w końcu znalazłem na pewnym forum pewną propozycję - wykorzystać do tego celu konsolowy program o nazwie arecord, który powinien być domyślnie zainstalowany w systemie jako składnik Alsy.

W tym celu należy uruchomić terminal, włączyć dźwięk który ma być zgrany, np. z przeglądarki internetowej i wydać takie polecenie:

arecord -f cd nazwa_pliku

Oczywiście w ten sposób dźwięk zostanie zgrany do pliku o jakości CD, domyślnie jest to plik WAVE (częstotliwość próbkowania 44,1 kHz przy 16-bitach). Jakość jak i rodzaj pliku można dowolnie zmieniać, jednak na ten temat nie będę się rozpisywał, ponieważ wszystko ładnie opisano w podręczniku systemowym, wystarczy wydać w terminalu polecenie man arecord.

Jak wiadomo, plik WAVE ze względu na jakość pochłonie sporą ilość wolnego miejsca na dysku, więc plik można w tzw. "locie" zakodowować do pliku mp3 dowolnej jakości przy pomocy również konsolowego Lame, który najprawdopodobniej trzeba sobie doinstalować. Kodowanie odbywać się będzie w taki sposób:

arecord -f cd | lame -h - plik.mp3

Jak widać Lame działa jako potok, więc plik wyjściowy WAVE jest od razu kodowany do pliku mp3 najwyższej jakości. W pierwszej części polecenia, nie ma potrzeby podawania nazwy dla pliku WAVE, ponieważ on i tak jest kierowany do Lame. Opcja -h odpowiada za kodowanie do najwyższej jakości (highest). Ważny jest ten myślnik przed nazwą pliku mp3 (tam są oczywiście przed i za nim spacje), oznacza on że Lame ma kodować standardowe wyjście skierowane do Lame, w tym wypadku tworzony przez arecord plik WAVE, o czym pisałem w pierwszym zdaniu tegoż akapitu. Więcej opcji, dotyczących kodowania przy pomocy Lame można znaleźć w man lame.

Leniwi mogą napisać sobie taki skrypt, aby nie trzeba było za każdym razem klepać tego przydługiego polecenia :)

#!/bin/sh

arecord -f cd | lame -h - $1.mp3

Ponieważ podałem w skrypcie zmienną $1 oznacza to, że nazwa pliku mp3 przyjmie nazwę jaką poda się jako argument skryptu, np. mój skrypt nazywa się stereo_mix, więc uruchamiając go w taki sposób:

./stereo_mix muzyczka

plik mp3 przyjmie nazwę muzyczka.mp3.

W przypadku mojej karty wymagana była również zmiana w ustawieniach karty dźwiękowej profilu z Analog Stereo Duplex jak na obrazku poniżej

na Analog Stereo Output

Szanowna Użytkowniczko! Szanowny Użytkowniku!
×
Aby dalej móc dostarczać coraz lepsze materiały redakcyjne i udostępniać coraz lepsze usługi, potrzebujemy zgody na dopasowanie treści marketingowych do Twojego zachowania. Twoje dane są u nas bezpieczne, a zgodę możesz wycofać w każdej chwili na podstronie polityka prywatności.

Kliknij "PRZECHODZĘ DO SERWISU" lub na symbol "X" w górnym rogu tej planszy, jeżeli zgadzasz się na przetwarzanie przez Wirtualną Polskę i naszych Zaufanych Partnerów Twoich danych osobowych, zbieranych w ramach korzystania przez Ciebie z usług, portali i serwisów internetowych Wirtualnej Polski (w tym danych zapisywanych w plikach cookies) w celach marketingowych realizowanych na zlecenie naszych Zaufanych Partnerów. Jeśli nie zgadzasz się na przetwarzanie Twoich danych osobowych skorzystaj z ustawień w polityce prywatności. Zgoda jest dobrowolna i możesz ją w dowolnym momencie wycofać zmieniając ustawienia w polityce prywatności (w której znajdziesz odpowiedzi na wszystkie pytania związane z przetwarzaniem Twoich danych osobowych).

Od 25 maja 2018 roku obowiązuje Rozporządzenie Parlamentu Europejskiego i Rady (UE) 2016/679 (określane jako "RODO"). W związku z tym chcielibyśmy poinformować o przetwarzaniu Twoich danych oraz zasadach, na jakich odbywa się to po dniu 25 maja 2018 roku.

Kto będzie administratorem Twoich danych?

Administratorami Twoich danych będzie Wirtualna Polska Media Spółka Akcyjna z siedzibą w Warszawie, oraz pozostałe spółki z grupy Wirtualna Polska, jak również nasi Zaufani Partnerzy, z którymi stale współpracujemy. Szczegółowe informacje dotyczące administratorów znajdują się w polityce prywatności.

O jakich danych mówimy?

Chodzi o dane osobowe, które są zbierane w ramach korzystania przez Ciebie z naszych usług, portali i serwisów internetowych udostępnianych przez Wirtualną Polskę, w tym zapisywanych w plikach cookies, które są instalowane na naszych stronach przez Wirtualną Polskę oraz naszych Zaufanych Partnerów.

Dlaczego chcemy przetwarzać Twoje dane?

Przetwarzamy je dostarczać coraz lepsze materiały redakcyjne, dopasować ich tematykę do Twoich zainteresowań, tworzyć portale i serwisy internetowe, z których będziesz korzystać z przyjemnością, zapewniać większe bezpieczeństwo usług, udoskonalać nasze usługi i maksymalnie dopasować je do Twoich zainteresowań, pokazywać reklamy dopasowane do Twoich potrzeb. Szczegółowe informacje dotyczące celów przetwarzania Twoich danych znajdują się w polityce prywatności.

Komu możemy przekazać dane?

Twoje dane możemy przekazywać podmiotom przetwarzającym je na nasze zlecenie oraz podmiotom uprawnionym do uzyskania danych na podstawie obowiązującego prawa – oczywiście tylko, gdy wystąpią z żądaniem w oparciu o stosowną podstawę prawną.

Jakie masz prawa w stosunku do Twoich danych?

Masz prawo żądania dostępu, sprostowania, usunięcia lub ograniczenia przetwarzania danych. Możesz wycofać zgodę na przetwarzanie, zgłosić sprzeciw oraz skorzystać z innych praw wymienionych szczegółowo w polityce prywatności.

Jakie są podstawy prawne przetwarzania Twoich danych?

Podstawą prawną przetwarzania Twoich danych w celu świadczenia usług jest niezbędność do wykonania umów o ich świadczenie (tymi umowami są zazwyczaj regulaminy). Podstawą prawną przetwarzania danych w celu pomiarów statystycznych i marketingu własnego administratorów jest tzw. uzasadniony interes administratora. Przetwarzanie Twoich danych w celach marketingowych realizowanych przez Wirtualną Polskę na zlecenie Zaufanych Partnerów i bezpośrednio przez Zaufanych Partnerów będzie odbywać się na podstawie Twojej dobrowolnej zgody.