Po delší době jsem měl volný den a tak jsem se rozhodl vrátit se ke svému koníčku a složit si nějakou tu muziku. Vše šlo jako po másle (nápad jsem měl v rukávě, použil jsem Rosegarden a nějaké softwarové syntezátory) až do chvíle, kdy jsem potřeboval vygenerovat výsledný wav, případně mp3 soubor.
Vzpoměl jsem si, že existuje utilitka arecord, spouští se z příkazového řádku a dělá přesně to, že zvukový výstup, který jde do reproduktorů, ukládá ve zvoleném formátu a kvalitě dosouboru. Jde o prográmek z balíku utilit pro alsu, určitě je ve zdrojích Ubuntu (sand i jinde).
1. Základní použití
Základní syntaxe pro záznam zvuku v cd kvalitě, trvání 10 sekund, ve formátu wav a do domovského adresáře pod názvem out.wav je následující:
arecord -d 10 -f cd -t wav -D hw out.wav
Pokud nenastavíte duration (-d), nahrávku přerušíte v terminálu kombinací ctrl+c. Ve všech návodech se dočteme, že musíme mít nastavenou správnou zvukovou kartu pro vstup a výstup (samozřejmě pokud jich máme v počítači více nebo je připojená třeba webkamera s integrovaným mikrofonem) a korektně nastavené parametry v alsamixeru – položku capture. Konkrétní zvukovou kartu můžete rovněž určit volbou -D (například -D hw:0,1), označení karty se dozvíte ve výpisu příkazem:
arecord -l
2. Ukládání zvuku v mp3
Pokud chcete ukládat rovnou v mp3 (předpokládá to, že nebudete chtít zvuk upravovat, ale rovnou používat), je to velmi snadné. Nanistalujte si kodek lame:
sudo apt-get install lame
Pak použijte přesměrování výstupu z arecord do kodeku příkazem:
arecord -f cd -t raw | lame -x – out.mp3
Jak vidíte, je zde použit formát nahrávání raw. Já osobně dávám přednost doupravení souboru wav v programu Audacity a z něj pak exportuju do mp3 nebo ogg.
3. Pro starší a pokročilé
Někdy to není tak jednoduché a prostě to nefunguje – buď arecord vrací chybu, nebo má soubor s libovolně dlouhou nahrávkou pouze několik kb nebo je prostě němý. Pak přichází na řadu konfigurační soubor .asoundrc.
Soubor slouží k pokročilé konfiguraci vašich zvukových zařízení pod alsou. Vytvoříte ho ve svém domovském adresáři (připomínám jako skrytý, tedy s tečkou na začátku), otevřete v textovém editoru a vložíte kód:
pcm.copy { type plug slave { pcm hw } route_policy copy }
Vytvoříte si tak alias s názvem „copy“, pak spustíte arecord s těmito parametry:
arecord -d 10 -f cd -t wav -D copy out.wav
Jiná varianta nastavení .asoundrc se specifikací zvukové karty a zařízení vypadá takto:
pcm.copy { type hw card 1 device 0 }
Pokud vaše zařízení přímo nepodporuje stereo-mix zdroj, můžete použít alsa loopback driver, kteý spustíte takto:
sudo modprobe snd-aloop
4. Pro muzikanty – JACK
Muzikanti většinou nepoužívají přímo alsu nebo pulseaudio, ale systém jack a často i realtime jádro. Nebudu se tu zabývat zprovozněním jack, jen dodám, že se korektně v ubuntu nainstaluje například prímo s aplikací Rosegarden. aby arecord z jacku „slyšel“ zvukový výstup a tedy i něco nahrál, je třeba přidat kód do .asoundrc a opět pouštět arecord s novým parametrem.
V .asoundrc si vytvoříme nový alias jack tímto kódem:
pcm.jackplug { type plug slave { pcm "jack" } } pcm.jack { type jack playback_ports { 0 alsa_pcm:playback_1 1 alsa_pcm:playback_2 } capture_ports { 0 alsa_pcm:capture_1 1 alsa_pcm:capture_2 } }
A pak už jen pustíme arecord:
arecord -d 10 -f cd -t wav -D jack out.wav
Doporučuji ukládat ve formátu wav a případné další komprese dělat dodatečně, ušetříte tak při nahrávání čas procesoru a vyhnete se občasnému praskání a lupání.
5. Závěr
Utilitku arecord můžete také jednoduše použít na nahrávání internetového rádia nezávisle na nastavení přehrávacího programu, jistě najdete i řadu dalšího uplatnění. Konfigurace možná pro někoho vypadá složitě, ale většinou si asi vystačíte s prvním krokem návodu. Osobně mi dalo nejvíce práce zprovoznit variantu pro JACK, ale to asi jen proto, že mi trvalo, než jsem vygooglil ten správný web.
Taky občas zkouším tvořit hudbu na linuxu a narazil jsem na stejný problém. Arecord určitě někdy zkusím, díky za tip.
V téhle souvislosti bych ale rád zmínil nedostatek Rosegardenu a jemu podobných programů. Protože se jedná o nástroje, které zvuk syntetizují pouze v reálném čase - na rozdíl od např. FL Studia pod Windows - není možné v nich offline vyrenderovat něco, co váš procesor nestihne přehrát normálně. Navíc takto nahraný zvuk nebude nikdy lepší než výstup ze zvukové karty, zatímco při renderování offline na zvukovce výsledná kvalita vůbec nezáleží. Přirovnal bych to třeba k nahrávání 3D počítačové hry vs. offline renderování 3D videa.
Jen drobnost - pokud zvukovka nebude umět 44.1kHz (starší integrované umí jen 48kHz) nebo přesně 16 bitů (karty s Envy24 umí jen formát 32bitů), nahrávání z raw zařízení (hw) ve formátu cd se nezdaří, protože ovladač vrátí chybu o nepodporovaném formátu. K tomu slouží plugin plug, který sám provede minimální nutnou konverzi. Takže bych spíše doporučoval arecord -v -D plughw:0,1 ...., parametr -v (verbose) hezky vypíše, co všechno musí plugin plug konvertovat, aby se trefil do formátu inzerovaného ovladačem.
[4] Offline renderování umí třeba LMMS, ale zatím se v něm necítím jako doma, takže pro "sranda-skladby" používám pro mě jednodušší Rosegarden. Podporuje dost plugins kromě externích syntezátorů, ZynAddSubFx mi celkem stačí, dají se do něj sehnat další banky nástrojů. Jinak mám SB Audigy, takže můžu používat Soundfonts (sf2) - je jich na webu mraky a nezatěžují procesor.
Kazdemu kto chce tvorit muziku pod Linuxom oporucam Renoise (www.renoise.com):
"Renoise is a contemporary digital audio workstation (DAW) based upon the heritage and development of tracker software. Its primary use is the composition of music using samples (in WAV, AIFF, FLAC, Ogg, MP3 format), VST/AU/LADSPA plug-ins, and MIDI sequencing of VSTi/AU soft synths. The main difference between Renoise and other music software is the characteristic vertical timeline sequencer used by tracking software."
renoise vypadá podle video ukázek fakt dobře, musím to vyzkoušet. Uvidím, jestli stojí zato si ho koupit, protože LMMS je slušnej soft a na menší věci Rosegarden stačí.
Mimochodem oceňuju dostupnost placeného profi produktu pro Linux, bylo by super mít možnost si často vybrat mezi open source a placeným programem. I když se třeba ve stříhání videa situace zlepšila, tisícovku bych za stabilní soft, který bez problémů zvládne full-hd, utratil (něco jako je PowerDirector).
Jan Kulhánek pracuje jako psycholog a psychoterapeut, prací s počítači si přivydělával hlavně při studijích. Do světa Linuxu začal více pronikat asi před třemi lety (2007), kdy si nainstaloval Ubuntu jako druhý systém. U této distribuce už zůstal i když rád experimentuje a občas zkouší různé novinky. Je „běžný“ uživatel desktopu, od kterého chce, aby byl user-friendly pro každodenní použití. Občas si skládá muziku, dělá trochu grafiku hlavně pro různé webové projektíky, stříhá video. Počítače jsou dlouhodobým koníčkem.
Přečteno 30 424×
Přečteno 27 006×
Přečteno 26 742×
Přečteno 25 629×
Přečteno 24 222×