Linux MP3-HOWTO <author>Avtor: Phil Kerr, <tt/<url url="mailto:phil@plus24.com" name="phil@plus24.com">/; prevedel: Jernej Kovačič <tt/<url url="mailto:jkovacic@email.si" name="jkovacic@email.si">/ <date>v1.60, oktober 2000, prevod 13. julij 2001 <abstract> Ta spis opisuje strojno in programsko opremo ter postopke, primerne za kodiranje, predvajanje, mešanje in oddajanje zvočnih datotek v zapisu <em/MP3/ v okolju Linux. </abstract> <toc> <sect>Uvod <p> Ta spis opisuje strojno in programsko opremo ter postopke za kodiranje, predvajanje, mešanje in oddajanje zvočnih datotek v zapisu MP3 v okolju Linux. Spis zajema: <itemize> <item>kodiranje iz zunanjih virov ali v živo <item>kodiranje glasbenih plošč CD <item>oddajanje glasbe v zapisu MP3 po omrežju <item>poslušanje glasbe v zapisu MP3 <item>zapisovanje glasbe v toku <item>mešanje glasbe v zapisu MP3 <item>urejanje informacij v oznakah ID3 </itemize> <sect>Avtorske pravice <p> Avtorske pravice za ta spis HOWTO so last Phila Kerra ((C) Phil Kerr, 1999, 2000). Če ni navedeno drugače, so avtorske pravice za spise Linux HOWTO last avtorjev. Spisi Linux HOWTO se lahko razmnožujejo in razširjajo v celoti ali po delih, na kakršnemkoli fizičnem ali elektronskem nosilcu, vse dokler se oznaka o avtorskih pravicah ohrani v vseh izvodih. Komercialno razširjanje je dovoljeno in spodbujano, vendar bi bil avtor rad obveščen o vsaki taki distribuciji. Vsi prevodi, izpeljana dela ali skupni projekti, ki zajemajo katerikoli spis Linux HOWTO, morajo biti izvedeni pod enakimi avtorskimi pravicami. To pomeni, da ne smete izpeljevati del iz spisov HOWTO in dodajati omejitev pri razširjanju. Izjeme od teh pravil se lahko dovolijo pod posebnimi pogoji; za kaj takega stopite v stik s koordinatorjem za Linux HOWTO na spodaj navedenem naslovu. Na kratko: spodbujati želimo razširjanje teh informacij po čim več kanalih, hkrati pa želimo obdržati avtorske pravice za spise HOWTO in bi bili radi obveščeni o vseh načrtih za razširjanje teh spisov. Če želite kaj vprašati, stopite v stik s Timom Bynumom, koordinatorjem Linux HOWTO. Tim je dosegljiv po elektronski pošti na naslovu <em/<url url="mailto:linux-howto@metalab.unc.edu" name="linux-howto@metalab.unc.edu">/. Prevajalec spisa v slovenščino je Jernej Kovačič, za razširjanje pa veljajo enaki pogoji kot za angleški izvirnik. <sect>Kje dobite ta spis <p> Najnovejšo uradno angleško različico tega spisa dobite na domačih straneh Dokumentacijskega projekta za Linux na naslovu <url url="http://www.linuxdoc.org/">. Domača stran tega spisa je <url url="http://www.mp3-howto.com"> <sect1>Prevodi <p> Ta spis je bil preveden še v naslednje jezike: <em>Prosimo, upoštevajte, da so nekateri prevodi v primerjavi s tem spisom morda že zastareli, ker pač prevajanje vzame nekaj časa.</em> <em>Korejščina</em> <url url="http://kldp.org/HOWTO/MP3-HOWTO"> Prevedel Lee, So-min: <url url="mailto:animator@nownuri.net" name="animator@nownuri.net"> <em>Francoščina</em> <url url="http://www.freenix.org/unix/linux/HOWTO/MP3-HOWTO.html"> Prevedel Arnaud Gomes-do-Vale: <url url="mailto:arnaud@carrosse.frmug.org" name="arnaud@carrosse.frmug.org"> <em>Madžarščina</em> <url url="http://free.netlap.hu/howto/MP3-HOGYAN.html"> Prevedel Andras Timar: <url url="mailto:atimar@itp.hu" name="atimar@itp.hu"> <em>Italijanščina</em> <url url="ftp://ftp.pluto.linux.it/pub/pluto/ildp/HOWTO/MP3-HOWTO"> Prevedel Mariani Dario: <url url="mailto:darkpand@uni.net" name="darkpand@uni.net"> <em>Španščina</em> <url url="http://www.insflug.org/documentos/MP3-Como"> Prevedel Arielo: <url url="mailto:larocka@yahoo.com" name="larocka@yahoo.com"> <em>Nizozemščina</em> <url url="http://nl.linux.org/doc/HOWTO/MP3-HOWTO-NL.html"> Prevedel Reggy Ekkebus: <url url="mailto:reggy@zeelandnet.nl" name="reggy@zeelandnet.nl"> <em>Japonščina</em> <url url="http://www.linux.or.jp/JF/JFdocs/MP3-HOWTO.html"> Prevedel Saito Kan: <url url="mailto:can-s@geocities.co.jp" name="can-s@geocities.co.jp"> <em>Slovenščina</em> <url url="http://www.lugos.si/delo/slo/HOWTO-sl/MP3-HOWTO-sl.html"> Prevedel Jernej Kovačič: <url url="mailto:jkovacic@email.si" name="jkovacic@email.si"> Zahvaljujemo se zgoraj naštetim prevajalcem. Če vam je uspelo prevesti ta spis, sporočite to avtorju po elektronski pošti. Navedite tudi naslov, na katerem bo mogoče dobiti prevod. <sect>Zasluge <p> Pri pisanju tega spisa je bil v veliko pomoč spis <em/Sound-HOWTO/ Jeffa Tranterja in <em/Sound-Playing-HOWTO/ Yooja C. Chunga. Hvala tudi drugim avtorjem spisov HOWTO, katerih dela so bila uporabljena: Lars Wirzenius: <em/Linux System Administrators Guide/ Olaf Kirch: <em/Linux Network Administrators Guide/ Stein Gjoen: <em/Multi Disk System Tuning HOWTO/ Hvala tudi vsem, ki ste se odzvali in poslali komentarje ali sporočila o napakah. Avtor se prisrčno zahvaljuje svojim kolegom v WebSentric AG, še posebej Marku S. Fischerju in Petru Conradu za njune pripombe in podporo. Prevajalec tega spisa v slovenščino se zahvaljuje tudi Alešu Koširju za pomoč pri odpravljanju tipkarskih in slovničnih napak ter odkrivanju uveljavljenih slovenskih izrazov za nekatere strokovne izraze. <sect>Opozorilo <p> Informacije v tem spisu uporabljate na lastno odgovornost. Avtorji in prevajalci ne prevzemajo nobene odgovornosti za vsebino spisa. Koncepte, zglede in/ali druge vsebine tega spisa uporabljate v celoti na lastno odgovornost. Vse avtorske pravice so last njihovih lastnikov, če ni navedeno drugače. Uporaba izrazov v tem spisu naj ne bi vplivala na veljavnost katerekoli blagovne ali storitvene znamke. Imenovanje posameznih izdelkov ali zaščitenih znamk naj ne bi veljalo kot priporočilo. Toplo vam priporočamo, da naredite varnostno kopijo svojega sistema pred pomembnimi namestitvami programja in da to počnete v rednih časovnih presledkih. <sect>Strojne zahteve in učinkovitost <p> Digitalna obdelava zvoka je opravilo, ki trati sistemske vire in se zelo zanaša na vhodno-izhodne sposobnosti ter zmožnosti obdelave. Toplo priporočamo uporabo strojne opreme najmanj razreda Pentium. Če boste kodirali zvok z analognega zvočnega nosilca prek vhoda 'in-line' (že ojačeni analogni signal) ali mikrofona, bo zvočna kartica PCI dala najboljše rezultate. Razlika med karticami, temelječimi na ISA ali PCI v vhodno-izhodni učinkovitosti je precejšnja, več kot 132 Mbyte/s za PCI (citat iz <em/PCI-HOWTO/). Seveda velja: čim boljša je zvočna kartica pri razmerju signal/šum, tem boljši je zvok, kodiran v MP3. Avtor je uporabljal Soundblaster PCI128 in ga pravkar zamenjal s Soundblaster Live Value; obe kartici imata dobre zvočne zmogljivosti, toda razmerje signal/šum je pri Live občutno boljše, dovolj dobro za polpoklicno rabo. Spomnite se stare maksime pri obdelavi podatkov: smeti noter -- smeti ven! Creative ima gonilnik Beta za Soundblaster Live!, ki ga dobite na: <url url="http://developer.soundblaster.com/linux/"> Kadar zapisujete analogni zvok na disk (temu opravilu se reče tudi neposredno zapisovanje na disk, angl. direct to disk (d2d) recording), sta zmogljivosti diska in njegovega krmilnika kritični. Če uporabljate sistem z IDE, ga je najbolje uporabiti v načinu (angl. mode) 4 ali UDMA, v katerem je hitrost prenosa še zadovoljiva, da je zagotovljen stalni pretok podatkov. Idealna rešitev bi bila raba sistema s SCSI, ker imajo pogoni in vmesniki precej boljši pretok, od zdržnih 5 Mbit/s za SCSI 1 do 80 Mbit/s za ultra/wide SCSI. IDE lahko doseže od 8,3 Mb/s do 33 Mb/s za Ultra-ATA, toda to so maksimalne vrednosti, povprečne hitrosti pa so nižje. Če lahko najdete ali si privoščite pogon AV SCSI, si ga omislite. Pogoni AV imajo optimaliziran sistem bralno-pisalnih glav za nepretrgan pretok podatkov, drugi pogoni SCSI in IDE pa ponavadi ne morejo zdržati nepretrganega pretoka podatkov, ker se glava za pisanje pregreje! Seveda bo pogon s predpomnilnikom (angl. cache) dajal boljše rezultate kot pogon brez predpomnilnika, predpomnilnik namreč predstavlja medpomnilnik (angl. buffer), ko se zapisovalne glave dvignejo, in pomaga pri prenosu. Če vaš pogon ne ustreza pričakovanjem, bo zapis podvržen osipu in motnjam povsod, kjer disk ni zapisal signala. Če zapisujete zvok enkratnih dogodkov, npr. nastopov v živo, investirajte v dober sistem z diskom SCSI. Drug vzrok za osip pri neposrednem zapisovanju na disk je preobremenjen sistem. Procesi v ozadju lahko povzročijo začasne zastoje. Priporočljivo je, da ženete v ozadju le toliko procesov, kolikor je nujno treba, še posebej to velja za omrežne strežnike. Več napotkov o nastavljanju mrežnih strežnikov in o zagonskih skriptih najdete v vodnikih <em/SAG/ (System Administration Guide) in <em/NAG/ (Network Administration Guide). Opravila z navideznim pomnilnikom podobno povzročajo zastoje, zato uporabite toliko fizičnega RAM, kolikor ga le lahko. Priporoča se vsaj 32 MB, prav mogoče pa ga boste potrebovali še več. Tistim, ki bi radi iz sistema izvlekli največ, ne bo škodila tudi optimalizacija jedra. Ker vam bodo zgoraj naštete strojne zahteve zagotovile spodoben sistem za kodiranje zvočnih podatkov, ne varčujte in ne uporabljajte starejših in manj zmogljivih delov. Sistemskemu upravitelju bo pravi izziv iztisniti iz nizko zmogljivega sistema dobre rezultate in rezultat bodo verjetno srečnejši uporabniki sistemov Linux. Pomembni so tudi kabli za prenos zvočnih signalov. Ceneni, nekakovostni kabli in priključki se bodo kazali s slabo kakovostjo zapisa. Če vaša zvočna kartica omogoča uporabo priključkov phono, včasih imenovanih tudi RCA, jih uporabite. Pozlačene površine kontaktov bodo ohranile kakovost zvoka, enako velja, če boste kable za zvok držali čim dlje od podatkovnih vodov. S tem zmanjšate verjetnost motenj. Ne pozabite pa, da bo pravo bogastvo, ki ste ga odšteli za kable za zvok, vrženo proč, če ne bo optimaliziran tudi preostanek sistema. Če kodirate zvok s plošče, bosta hitrost in vrsta pogona za CDROM odločala o času za branje surovih informacij z njega. Pogon z enojno hitrostjo bo najverjetneje prepočasen za vse, razen za najbolj potrpežljive. Pogon za CDROM mora biti povezan z vašo zvočno kartico, če želite slišati, kaj zapisujete, bodisi z uporabo notranjega priključka bodisi s priključitvijo slušalk v izhod za slušalke, četudi ne boste mogli poslušati datotek MP3 skozi vtičnico za slušalke na pogonu za CDROM. Če si želite podrobnejših informacij o nastavljanju zvočnih kartic, bi bil zdaj pravi čas, da si preberete <em/Sound-HOWTO/. <sect>Programska oprema <p> Pretvorba zvoka v zapis MP3 je ponavadi dvostopenjski proces. Najprej se zvok zapiše v zapis WAV, sledi pa pretvorba iz zapisa WAV v MP3. Nekatera orodja naredijo oboje v enem koraku. Od tega, ali želite kodirati zvok, zapisan v neki datoteki, na plošči CD ali zvok z analognega nosilca, je odvisno, katero orodje boste uporabili za izdelavo datoteke v zapisu WAV. Če želite kodirati zvok z zvočnega vhoda, boste potrebovali program za zajemanje zvoka iz vhoda zvočne kartice in shranjevanje v zapisu WAV. Spodaj je naštetih nekaj koristnih pripomočkov (večina komentarjev je prepisana z domačih strani aplikacij). <sect1> Zajemalniki (angl. rippers) in zapisovalniki v zapisu WAV <p> Za zajemanje iz analognega zvočnega vhoda (angl. line-in): <em/Wavrec/ Wavrec se distribuira kot del paketa Wavplay, ki ga lahko snamete z naslova: <url url="ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/"> Za zajemanje glasbe s plošče CD v zapis WAV (v angleščini se opravilu reče 'CD ripping'): <em/CDDA2WAV/ <url url="http://metalab.unc.edu/pub/Linux/apps/sound/cdrom/"> <em/Cdparanoia/ Cdparanoia je orodje za zajemanje "digitalnega zvoka s plošč CD" (angl. Compact Disc Digital Audio (CDDA)), v internetu znano tudi kot 'ripper'. Aplikacija uporablja knjižnico Paranoia, ki postori vse, kar je treba. Izvirna koda te knjižnice je del distribucije izvirne kode paketa Cdparanoia. Tako kot Cdda2wav tudi paket Cdparanoia prebere zvok s plošče CD kot podatke brez vmesnega analognega koraka in zapiše podatke (ali jih preusmeri po "cevi") v formatih WAV, AIFC ali surovem 16-bitnem linearnem PCM. V primerjavi s Cdda2wav je precej počasnejši, vendar da najboljše rezultate, kar jih je mogoče dobiti, tudi s plošč CD, katerih glasbo je težko pretvoriti zaradi prask ali drugih napak pri branju. <url url="http://www.xiph.org/paranoia/index.html"> <em/RipEnc/ RipEnc je lupinski skript za lupino Bourne Shell in rabi kot vmesnik do programov Cdparanoia, Cdda2Wav, Tosha in BlaRipEnc, 8hz-mp3, L3enc. V zbirki CDDB (angl. CD Data Base -- zbirka podatkov o ploščah CD) poišče imena skladb, ki jih predvajamo. Ime je mogoče določiti tudi ročno. Pretvorite lahko celotno ploščo CD ali le izbrane skladbe. Podprte so oznake ID3. <url url="http://www.asde.com/~mjparme/index.htm"> <em/Cd2mp3/ Cd2mp3 je prosta programska oprema za delo z dvema drugima programoma: Cdda2wav (ki zajema skladbe s plošč CD) in Lame (ki kodira v zapis MP3) <url url="http://sertaozinho.org/cd2mp3/index.html"> <em/RipperX/ RipperX uporablja grafično knjižnico GTK in pretvarja zvok s plošč CD v zapis MP3. Ima vtičnice (angl. plug-in) za Cdparanoio, BladeEnc, kodirnik Lame MP3, XingMp3enc, 8hz-mp3, Lame in kodirnik ISO v2. Podpira tudi CDDB in oznake ID3. <url url="http://www.digitallabyrinth.com/linux/ripperX/"> <em/Grip/ Tudi Grip uporablja knjižnico GTK. Je pretvornik za zvok s plošč v zapis MP3. Zmogljivost vgrajenega pretvornika zvoka s plošč CD je podobna Cdparanoii, lahko pa uporablja tudi zunanje pretvornike, denimo Cdda2wav. Omogoča avtomatiziran vmesnik za kodirnike v zapis MP3, to pa omogoča, da ploščo CD enostavno pretvorite v datoteke MP3. Podprt je protokol CDDB za iskanje podatkov o skladbah iz strežnikov plošč. Grip deluje s programom DigitalDJ, ki omogoča poenoteno "računalniško podprto" različico vaše glasbene zbirke. <url url="http://www.nostatic.org/grip/"> <sect1> Zapisovalniki (angl. encoders) <p> Za pretvarjanje datotek iz zapisa WAV v MP3 boste potrebovali zapisovalnik: <em/Blade's MP3 Encoder/ BladeEnc je prosto dostopen zapisovalnik MP3. Temelji na enakih postopkih ISO za stiskanje kakor MpegEnc, tako lahko pričakujete podobno ali nekoliko boljšo kakovost. Razlikujeta se predvsem po zunanji podobi in hitrosti. BladeEnc nima vmesnika, ki bi bil do uporabnika tako prijaznega kakor MpegEnc, zato pa je več kot trikrat hitrejši in deluje s kar nekaj priljubljenimi grafičnimi vmesniki. <url url="http://bladeenc.cjb.net"> <em/Lame/ V slavni zgodovini poimenovanja GNU pomeni Lame: LAME Ain't an MP3 Encoder (Lame ni zapisovalnik MP3). Lame zares ni zapisovalnik v MP3. Je popravek (angl. patch) z licenco GPL za demonstracijsko izvirno kodo Dist10 ISO. Lame ne more izdelati toka MP3. Nemogoče ga je tudi prevesti. Da bo ta programska oprema delovala, potrebujete izvirno kodo ISO. Ta je prav tako prosto dosegljiva, toda kakršnakoli komercialna raba (skupaj z distribucijo brezplačnih zapisovalnikov) lahko zahteva licenčno pogodbo s podjetjem FhG (Fraunhofer Gesellschaft) iz Nemčije. <url url="http://www.sulaco.org/mp3/"> <em/Gogo/ To je zelo hiter zapisovalnik MP3 za družino procesorjev x86. Temelji na Lamu različice 3.29 beta, optimalizirali pa so ga PEN@MarineCat, Keiichi SAKAI, URURI, kei in shigeo. (Da boste prevedli izvirnik, boste potrebovali še NASM, ki ga najdete na <url url="http://www.web-sites.co.uk/nasm/">). <url url="http://homepage1.nifty.com/herumi/gogo_e.html"> <sect1> Predvajalniki (angl. players) <p> Za predvajanje datotek MP3 boste seveda potrebovali predvajalnik: <em/Xmms (prej znan kot X11Amp)/ Ta predvajalnik ima veliko značilnosti Winampa za okolja Windows 95/98/NT, dodanih pa je tudi nekaj posebnosti, ki so na voljo samo za različico za Linux. <url url="http://www.xmms.org"> <em/Xaudio/ Xaudio je zelo hitra in robustna rešitev za več sistemov za predvajanje digitalnega zvoka, posebej za dekodiranje zvoka v zapisih MPEG (MP1, MP2 in MP3). <url url="http://www.xaudio.com"> <em/AlsaPlayer/ AlsaPlayer je nova vrsta predvajalnika PCM. Je večniten (angl. multi threaded) in poskuša znatno uporabljati knjižnice in gonilnik Alsa. Ima nekaj lastnosti, ki so za Linux/Unix izjemne. Namen je izdelati okvir za predvajanje vseh vrst zvoka in videa, ki bi ga bilo mogoče zajeti v druge aplikacije, s poudarkom na zvočnih podatkih v formatu PCM. <em/Nadzor (npr. višine tonov) pri polni hitrosti, pozitiven *in* negativen! Je prvi predvajalnik za Linux in edini predvajalnik pod licenco GPL, ki to zmore! Datoteke MP3 in plošče CD je mogoče predvajati pri različnih hitrostih./ <url url="http://www.alsa-project.org/~andy/"> <em/Mpg123/ Kaj je Mpg123? To je hiter, prosto dostopen in prenosljiv zvočni predvajalnik MPEG za Unix. Podpira MPEG 1.0/2.0 s sloji 1, 2 in 3 (slovite datoteke MP3) in je bil preizkušen v številnih sistemih, tudi Linux, FreeBSD, NetBSD, SunOs, Solaris, IRIX, HP-UX in drugih. Za predvajanje ob polni kakovosti CD (44 kHz, 16 bit, stereo) je potreben Pentium (ali hitra 486), SPARCstation10, DEC Alpha ali podoben procesor. Predvajanje v načinu mono in/ali ob slabši kakovosti (22 kHz ali 11 kHz) je mogoče tudi s počasnejšimi procesorji 486. <url url="http://dorifer.heim3.tu-clausthal.de/~olli/mpg123/"> <em/FreeAmp/ FreeAmp je razširljiv, za več sistemov prirejen predvajalnik. Zanj je značilen optimaliziran dekoder Xing MPEG (licenca GPL), zato je eden najhitrejših in najboljših predvajalnikov zvoka, kar jih je na voljo. FreeAmp omogoča številne pomembne lastnosti, ki jih uporabnik pričakuje od čistega in za rabo preprostega uporabniškega vmesnika. <url url="http://www.freeamp.org/"> <sect1> Strežniki MP3 (angl. streaming servers) <p> Strežniki MP3 omogočajo oddajanje glasbe MP3 po mreži, ki je lahko vaš intranet ali kar internet. <em/Icecast/ Dobrodošli! Icecast je sistem za oddajanje zvoka v zapisu MPEG, raven III. Zanj skrbi ekipa linuxpower.org. V paketu z Icecastom dobite še programa Iceplay in Icedir. Iceplay prenaša sezname za predvajanje, ki omogočajo, da pošljete strežniku Icecast že kodirane datoteke. <url url="http://www.icecast.org/"> <em/Fluid/ Oddajni strežnik Fluid je program za oddajanje videa in zvoka po omrežju in v zdajšnji različici uporablja zapis MP3. <url url="http://www.subside.com/fluid/"> (stara domača stran) <url url="http://fluid.sourceforge.net/"> (nova domača stran) <em/Litestream/ Litestream je zelo zmogljiv, na odprti kodi temelječ prilagodljiv strežnik MP3 za Unix. <url url="http://www.litestream.net/"> <em/Apache::MP3/ Modul za oddajanje glasbe MP3, ki uporablja spletni strežnik Apache. Ta modul predstavi hierarhijo imenikov z datotekami MP3 kot knjižnico skladb za oddajanje po omrežju, po kateri je mogoče brskati. [Je rezultat projekta CPAN.] <sect1> Mešalniki (angl. mixers) <p> <em/LiveIce/ LiveIce je izvirni odjemalec za Icecast, ki kodira tok MPEG za oddajanje, ko je narejen. V nasprotju z odjemalci, kot sta Shout in IceDJ, omogoča tudi oddajanje zvoka v živo, ne samo vnaprej zapisanih datotek MP3. LiveIce dobite skupaj z Icecastom. Novejše različice dobite skupaj z dokumentacijo na spletni strani: <url url="http://star.arm.ac.uk/~spm/software/liveice.html"> <em/eMixer/ eMixer je vmesnik do Mpg123, ki ga je preprosto uporabljati in omogoča hkratno predvajanje in mešanje dveh tokov MP3. Zaradi zmožnosti mešanja dveh tokov MP3 je eMixer navzkrižni nadzornik jakosti zvoka, to pa uporabniku kar s konzole omogoči podobne zmogljivosti, kot jih ima DJ. eMixer se obnese tudi v okoljih z zabavami v "realnem času". Temelji na izvirni kodi za mešanje MP3, na tej kodi je zgrajen tudi Liveicov modul za mešanje. <url url="http://emixer.linuxave.net/"> <em/GDAM/ GDAM je paket DJ za mešanje v realnem času. Hkrati je mogoče predvajati in mešati poljubno število datotek MP3. Učinki se lahko dodajajo, spreminjajo ali dinamično preurejajo. GDAM temelji na arhitekturi odjemalec/strežnik: zvok nastaja v strežniku, ki lahko sprejema ukaze s poljubnega števila odjemalcev. Druge značilnosti so vtičnice za avdio učinke in vmesniške komponente, predpomnilnik in večkratno izvajanje, sekvencioniranje, dodajanje ritma, prikazovalniki parametrov valovanja in računanje ritma, predvajanje seznamov skladb brez odmorov med njimi, sistem s sprotno pomočjo, klon Mpg123, ki teče v strežniku GDAM, prilagodljiva ukazna vrstica za neposreden nadzor strežnika, zapis celotne "mešanice" ali kateregakoli dela toka v medpomnilnik, disk ali zapis MP3, podpora več zvočnim karticam in podpora strojni opremi MIDI. <url url="http://gdam.org/"> druga povezava: <url url="http://gdam.sourceforge.net"> <sect1> Urejevalnik oznak ID3 <p> <em/Id3ed/ Id3ed je urejevalnik oznak ID3 za datoteke MP3. Oznake lahko nastavljate interaktivno, prek ukazne vrstice ali kar s kombinacijo obojega. Id3ed lahko nastavi zvrst kot ime ali kot številko. Oznake lahko tudi odstranite ali si jih ogledujete. <url url="http://www.azstarnet.com/~donut/programs/id3ed.html"> <em/Mp3info/ MP3info je majhen pripomoček za branje in zapisovanje oznak MPEG, raven 3 (MP3). Obsega različici za konzolo (ukazna vrstica in interaktivni ncurses) in GTK. <url url="http://metalab.unc.edu/mp3info/"> <sect1>Prestrezniki toka (angl. stream grabbers) <p> <em/Streamripper/ Streamripper je zapisovalnik Shoutcastovega toka. Če tok obsega podatke o skladbi (metapodatki), Streamripper vsako skladbo zapiše v posebno datoteko. <url url="http://streamripper.sourceforge.net/"> <em/Wget/ GNU Wget je prosto dostopen omrežni pripomoček za zajemanje datotek iz svetovnega spleta z uporabo protokolov HTTP in FTP, dvema najbolj razširjenima internetnima protokoloma. Deluje neinteraktivno, tako je mogoče delati v ozadju po tem, ko se odjavite iz sistema. <em/Wget je precej več kot prestreznik toka!/ <url url="ftp://ftp.gnu.org/gnu/wget/"> <sect1> Razno <p> <em/Normalizacija jakosti zvoka/ <em/Wavnorm/ Če ste kodirali zvok "v živo" ali zajemali s starejših plošč CD, lahko nastanejo kar precejšnje razlike v nekaterih značilnostih zvoka. <p> Da spremenite jakost kodiranega zvoka datotek MP3, jih boste normalizirali s programom Wavnorm. <url url="http://www.zog.net.au/computers/wavnorm/"> <p> <em/SOX/ Sox je zelo priročen pripomoček za pretvorbo in vam ga zelo priporočam. Potrebovali ga boste, če želite uporabljati Wavnorm. <p> <url url="ftp://sunsite.unc.edu/pub/Linux/apps/sound/convert/"> <p> Morda boste potrebovali tudi program za mešanje. Xmixer deluje zanesljivo in je zajet v večino distribucij. <sect>Nastavljanje vašega sistema <p> Ta razdelek opisuje temelje nastavljanja vašega sistema Linux za zapisovanje zvoka bodisi iz analognega vira bodisi s plošč CD. Razdelek temelji na Linuxu Redhat za Intel, vendar bi moral biti v dobršni meri neodvisen od distribucije. V kratkem bo sledila tudi različica za arhitekturo Sparc. (Če ste imeli kaj uspeha pri uporabi tega spisa na preostali strojni opremi, vas prosimo, da to sporočite avtorju.) Predpogoj je seveda delujoča zvočna kartica. Vabljeni ste, da preberete odličen spis <em/Linux Sound HOWTO/ avtorja Jeffa Tranterja, zatem pa še spis <em/Linux Sound Playing HOWTO/ avtorja Yooja C. Chunga. Oba spisa podrobneje govorita o tem, kako usposobiti sistem za zvok v Linuxu. <sect1>Nastavljanje zajemanja analognega zvoka <p> Najprej nastavite napravo, ki zvok proizvaja. Več načinov je za usmerjanje zvoka, preden pride do računalnika z Linuxom, nekaj najpogostejših je: Analogni izhod (angl. line out) v analogni vhod (angl. line in) vaše zvočne kartice. Večina naprav ima priključek 'line out'. Stopnja line je standard, ki določa, kakšne so izhodne napetosti naprav. Če se prav spomnim, je to 500 mV pri napravah za dom in Semi Pro ter 750 mV za naprave Pro audio. Ugibamo lahko, da bo standardna nastavitev za večino zvočnih kartic 500 mV, nekatere pa so že nastavljene na novejši standard Pro audio. Če ne zapisujete pri visokih napetostih, ne bi smelo biti velike razlike med njimi. Izhod line se ponavadi uporablja za povezavo opreme HI FI z ojačevalnikom, tako da bi se komponente, kot so magnetofon, radijski sprejemniki (angl. tuner), predvajalniki plošč CD, predvajalniki DAT in predvajalniki mini diskov, morale povezati brez težav. Večje nevšečnosti so lahko z gramofoni. Več o tem najdete spodaj. Zvok lahko zajemate tudi iz videorekorderjev. Večina videorekorderjev ima zvočni izhod 'line out', lahko pa tak zvok dobite tudi s priključka SCART, če ga vaš videorekorder ima. Izhod ojačevalnika 'amplifier tape out' v vhod 'line in' zvočne kartice in nasprotno -- izhod zvočne kartice 'line out' v vhod ojačevalnika 'amplifier tape in'. Ta sestava postopoma zamenjuje tradicionalni magnetofon, povezan prek ojačevalnika HI FI, z vašim sistemom Linux. Izhod zvočne kartice 'line out', povezan s 'tape in', omogoča opazovanje stopenj zapisovanja. Mikrofon na vhod za mikrofon (angl. mike in). Napetosti pri mikrofonu so precej nižje od tistih, ki jih uporabljajo naprave z izhodi 'line out'. Če vtaknete mikrofon v priključek za vhod 'line in', najverjetneje ne boste dosti slišali. <em/OPOZORILO: Če storite nasprotno, torej povežete napravo z izhodom 'line out' v vhod za mikrofon, lahko poškodujete zvočno kartico!!/ Gramofon na vhod za mikrofon Najlepša hvala Marku Tranchantu za naslednji prispevek. <em/ Neposreden izhod z gramofonske igle ima zelo majhno moč. Kljub temu ga ne morete priključiti neposredno na vhod za mikrofon in pričakovati dobrih rezultatov. Treba je prilagoditi frekvenčni izhod, ker je v zapisu manj nizkih in več višjih tonov, to pa optimalizira fizikalne lastnosti igle. Ta prilagoditev je natančno predpisana in znana kot izenačitev RIAA. Zato *morate* najprej usmeriti zvok na gramofonski predojačevalnik, nato pa na vhod 'line in'./ Klaviature in sintetizatorji naj bi bili priključeni na vhod 'line in', kitare pa nanj priključimo prek naprave DI (angl. direct injection), ki signal spremeni, da ustreza vhodu 'line in'. Preden karkoli priključite na vašo zvočno kartico, se prepričajte, ali ste jakost zmanjšali na minimum, oziroma če uporabljate mikrofon, preverite, ali je izklopljen ali daleč od zvočnikov. <sect1>Nastavljanje za zajemanje zvoka s plošče CD <p> Nastavljanje sistema za zajemanje zvočnih podatkov s plošče CD je preprosto. Če slišite skladbo, ki se predvaja s plošče CD, prek zvočnikov ali ojačevalnika, ki je priključen na zvočno kartico, je zelo verjetno, da boste ta zvok lahko tudi zapisali. <sect1>Dodatne nastavitve <p> V sistem se prijavite kot običajno, nato uporabite program za mešanje, da nastavite stopnje zapisovanja, tako da so dovolj glasne za spodobno zapisovanje, a ne preglasne in popačene. Navadno lahko to ocenite že zgolj s poslušanjem. Čez čas se boste navadili in vedeli, katere stopnje so za vašo opreme najprimernejše. Priporočamo, da izklopite vse nepotrebne strežnike ali preklopite sistem v enouporabniški način (angl. single user runlevel), še posebej, kadar kodirate zvok z analognih vhodov. Tako zagotovite, da v ozadju tečejo samo zares nujno potrebni procesi, in minimizirate možnosti za motnje med zapisovanjem. Avtor si je zgolj za potrebe zapisovanja zvoka omislil poseben disk s pogonom SCSI. Ta disk je na datotečni sistem priključen prek imenika /mp3. To je bilo storjeno predvsem zaradi boljših zmogljivosti pogona SCSI. Koristno je tudi zapisovanje na poseben pogon, pri čemer ste lahko prepričani, da pisalna glava med zapisovanjem ne bo nenadoma skočila na drugo mesto na disku, ker bi neki proces hotel ravno tako pisati. Glede podrobnosti o nastavitvi sistema Linux z več diskovnimi pogoni bo morda koristen spis <em/Multi-Disk-HOWTO/ avtorja Steina Gjoena. <sect>Kodiranje analognega zvoka <p> Najprej se prepričajte, ali imate na disku dovolj prostora. Za kakovost CD (44,1 kHz, 16 bitov, stereo) boste za vsako minuto potrebovali skoraj 10 MB (5 MB na kanal). Avtor ponavadi zapisuje s kakovostjo DAT, to je 48 kHz, 16 bitov, stereo. Pri uporabi programa Wavrec se ponavadi uporablja naslednja skladnja: /usr/local/bin/wavrec -t 60 -s 48000 -S /mp3/temp.wav Prvi del je polna pot do programa Wavrec. '-t 60' je čas zapisovanja v sekundah. Tretji del '-s 48000' določa frekvenco vzorčenja v vzorcih na sekundo (za DAT znaša 48000, za CD 44100). Zadnja izbira je pot do izhodne datoteke in njeno ime. Če želite videti seznam vseh izbir, poženite <em/wavrec -help/ ali si oglejte njegovo stran s pomočjo (angl. man page). Tako ste naredili datoteko WAV. Zdaj jo morate zakodirati v zapis MP3. Iz ukazne vrstice poženite BladeEnc: /usr/local/bin/bladeenc <em/[izvorna_datoteka] [ciljna_datoteka]/ -br 256000 Izbira -br nastavi hitrost bitov (število bitov na sekundo, angl. bitrate). V tem zgledu je ta parameter nastavljen na najvišjo vrednost 256 kBit/s. Pot do programa BladeEnc je lahko tudi drugačna kot v zgornjem zgledu. Če želite videti seznam vseh izbir, poženite <em/bladeenc -help/. Pravzaprav te izbire sploh ni, vseeno pa se vam bo prikazal opis vseh izbir. Kodirate lahko tudi s programom Lame (pa tudi s programom Gogo, ki temelji na Lamu), kjer boste morali vtipkati naslednji ukaz: /usr/local/bin/lame <em/[izvorna_datoteka] [ciljna_datoteka]/ -b 256 <sect>Kodiranje s plošče CD <p> Podobno kot pri kodiranju analognega zvoka je tudi kodiranje s plošče CD dvodelni proces. Najprej zajamemo zvočne zapise s plošče CD in jih pretvorimo v zapis WAV. Potem to datoteko pretvorimo v zapis MP3.<p> Kodirniki so dveh vrst: za konzolo in za okolje X Window. Oboji opravljajo isto nalogo, vendar je kodirnike za okolje X Window laže uporabljati (in so videti prijaznejši). Tudi tokrat se morate pred kodiranjem prepričati, ali imate dovolj prostora na disku. <sect1>Kodiranje iz ukazne vrstice <p> Avtor je napisal preprost skript za perl, ki bo zajel in shranil skladbe s plošče CD: <code> #!/usr/bin/perl if ($ARGV[0] ne "") { $count = 1; do { $cdcap = system("cdparanoia", $count, "/mp3/cdda.wav"); $track = "$ARGV[1]/track".$count.".mp3"; $enc = system("bladeenc /mp3/cdda.wav $track -br 256000"); $count++; } until $count > $ARGV[0]; exit; } else { print "Uporaba: cdripper [število_skladb] [ciljni_imenik]\n\n"; } </code> Prosimo, upoštevajte, da je zgornji skript zelo osnoven in ne obsega nobenih dodatnih funkcij, kot je preverjanje napak ali iskanje po CDDB. Dopolnite ga lahko v skladu s svojimi potrebami. Najpomembnejše vrstice so: <code>$cdcap = system("cdparanoia", $count, "/mp3/cdda.wav");</code> Ta pokliče zajemalnik Cdparanoia, ki pretvori zvok s plošče CD v zapis WAV. V tem primeru je omenjena Cdparanoia, če pa želite uporabiti CDDA2WAV, morate vrstico popraviti v: <code>$cdcap = system("cdda2wav", $count, "/mp3/cdda.wav");</code> Uporabljeni izbiri sta <em/$count/, ki označuje število skladb za zajemanje, in pot do izhodne datoteke WAV. V tem primeru gre za začasni imenik na disku SCSI. Datoteko WAV nato pretvorimo v zapis MP3 s programom BladeEnc. Ta script je napisan, da ne bi bilo treba vsake skladbe posebej zajeti s plošče CD in je kodirati in da ne bi bilo treba uporabiti paketnega načina Cdparanoie. Tako zmanjšamo velikost potrebnega prostora na disku, ker paketni način Cdparanoie obdela celotno ploščo CD in porabi vse do 600 MB. Če želite uporabiti Lame ali Gogo, nadomestite klic kodirnika z: <code> $enc = system("lame /mp3/cdda.wav $track -b 256"); </code> ali <code> $enc = system("gogo /mp3/cdda.wav $track -b 256"); </code> Sledi še prevedeni seznam izbir za vsak kodirnik. Bladeenc <code> BladeEnc 0.91 (c) Tord Jansson Domača stran: http://bladeenc.mp3.no =============================================================================== BladeEnc je prosta programska oprema, distribuira se z dovoljenjem LGPL. Oglejte si datoteko COPYING, domačo stran BladeEnc ali www.fsf.org za podrobnosti. Uporaba: bladeenc [globalna_stikala] vh_dat1 [izh_dat1 [stikala]] vh_dat2 ... Splošna stikala: -[kbit], -br [kbit] Nastavi bitno hitrost MP3. Privzeto je 128 (64 za mono). -crc Datoteka MP3 obsega podatke o kontrolni vsoti. -delete, -del Zbriši zapis po uspešnem kodiranju. -private, -p V izhodni datoteki nastavi 'private-flag'. -copyright, -c V izhodni datoteki nastavi 'copyright-flag'. -copy V izhodni datoteki zbriši 'original-flag'. -mono, -dm Naredi datoteke mono MP3 s kombiniranjem kanalov stereo. -leftmono, -lm Naredi datoteke mono MP3 samo iz levega kanala stereo. -rightmono, -rm Naredi datoteke mono MP3 samo iz desnega kanala stereo. -swap Zamenjaj levi in desni kanal stereo. -rawfreq=[freq] Določi frekvenco vzorčenja. Privzeto je 44100. -rawbits=[bits] Določi število bitov na kanal za vzorce. Privzeto je 16. -rawmono Določi, da so vzorci v načinu mono, ne stereo. -rawstereo Določi, da so vzorci v načinu stereo (privzeto). -rawsigned Določi, da so vzorci zapisani predznačeno (privzeto). -rawunsigned Določi, da so vzorci zapisani nepredznačeno (nenegativna števila). -rawbyteorder=[order]Določi vrstni red zlogov v vzorcu: LITTLE ali BIG. -rawchannels=[1/2] Določi število kanalov za vzorec. Naredi isto kot -rawmono oz. -rawstereo. Samo globalna stikala: -quit, -q Po koncu končaj program, ne da bi čakal na pritisnjeno tipko. -outdir=[dir] Shrani MP3 datoteke v določen imenik. -quiet Onemogoči pisanje na zaslon. -nocfg Ne upoštevaj nastavitev konfiguracijske datoteke. -prio=[prio] Določi BladeEncovo prioriteto. Veljavne nastavitve so HIGHEST, HIGHER, NORMAL, LOWER, LOWEST (privzeta) in IDLE. -refresh=[rate] Hitrost osveževanja za prikaz napredka. 1 = najhitrejša, 2 = privzeta. -progress=[0-8] Kateri kazalec napredka naj se uporablja. 0 = izklopljeno, 1 = privzeto. Vhodne/izhodne datoteke se lahko nadomestijo s STDIN in STDOUT. </code> Lame <code> LAME različica 3.50 (www.sulaco.org/mp3) GPSYCHO: GPL psycho-acoustic model različica 0.74. UPORABA : lame [izbire] <vhodna_datoteka> [izhodna_datoteka] <vhodna_datoteka> in/ali <izhodna_datoteka> je lahko "-", kar pomeni stdin/stdout. IZBIRE : -m mode (s)tereo, (j)oint, (f)orce ali (m)ono (privzeto je j) force = prisili ms_stereo vsem okvirom. Je hitreje in uporablja posebne maskirne pragove Mid & Size -b <bitrate> nastavi bitno hitrost, privzeto 128 kBit/s (pri VBR to nastavi najmanjšo dovoljeno bitno hitrost) -s sdreq frekvenca vzorčenja vhodne datoteke v kHz -- privzeto 44.1 --resample sfreq frekvenca vzorčenja izhodne datoteke v kHz Privzeto je enako sfreq vhodne datoteke --mp3input vhodna datoteka je v zapisu MP3 --voice poskusni glasovni način -v uporabi spremenljivo bitno hitrost (VBR) -V n nastavitev kakovosti VBR. privzeto n = 4 0 = visoka kakovost, daljše datoteke. 9 = krajše datoteke -t onemogoči informacijske oznake Xing VBR --nohist onemogoči prikaz histograma VBR -h uporabi (možne) izboljšave kakovosti -f hiter način (slaba kakovost) -k onemogoči rezanje pri frekvenci sfb = 21 -d kanala imata lahko različni vrsti blokov --athonly uporabi samo ATH za maskiranje -r vhod je v zapisu PCM -x prisili menjanje zlogov na vhodu -a pretvori iz sterea v datoteko mono za kodiranje mono -e emp ne-poudari n/5/c (zastarelo) -p zaščita pred napakami. vsakemu okviru doda 16-bitno kontrolno vsoto (ki se izračuna pravilno) -c označi kot avtorsko zaščiteno (copyright) -o označi kot neizvirno (non-original) -S ne izpisuj poročila o napredku in histogramov VBR Določitev katerekoli izmed naslednjih možnosti bo dodala oznako ID3 --tt <title> naslov skladbe (največ 30 znakov) --ta <artist> izvajalec skladbe (največ 30 znakov) --tl <album> album, od koder izhaja skladba (največ 30 znakov) --ty <year> letnica izdaje (največ 4 znaki) --tc <comment> dodatne informacije (največ 30 znakov) frekvence vzorčenja MPEG1 (kHz): 32 44.1 48 bitne hitrosti (kBit/s): 32 48 56 64 80 96 112 128 160 192 224 256 320 frekvence vzorčenja MPEG2 (kHz): 16 22.05 24 bitne hitrosti (kBit/s): 8 16 24 32 40 48 56 64 80 96 112 128 144 160 </code> Gogo <code> GOGO-no-coda razl. 2.24 (12. Feb 2000) Copyright (C) 1999 PEN@MarineCat and shigeo Posebna zahvala Keiichi SAKAI, URURI, Noisyu in Kei Gogo temelji na LAME3.29beta in se razširja z dovoljenjem LGPL uporaba gogo vhodniPCM [izhodniPCM] [izbire] vhodniPCM je vhodna datoteka WAV če je input.wav enak `stdin', deluje v načinu stdin izhodniPCM je izhodna datoteka MP3 (lahko se izpusti) izbire -b kbps bitna hitrost [kBit/s] -br bps bitna hitrost [Bit/s] -silent ne izpisuj poročil o napredku -off {3dn,mmx,kni(sse),e3dn} -v {0,..,9} VBR [0:visoka kakovost 9: veliko stiskanje] Ta možnost naj bi se kombinirala z izbiro -b samo za vhod v formatu surovi PCM (RAW-PCM) -offset bytes preskoči zaglavje podane velikosti -8bit 8-bitni PCM [privzet je 16-bitni PCM] -mono mono PCM [privzet je stereo PCM] -bswap zamenjava nižjega in višjega zloga pri 16bitPCM -s kHz frekvenca PCM [privzeto 44,1 kHz] -nopsy onemogoči način 'psycho-acoustics' -m {s,m,j} izhodni format s:stereo, m:mono, j:j-stereo -d kHz spremeni frekvenco vzorčenja izhoda MP3 -emh {n,c,5} ne-poudari -lpf {on,off} 16kHz filter [privzeto se uporabi če <= 128kbps; se ne uporabi če >= 160kbps] -test način 'benchmark' -delete po kodiranju zbriši vhodno datoteko </code> <sect2>RipEnc<p> RipEnc se uporablja enako kakor zgornji zgledi, le da je lupinski skript in ga je laže uporabljati. Preveden pa je videti takole: <code> RipEnc različica 0.7, Copyright (C) 1999 Michael J. Parmeley <mjparme@asde.com>, za RipEnc NE VELJAJO ZAGOTOVILA Trenutno v ozadju NE poteka kodiranje. Vaša datoteka encode.log je dolga 982607 zlogov. <Vnesite 'd' za pojasnila, 'v' za sledenje dnevniškim zapiskom, ali 'del' za brisanje teh zapiskov> 1) Spremeni delovni imenik.......................[/megajukebox/tmp] 2) Izberi kodirnik...............................[lame] 3) Izberi zajemalnik.............................[cdparanoia] 4) Izberi orodje za id3..........................[nobeno] 5) Preklopi med ročnim in poimenovanjem CDDB.....[ročno] 6) Nastavi spremenljivko XMCD_LIBDIR za CDA .....[/var/X11R6/lib/xmcd] 7) Uporabi priljubljeni dogovor za poimenovanje..[izvajalec-ime_skladbe.mp3] 8) Zajamem celotno ploščo CD?....................[ne] 9) Uporabim možnost za majhne diske?.............[ne] 10) Izberi CDROM.................................[/dev/cdrom] 11) Nastavi bitno hitrost kodiranih datotek MP3..[256] 12) Seznam datotek v delovnem imeniku 13) Začetek 14) O programu 15) Izhod ? </code> <sect2>CD2MP3 <p> Cd2mp3 je enokoračni zapisovalnik glasbe s plošč CD v zapis MP3, ne da bi se vmes izdelale datoteke v zapisu WAV. Njegovo delovanje je prevedeno videti takole: <code> [dj@megajukebox]$ cd2mp3 options ALL Jezik: 1 - angleščina. Prevajalec: Gustavo Sverzut Barbieri(k-s) <gsbarbieri@hotmail.com> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Cd2Mp3 1.0 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Avtor: Gustavo Sverzut Barbieri (k-s) <gsbarbieri@hotmail.com.br> *** pogon za CDROM: -D/dev/cdrom tip: -Icooked_ioctl *** zvočna kartica: /dev/dsp *** prednastavitev: trak *** avtorska zaščita: Da. *** avtor: *** album: zapisujem: '1' kot 'track-1.mp3' (čakaj) V redu! (zapisano) zapisujem: '2' kot 'track-2.mp3' (čakaj) </code> Seveda lahko v ukazni vrstici podaste tudi druge izbire. Preveden seznam teh izbir je: <code> dj@megajukebox]$ cd2mp3 --help %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Cd2Mp3 1.0 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Avtor: Gustavo Sverzut Barbieri (k-s) <gsbarbieri@hotmail.com.br> Uporaba: cd2mp3 izbire <številka_skladbe>="<ime_skladbe>" ... <številka_skladbe>="<ime_skladbe>" ali: cd2mp3 izbire ALL (za zapis vseh skladb) ali: cd2mp3 izbire LIST=<pot_do_seznama_skladb> (v obliki dvojic: <številka_skladbe>="<ime_skladbe>" v datoteki) ali: cd2mp3 izbire PLAY=<številka_skladbe> VOL=[0..100] (samo predvajanje skladbe) Izbire: DEV=<pogon_za_CDROM> (privzeto: /dev/cdrom) DEV_TYPE=[generic_scsi|cooked_ioctl] (privzeto: cooked_ioctl) AUDIO_DEV=<zvočna_kartica> (privzeto:/dev/dsp) LANGUAGE=<številka_jezika> (LANGUAGE=help za seznam podprtih jezikov) COPYRIGHT=[YES|NO] PRESET=[phone|voice|fm|tape|hifi|cd|studio] (PRESET=help za več informacij) ALBUM="<naslov_albuma>" AUTHOR="<avtorjevo_ime>" </code> <sect1>Kodirniki z grafičnim uporabniškim vmesnikom <p> Kodirniki z grafičnim uporabniškim vmesnikom ponujajo vso funkcionalnost kodiranja iz ukazne vrstice, le da vse skrijejo za prijazen in preprost grafični vmesnik. Grip in RipperX delujeta podobno, oba omogočata izbiranje med eno, več ali kar vsemi skladbami na plošči CD in njihovo pretvorbo. Podpirata tudi CDDB, ki lahko poišče vse podatke o plošči in skladbah kar v strežniku, tako si prihranite nekaj dela z ročnim vnašanjem podatkov. <sect1>Zmožnosti kodirnikov <p> V razdelkih o kodirnikih smo omenili tri kodirnike: BladeEnc, Lame in Gogo. Poglavitna razlika med njimi je njihova zmožnost kodiranja (čeprav se razlikujejo tudi po ponujenih izbirah). Oglejmo si zgled, pri katerem smo najprej zajeli skladbo s plošče CD in zatem skladbo kodirali z različnimi kodirniki. Vsi kodirniki so bili pognani pod enakimi pogoji in vsi so ustvarili datoteko MP3 stereo. <code> [dj@megajukebox]$ ls -l cdda.wav -rw-rw-r-- 1 dj dj 59823164 Feb 10 00:56 cdda.wav [dj@megajukebox]$ bladeenc cdda.wav -br 256 BladeEnc 0.91 (c) Tord Jansson Homepage: http://bladeenc.mp3.no =============================================================================== BladeEnc is free software, distributed under the Lesser General Public License. See the file COPYING, BladeEnc's homepage or www.fsf.org for more details. Files to encode: 1 Encoding: ../test.wav Input: 44.1 kHz, 16 bit, stereo. Output: 128 kBit, stereo. Completed. Encoding time: 00:05:58 (0.78X) All operations completed. Total encoding time: 00:05:58 -------------------------------------------------------------------------------- [dj@megajukebox]$ lame cdda.wav -b 256 LAME version 3.50 (www.sulaco.org/mp3) GPSYCHO: GPL psycho-acoustic model version 0.74. Encoding ../test.wav to ../test.wav.mp3 Encoding as 44.1 kHz 128 kbps j-stereo MPEG1 LayerIII file Frame | CPU/estimated | time/estimated | play/CPU | ETA 10756/ 10756(100%)| 0:02:28/ 0:02:28| 0:02:29/ 0:02:29| 1.9074| 0:00:00 -------------------------------------------------------------------------------- [dj@megajukebox]$ gogo cdda.wav -m s -b 256 GOGO-no-coda ver. 2.24 (Feb 12 2000) Copyright (C) 1999 PEN@MarineCat and shigeo Special thanks to Keiichi SAKAI, URURI, Noisyu and Kei MPEG 1, layer 3 stereo inp sampling-freq=44.1kHz out sampling-freq=44.1kHz bitrate=256kbps inp sampling-freq=44.1kHz out sampling-freq=44.1kHz bitrate=128kbps input file `../test.wav' output file `../test.mp3' { 10751/ 10755} 100.0% ( 2.94x) re:[00:00:00.03] to:[00:01:35.42] End of encoding time= 95.430sec </code> Kot kaže, ima Gogo precej bolje optimaliziran algoritem za kodiranje kot BladeEnc in Lame. <sect>Oddajanje glasbe MP3 <p> Strežnik za oddajanje vam omogoča prenos glasbe po omrežju TCP. To je lahko internet ali vaše krajevno omrežje (intranet). Načelo povezovanja je zelo podobno kot pri spletnih strežnikih. Glasba se prenaša, ko se odjemalec (predvajalnik MP3) poveže s strežnikom. <sect1>Icecast <p> Ko datoteko prenesemo v svoj računalnik in jo razpakiramo, si je koristno ogledati imenik /doc. Priročnik v formatu HTML je obsežen in zelo v pomoč. Če ste si prenesli izvirno kodo, sledite navodilom za prevajanje v vašem sistemu. Icecast ne bo deloval pravilno, dokler ne nastavite imena strežnika v nastavitveni datoteki <em/icecast.conf/, ki je v imeniku /etc. Ime se mora natančno ujemati s tistim, ki pripada vašemu naslovu IP. Če ob zagonu Icecasta zagledate naslednjo vrstico, ste naredili napako: <code> -> [05/Jan/2000:17:21:04] WARNING: Resolving the server name [your.server.name] does not work! </code> Odprite datoteko icecast.conf v imeniku /etc, poiščite vrstico z vnosom za "server_name" in vnesite ime strežnika. Če niste prepričani, kakšno je, ga izveste z ukazom <em>hostname</em> ali z ukazom <em>cat /etc/hosts</em>. Ko ste opravili vse spremembe, boste morali ali skopirati datoteko conf v imenik bin ali pognati Icecast z možnostjo -c in določiti mesto datoteke, npr. <code> ./icecast -c ../etc/icecast.conf </code> Če ste vse nastavili pravilno, bi morali videti nekaj podobnega: <code> [dj@megajukebox bin]$ ./icecast -c ../etc/icecast.conf -d /home/dj/mp3/icecast/ Icecast Version 1.3.0 Starting... Icecast comes with NO WARRANTY, to the extent permitted by law. You may redistribute copies of Icecast under the terms of the GNU General Public License. For more information about these matters, see the file named COPYING. [05/Jan/2000:18:36:30] Icecast Version 1.3.0 Starting.. [05/Jan/2000:18:36:30] Using stdin as icecast operator console [05/Jan/2000:18:36:30] Tailing file to icecast operator console [05/Jan/2000:18:36:30] Server started... [05/Jan/2000:18:36:30] Listening on port 8000... [05/Jan/2000:18:36:30] Using [megajukebox] as servername... [05/Jan/2000:18:36:30] Max values: 1000 clients, 1000 clients per source, 10 sources, 5 admins -> [05/Jan/2000:18:36:30] [Bandwidth: 0.000000MB/s] [Sources: 0] [Clients: 0] [Admins: 1] [Uptime: 0 seconds] </code> Izbira -d nastavi imenik za dnevniške datoteke LOG in predloge (osnutke). Spodaj so prevedeni opisi vseh možnosti iz ukazne vrstice: <code> -c [nastavitvena_datoteka] Razčleni kot konfiguracijsko datoteko. Prosimo, upoštevajte, da vsak parameter iz ukazne vrstice, ki ga podaste, prekrije ustrezne nastavitve v datoteki. Upoštevajte tudi, da je icecast.conf v trenutnem imeniku že razčlenjen, ko podaste to datoteko, tako da strežnik uporabi vse, kar v icecast.conf ni bilo 'povoženo'. -P [številka_vrat] To so strežniška vrata za povezavo z odjemalci, virom in upraviteljem. Privzeta vrednost je 8000. -m [največ_odjemalcev] Omeji število povezav odjemalcev. Ko bo to število doseženo, bodo vsi nadaljnji odjemalci zavrnjeni s sporočilom 'HTTP/1.0 504 Server Full' (HTTP/1.0 504 Strežnik je preobremenjen). -p [geslo_kodirnika] Določi geslo, ki ga mora kodirnik uporabiti, da lahko pošlje tok v strežnik. Upoštevajte, da mora biti ta argument zakodiran niz, če ste prevedli strežnik s podporo crypt(). -b Prestavi strežnik Icecast v ozadje (postane t. i. demon proces). Če želite zdaj uporabljati ukaze za upravljanje, se morate povezati s strežnikom kot upravitelj z uporabo kateregakoli odjemalca za telnet. -d [imenik] Vse dnevniške (angl. log) datoteke, ki jih naredi Icecast, in vse predloge, ki jih uporablja Icecast, naj bodo relativne na ta imenik. </code> Tako, strežnik smo pognali, zdaj moramo povezati vir datotek MP3 s strežnikom. Izbirate lahko med dvema programoma, ki dostavljata podatke o datotekah MP3 strežniku: Shout in LiveIce. <sect2>Shout <p> Shout (dobite ga skupaj z Icecastom) podaja Icecastu statičen predvajalni seznam datotek MP3 za oddajanje. Seznam datotek MP3, ki jih želite oddajati, naredite takole: <code> find [imenik_MP3] -name *.mp3 -print > playlist </code> Najpreprosteje boste zagnali Shout, če vnesete: <code> [dj@megajukebox bin]# ./shout megajukebox -P hackme -p playlist </code> Izbira -P poda geslo, ki je potrebno za dodajanje priklopnih točk (angl. mount point) Icecastu. Trenutno je nastavljeno na <em>hackme</em>. Močno vam priporočamo, da ga spremenite, preden to stori kdo drug. Izbira -p določi mesto datoteke s predvajalnim seznamom. Sledi prevedeni seznam vseh izbir iz ukazne vrstice: <code> [dj@megajukebox bin]# ./shout Upraba: shout <naslov_strežnika> [možnosti] [[-b <bitna_hitrost] datoteka.mp3]... Izbire: -B <directory> - Uporabi imenik za vse Shoutove datoteke. -C <file> - Uporabi datoteko file kot nastavitveno datoteko. -D <dj_file> - Poženi tole pred vsako skladbo (system()). -P <password> - Uporabi podano geslo. -S - Prikaži vse nastavitve in končaj. -V - izpisu naj bo več informacij. -X <desc> - Uporabi podani opis. -a - Vklopi samodejno popravljanje bitne hitrosti (prenosa). -b <bitrate> - Začni uporabljati podano bitno hitrost. -d - Aktiviraj dj. -e <port> - Poveži se s strežniškimi vrati. -f - Izpusti datoteke, ki ne ustrezajo podani bitni stopnji. -g <genre> - Uporabi podano zvrst. -h - Pokaže to besedilo (v angleščini). -i - Uporabi stara zaglavja icy. -k - Ne skrajšuj notranjega seznama za predvajanje (nadaljuj). -l - Ponavljaj brez konca. -m <mount> - Uporabi podano priklopno točko ('mount point'). -n <name> - Uporabi podano ime. -o - Izklopi samodetekcijo bitne hitrosti. -p <playlist> - Uporabi podano datoteko kot seznam za predvajanje. -r - Premešaj seznam za predvajanje (naključno predvajanje). -s - (Skrivnost) Ne pošiljaj metapodatkov imeniškemu strežniku (angl. directory server). -u <url> - Uporabi podani URL. -v - Pokaži različico. -x - Ne posodobi nakazane datoteke (prihrani procesorsko moč). -z - Deluj v ozadju (način demon). -t - Omogoči tok naslovov. </code> <sect2>LiveIce<p> LiveIce lahko deluje v dveh načinih. Icecastu lahko poda seznam za predvajanje, lahko pa mu poda neposreden zvok iz zvočne kartice. Ko odpakirate datoteke in preberete README, ki se nanaša na prevajanje in postavljanje paketa, se prepričajte, ali je Mpg123 nameščen in na voljo, ker ga LiveIce zahteva. LiveIce lahko nastavite na dva načina: z urejanjem konfiguracijske datoteke s katerimkoli urejevalnikom (npr. VI ali Emacs) ali z uporabo na Tk temelječega orodja, kar je precej lepši način urejanja. Najboljše mesto za opis vseh podrobnosti datoteke liveice.cfg najdete na LiveIcovi domači strani, kjer je Scott razložil vse izbire. Sledi kopija avtorjeve nastavitvene datoteke (s prevedenimi komentarji) z LiveIcom, nastavljenim na mešalni način (angl. mixer mode), kar označuje tok iz seznama datotek MP3. OPOMBA: V datoteki so tudi pojasnila. Če jo boste prenesli v svoj računalnik, pazite, da se deli pojasnil ne bodo prenesli v nove vrstice, ker LiveIce ne bo deloval. <code> # liveicova konfiguracijska datoteka # Samodejno ustvarjena SERVER megajukebox # Ime vašega strežnika * MORA BITI VELJAVNO IME, # KI SE MU DA DOLOČITI IP* PORT 8000 # Vrata, na katerih teče Icecast NAME Megajukebox # Informacije o imenu vašega strežnika, # ki se pošlje odjemalcem in # imeniškim strežnikom (angl. directory server) # Npr.: 'Sarah FM' ali # 'ThisTown: Loud and Heavy Jazz - Internet Radio 24/7' GENRE Live # Informacije o zvrsti. Npr.: 'Talk' ali 'Dance' DESCRIPTION # Informacije o postaji, npr.: # 'The best for reggae in the North' URL http://megajukebox:8000 # URL in vrata strežnika PUBLIC 0 # Postavite na 1, če želite, da Icecast obvesti # vašo postajo in prikaže seznam podrobnosti # v imeniškem strežniku, drugače pustite 0 XAUDIOCAST_LOGIN # Lahko je ICY_LOGIN ali X_AUDIOCAST_LOGIN. # X_AUDIOCAST je boljši. MOUNTPOINT /techno # Nastavi priklopno točko za Icecastov tok. Uporabi # se samo, kadar je uporabljen X_AUDIOCAST, # drugače se privzame icy_0 PASSWORD hackme # Icecastovo upraviteljsko geslo SAMPLE_RATE 44100 # Frekvenca vzorčenja toka STEREO # Lahko je MONO ali STEREO NO_SOUNDCARD # Oglejte si spodaj HALF_DUPLEX # Določi dvosmerni način zvočne kartice. # Lahko je HALF_DUPLEX or FULL_DUPLEX USE_GOGO # Določi uporabljeni kodirnik. # Poglejte README za seznam podprtih. BITRATE 128000 # Določi bitno hitrost toka (glejte spodaj). VBR_QUALITY 1 # Določi kakovost spremenljivega bitnega toka. MIXER # Glej spodaj. PLAYLIST /megajukebox/playlist # Mesto seznama za predvajanje (glej # podrobnosti ukaza find v nadaljevanju poglavja) TRACK_LOGFILE track.log # Ime datoteke in mesto za izpis seznama # pretočenih datotek MP3 </code> Ko ste napisali konfiguracijsko datoteko, poženite LiveIce: <code> [dj@megajukebox liveice]$ ./liveice /megajukebox/playlist 1 opening connection to megajukebox 8000 Attempting to Contact Server connection successful: forking process opening pipe!... writing password Setting up Interface Soundcard Reopened For Encoding Input Format: 16Bit 44100Hz Stereo Output Format: 256000 Bps Mpeg Audio IceCast Server: megajukebox:8000 Mountpoint: /techno Name: megajukebox - this and that radio - broadcasting 24/7 Genre: Techno Url: http://megajukebox Description: a load of digital noise -> but i know you like it :) Press '+' to Finish adding /megajukebox/demotunes/track_1.mp3 adding /megajukebox/demotunes/track_2.mp3 adding /megajukebox/demotunes/track_3.mp3 adding /megajukebox/demotunes/track_4.mp3 /megajukebox/demotunes/track_4.mp3 Adding New Channel 1 Adding New Channel 2 Channel 1 selecting /megajukebox/demotunes/track_1.mp3 Channel 2 selecting /megajukebox/demotunes/track_1.mp3 Playing track_1.mp3 searching for Id3v2 searching for Id3v1 copying the data fixing the nulls adding the url closing input file Using log track.log </code> Zadnja vrstica je merilnik konic. Sledijo tipke za upravljanje mešalnega načina: <code> Učinek Tipka za kanal 1 Tipka za kanal 2 ~~~~~~ ~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~ Izbira naslednje skladbe na kanalu 1 a Izbira prejšnje skladbe na kanalu q z Poženi/ustavi kanal 2 s Ponastavi (angl. reset) kanal w x Povečaj jakost na kanalu 3 d Zmanjšaj jakost na kanalu e c Povečaj hitrost kanala 4 f Zmanjšaj hitrost kanala r v Lepljiv način vključi/naključen/izključi 5 g Ogled kanala t b Naključna skladba u m </code> Zgornja datoteka liveice.cfg velja za mešalni način. Če želite uporabiti LiveIce v načinu avdio (angl. audio mode), spremenite vrstico, ki se nanaša na MIXER, v NOMIXER, spremenite NO_SOUNDCARD v SOUNDCARD in še enkrat poženite LiveIce. Če pozabite nastaviti pravilne parametre, boste dobili zanimiva opozorila: <code> 946:Error: Line In mode *and* no soundcard??????? Eeejit! </code> Ko vam je uspelo vse pravilno nastaviti in priključiti na zunanji vir, bi oddajanje moralo delovati: <code> [dj@megajukebox liveice]$ ./liveice /megajukebox/playlist 0 Initialising Soundcard 16Bit 22050Hz Stereo Full Duplex opening connection to megajukebox 8000 Attempting to Contact Server connection successful: forking process opening pipe!... writing password Setting up Interface Soundcard Reopened For Encoding Input Format: 16Bit 22050Hz Stereo Output Format: 32000 Bps Mpeg Audio IceCast Server: megajukebox:8000 Mountpoint: /daves_band_live_at_the_club Name: megajukebox - Dave and the Dynamite - Live at the Roxy Genre: Live/Rock Url: http://megajukebox Description: megajukebox::Louder than a frog in a trashcan..... and almost as musical Press '+' to Finish Lvl: L: 8704 R: 11776 </code> Zadnja vrstica je merilnik stopnje signala. Če je stopnja vhodnega signala previsoka, se bo prikazalo opozorilo *clip*. Če se to zgodi, zmanjšajte ojačenje vhodnega vira. Pozornejši boste morda opazili, da prve vrstice s pojasnili v datoteki liveice.cfg nakazujejo, da je bila datoteka narejena samodejno. Če uporabljate grafični uporabniški vmesnik liveiceconfigure.tk, temelječ na Tk, in izvedete ročne spremembe, boste te spremembe izgubili ob shranjevanju. Ali uporabljajte samo grafični uporabniški vmesnik ali pa se naučite uporabljati Vi oz. Emacs. <sect1>Fluid <p> Ko razpakirate distribucijo programa v imenik, najprej preberite datoteko README. Fluid ima tri načine delovanja: prenosni (angl. transmit), povezovalni (angl. relay) in posredovalni (angl. forward). Osredotočili se bomo na prenosni način (transmit). Nastavitvene datoteke za ta način so v imeniku config/MP3TX.cfg. Strežnik preizkusite z naslednjim ukazom, ki bi moral delovati tudi s privzetimi nastavitvami: java Fluid TX Seveda morate najprej imeti nameščeno javo v katerikoli obliki. Uporabite lahko Blackdown (različica JDK za Linux, na voljo na <url url="http://www.blackdown.org">), če pa imate Redhat, lahko uporabite tudi Kaffe. Poleg Fluida dobite tudi nekaj vzorčnih datotek MP3. Če vse deluje pravilno, bi se moralo prikazati nekaj podobnega sledečemu, k čemur dodajmo še, da je v tem primeru uporabljen Kaffe, lahko pa ga poženete tudi z uporabo jave: <code> [dj@megajukebox Fluid-Beta2J]$ kaffe Fluid tx ------- Fluid Streaming Server Beta 2 ------- This program is ShareWare(tm) and it will not be crippled in any way because of it. However if you do like the program and will use it commercial purposes, we ask of you to contact us at the address below for pricing info: Eldean AB E-mail: Sjoangsvagen 7 fluid@subside.com S-192 72 Sollentuna SWEDEN Fluid is Copyright Subside (C) 1998 written by Lars Samuelsson http://www.subside.com --------------------------------------------- * Transmission mode * Reading config from: config/MP3TX.cfg Reading playlist: playlist.m3u Server started on port: 2711 Accepting administrator login on port: 2710 P| Dr. Nick - Hello Everybody </code> Če ste prišli tako daleč, kaže, da vse deluje, zagotovo pa želite oddajati še kaj več kot demonstracijske datoteke! Prevesti boste morali seznam datotek, ki jih želite oddajati. To bo statični seznam, uporabniki ga ne bodo mogli spreminjati ali pošiljati zahtev. Ta seznam se imenuje playlist.m3u in je v korenskem imeniku. Za zajemanje seznama vseh datotek MP3 v določenem imeniku (ali disku) in imenikih pod njim izvedite naslednji ukaz: <code> find [MP3_imenik] -name *.mp3 -print > playlist.m3u </code> Strežnik privzeto uporablja vrata 2711, kamor se bodo povezovali poslušalci. Če želite to spremeniti, morate to storiti v konfiguracijski datoteki. Strežnik lahko upravljate na daljavo, tako da se s telnetom povežete na upraviteljska vrata, privzeto je to 2710: <code> [dj@megajukebox Fluid-Beta2J]$ telnet localhost 2710 Trying 127.0.0.1..megajukebox Connected to localhost.localdomain. Escape character is '^]'. jaguar You are connected to the -Fluid- Streaming Server Type "help" for a command reference help The following commands are available: help conn curr exit curr Information about the currently broadcasted song: Title: Beer Talk Artist: Homer Simpson Album: The Simpsons Year: 1996 Comment: Borrowed this as an example Genre: Comedy </code> "jaguar" je privzeto upraviteljsko geslo. Ne pokaže se noben poziv za vnos gesla, zato ne čakajte nanj! Predlagamo, da geslo spremenite, drugače tvegate vdor! Spremenite ga lahko v konfiguracijski datoteki, ki je prevedena videti tako: <code> [dj@megajukebox config]$ cat MP3TX.cfg 2711 2710 5 4096 32 1000 jaguar playlist.m3u current.txt # --- Vrstice pomenijo --- # 1. Številka vrat (ki jih uporablja strežnik) # 2. Številka vrat (za vzdrževanje strežnika na daljavo) # 3. Največje število povezav (ki jih strežnik sprejme) # 4 Velikost paketa pri branju/pošiljanju (v zlogih) # 5. Bitna hitrost datotek MP3 v kBit/s (Vse datoteke morajo imeti enako hitrost) # 6. Premor med skladbami (v milisekundah) # 7. Geslo za upravljanje na daljavo # 8. Ime seznama skladb za oddajanje (seznam v formatu .m3u) # 9. Ime datoteke, v katero se izpišejo podatki o skladbi (iz oznake ID3) </code> Seznam za predvajanje je v zapisu m3u, kar pomeni, da gre za enak zapis, kot je bil narejen s prej omenjenim ukazom find. <sect2>Posodobitev za RC1 <p> Fluid je bil posodobljen in izdan z dovoljenjem GPL (le tako naprej, Lars!). Najpomembnejše razlike so: <p> <itemize> <item>Nova oblika nastavitvene datoteke fluid.config <item>Nova privzeta strežniška vrata 4711 <item>Nov način zagona in ustavljanja. Zdaj temu rabita skripta <em/fluid.start/ in <em/fluid.stop/ <item>Izvirna koda je zdaj del distribucije. Hura! </itemize> <sect1>Litestream <p> Litestream je po delovanju podoben Icecastu. Sistem je sestavljen iz strežnika za oddajanje glasbe in vira glasbe MP3. Strežnik poženete z naslednjim ukazom: <code> [dj@megajukebox]$ litestream <vrata_vira> <vaš_naslov> <vrata_za_oddajanje> <št._poslušalcev> <dnevniška_oznaka> [<naslov_yp> <vrata_yp>] </code> Izbire pomenijo: <em/vrata_vira/ Številka strežniških vrat, kamor se poveže vir glasbe. <p> <em/vaš_naslov/ To je številka IP ali polno ime vašega strežnika (izveste ga z ukazom hostname (ime domene) ali cat /etc/hosts za naslov IP). <p> <em/vrata_za_oddajanje/ Številka strežniških vrat, kamor se povezujejo odjemalci. <p> <em/št._poslušalcev/ Največje dovoljeno število odjemalcev, ki se lahko priključijo na strežnik. <p> <em/dnevniška_oznaka/ Dnevniška sporočila se pišejo v datoteko /var/log/messages. <dnevniška_oznaka> je oznaka za prepoznavanje Litestreamovih sporočil, npr. Če uporabite oznako 'Litestream', bo začetno sporočilo strežnika v /var/log/messages videti nekako takole: <code> Sep 18 19:32:20 linux Litestream[1901]: stream.c:555: main: 'server started' </code> <naslov_yp & vrata_yp> Ti dve izbiri določita naslov in vrata strežnika yp (rumene strani (angl. yellow pages)), ki o vašem strežniku obvesti imeniške strežnike. Primer: <code> [dj@megajukebox]$ litestream 5000 megajukebox 5555 1000 LitestreamServer </code> Tako, to je zagon strežnika. Ko strežnik zaženete, čaka, dokler nanj ne priključite vira glasbe. To storite z ukazom source. <p> Oblika tega ukaza je taka: <code> source <številka_ip ali ime> <vrata> <ime> <zvrst> <url> <irc> <icq> <aim> <javno? (0, 1)> <sporočena_bitna_hitrost (16, 18, 56, 128, itd.)> <seznam.txt> <dnevniška_oznaka> </code> Sledi seznam izbir ukaza source.<p> <em/številka_ip ali ime/ je ime ali naslov IP računalnika s strežnikom Litestream. <p> <em/vrata/ je številka strežniških vrat, na katerih strežnik Litestream čaka na vir glasbe. <p> <em/ime/ je ime vašega toka. <p> <em/zvrst/ je zvrst glasbe v vašem toku. <p> <em/url/ je naslov do spletnih strani s predstavitvijo vašega strežnika. <p> <em/irc/ je ime kanala IRC za pogovore o glasbi v strežniku. <p> <em/icq/ je vaša številka ICQ. <p> <em/aim/ je vaše uporabniško ime AIM (AOL Instant Messenger, podobno kot ICQ, op. pr.). <p> <em/javno/ je lahko samo 0 ali 1. 0 pomeni zasebno, 1 pa javno. <p> <em/sporočena_bitna_hitrost/ je bitna hitrost toka, ki se sporoči strežniku YP. Ta hitrost ni nujno enaka dejanski bitni hitrosti toka. <p> <em/seznam.txt/ je ime datoteke s seznamom za predvajanje. <p> <em/dnevniška_oznaka/ je oznaka, ki se doda na začetek vsakega dnevniškega sporočila vira Litestream Streaming Source. <p> Tale zgled se ujema s prej izvedenim ukazom za zagon strežnika Litestream: <code> [dj@megajukebox]$ source megakukebox 5000 'Megajukebox The best jukebox ever' Various http://www.megajukebox.com \#megajukebox 0 N/A 1 128 /jukebox/playlist LitestreamSource </code> <sect1>Modul Apache::MP3 <p> Modul Apache: MP3 omogoča, da spletni strežnik Apache oddaja glasbo v zapisu MP3. Ne ponuja toliko možnosti kakor Fluid, Litestream ali Icecast. Modul je odvisen od dodatkov MP3::Info in mod_perl, oba sta na volju pri združenju CPAN. Po prenosu potrebnih datotek vam bo precej pomagalo branje datoteke README! Najprej prevedite modul (ukaz make), zatem popravite nastavitve v Apachejevih nastavitvenih datotekah (lahko popravite ali httpd.conf ali srm.conf). Morali boste še narediti podimenike za ikone in drevo imenikov z datotekami MP3. Razdelek 6 v datoteki README se podrobneje ukvarja z urejanjem (ali izdelavo) nastavitvene datoteke za perl. S tem prednaložite modul MP3::Info, brez katerega se lahko Apache tudi sesuje. V datoteki httpd.conf naredite vnos kot npr.: <code> Perlrequire /etc/httpd/conf/startup.perl </code> Spremenite referenco /etc/httpd/conf, da bo kazala tja, kjer so Apachejeve nastavitvene datoteke. Zdaj naredite datoteko startup.perl v malo prej določenem imeniku. Najmanj, kar morate vnesti vanjo (pri tem morate že spet nastaviti pot do Perla, da se bo ujemala s stanjem v vašem sistemu), je: <code> [dj@megajukebox conf]$ cat /etc/httpd/conf/startup.perl #!/usr/bin/perl use MP3::Info(); </code> Zatem znova poženite strežnik Apache in usmerite spletni brskalnik do enega izmed novo nastalih imenikov z glasbo MP3 :-) Več dokumentacije o modulu Apache::MP3 dobite, če v ukazni vrstici poženete: <code> [dj@megajukebox conf]$ perldoc Apache::MP3 </code> <sect1>Kako obiti požarni zid (angl. firewall) <p> Precejšnje število podjetij in institucij zdaj uporablja požarne zidove, ki uporabnikom preprečujejo povezovanje na določena vrata oddaljenih strežnikov. <p> To obidemo tako, da poženemo strežnik MP3 na vratih 80 (privzeta številka vrat za spletne strežnike, op. pr.). Vendar potem na istem naslovu ne bomo mogli poganjati spletnega strežnika.<p> Ko poganjamo Icecast v načinu 'obidi požarni zid', bomo morali pognati Shout z izbiro, ki nastavi številko strežniških vrat na 80, npr.: <p> <code> [dj@megajukebox bin]$ ./shout megajukebox -e 80 -P hackme -p ../playlist </code> <sect1>Upoštevanje pasovne širine <p> Oddajanje zvoka lahko porabi precej pasovne širine, če je bitna hitrost (angl. bit rate) MP3 strežnikov nastavljena previsoko. Upoštevajte tale scenarij. Povezava T1 ima zmogljivost pribl. 1,55 Mb/s. Če oddajate stereo zvok pri 128 kBit/s, bo vsak povezan predvajalnik porabil 256 kBit/s, kar pomeni, da se bo lahko kadarkoli brez težav povezalo samo 6 uporabnikov. In pri 256 kBit/s se k vam ne bo priključevalo kaj veliko uporabnikov z modemi! Zatorej se morate pri nastavitvi hitrosti oddajanja odločiti ne samo, kako hitra je vaša povezava v internet, temveč tudi, kakšni uporabniki se bodo priključevali. 24kBit/s da razumno kakovost signala, dovolj hitro tudi za modeme s 56 kbit/s, enak priključek T1 pa bo omogočal pribl. 32 hkratnih povezav. Če bo strežnik tekel v intranetu, bo še vedno treba upoštevati pasovno širino, še posebej, če je hitrost omrežja 10 MBit/s. Svetujemo vam, da obvestite svojega ponudnika internetnih storitev ali sistemskega upravitelja o vaših namerah glede postavitve strežnika MP3, da ne boste pozneje neprijetno presenečeni. Nekateri ponudniki internetnih storitev bodo zaračunali uporabo pasovne širine čez določeno mejo in sistemske upravitelje bo zanimalo, zakaj omrežje deluje počasneje. <sect1>Še nekaj besed o avtorskih pravicah <p> Mislimo, da je razumno predpostaviti, da založbe ne bodo navdušene nad oddajanjem glasbe brez njihovega dovoljenja ali kakršnegakoli plačila. Torej: kaj lahko oddajate? Tu se boste morali zavedati vseh posledic, saj boste odgovorni vi. Spodaj sta dodani še dve povezavi: ena kaže na Electronic Frontier Foundation, ki se zavzema za sprostitev omejitev, ki obkrožajo to tehnologijo, druga pa kaže na Recording Industry Association of America, ki poskuša avtorje zaščititi pred nedovoljenim kopiranjem (piratstvom). Toplo priporočamo obisk obeh spletnih strani, obiščite pa še strani, ki se kakorkoli nanašajo na vašo fizično lokacijo (npr. Sazas v Sloveniji, tel.: (01) 423 81100 ali (02) 332 7365, op. pr.) <url url="http://www.eff.org/cafe/"> <url url="http://www.riaa.com/weblic/weblic.htm"> <sect>Poslušanje glasbe MP3 <p> Zdaj, ko imate (upamo) končno nekaj datotek MP3, lahko izbirate med predvajanjem iz datoteke ali iz toka. <sect1>Predvajanje iz datoteke <p> Predvajanje iz datoteke je razmeroma preprosto, ne glede na predvajalnik. Edina velika razlika med predvajalniki je, da nekateri temeljijo na ukazni vrstici, drugi pa na okolju X Window. Predvajanje glasbe iz datoteke zahteva, da podaste pot do te datoteke kot parameter, npr.: <code> [dj@megajukebox]$ mpg123 /mp3_files/SampleFile.mp3 ali [dj@megajukebox]$ xaudio /mp3_files/SampleFile.mp3 </code> Če želite predvajati zaporedje datotek, jih podajte kot seznam: <code> [dj@megajukebox]$ alsaplayer /mp3_files/SampleFile1.mp3 /mp3_files/SampleFile2.mp3 </code> Če želite predvajati vse skladbe v imeniku, samo podajte ustrezen džoker (angl. wildcard): <code> [dj@megajukebox]$ xmms /mp3_files/*.mp3 </code> <sect1>Predvajanje iz toka MP3 <p> Predvajanje iz toka MP3 je dokaj preprosto, saj morate le ime datoteke nadomestiti z naslovom strežnika MP3 in številko strežniških vrat: <code> mpg123 http://localhost:8000 ali freeamp http://megajukebox:2711 </code> <sect1>Prestrezanje tokov MP3 <p> Tok s strežnika MP3 lahko prestrežete in krajevno shranite z naslednjimi orodji: <p> <sect2>Streamripper <p> Za prestrezanje toka MP3 z uporabo Streamripperja vtipkajte: <code> [dj@megajukebox]$ streamripper -h megajukebox -p 8000 Press CTRL-C to stop name: Megajukebox reponse: 200 genre: Megajukebox url: http://www.megajukebox.com/ bitrate: 128 This stream contains no meta data, ripping as one large ass track 1st track ripped socket error: : Success </code> Sledi preveden seznam izbir: <code> [dj@megajukebox]$ streamripper Uporaba: streamripper -h <naslov> -p <vrata> [-d imenik] Options: -h <naslov> - Obvezno: Naslov strežnika MP3 -p <vrata> - Obvezno: Strežniška vrata, značilno 8000 -d <imenik> - Neobvezno: Ciljni imenik -l <dnevnik> - Neobvezno: Vsi izpisi se zapišejo v dnevniško datoteko <dnevnik> -v - Neobvezno: Izpisi naj bodo še posebej obširni. -c - Neobvezno: Ne prikaži števca stanja. -q - Neobvezno: Tihi način, ne naredi datotek MP3. -s - Neobvezno: Naredi še izhodni tok v stdout za Mpg123. -n - Neobvezno: Pred zapisovanjem počakaj na naslednjo skladbo. -o - Neobvezno: Za izhod naredi imenik z imenom toka. </code> <sect2>Wget <p> Tok lahko prestrežete tudi z Wgetom: <code> [dj@megajukebox]$ wget http://megajukebox:8000 -O download01.mp3 --13:41:41-- http://megajukebox:8000/ => `download01.mp3' Connecting to megajukebox:8000... connected! HTTP request sent, awaiting response... 200 OK Length: unspecified [audio/mpeg] 0K -> .......... .......... .......... .......... .......... 50K -> .......... .......... .......... .......... .......... 100K -> .......... .......... .......... .......... .......... 150K -> .......... .......... .......... .......... .......... 200K -> .......... .......... .......... .......... .......... 250K -> .......... .......... .......... .......... .......... 300K -> .......... .......... .......... .......... .......... 350K -> .......... .......... .......... .......... .......... 400K -> .......... .......... .......... .......... .......... 450K -> .......... .......... .......... .......... .......... 500K -> .......... .......... .......... .......... .......... </code> <sect1>Mešanje<p> <sect2>eMixer<p> eMixer vam omogoča mešanje glasbe MP3 podobno kot mešalna miza DJ. Novejše različice podpirajo dve zvočni kartici, tako lahko predvajate rezultat vašega mešanja na eni kartici in opazujete ali nakažete naslednjo skladbo na drugi kartici. Kot ponavadi vam priporočamo, da po odpakiranju datoteke preberete datoteko readme, kako program prevesti in postaviti. Morali boste narediti seznam za predvajanje datotek MP3. To naredite z ukazom find, kot smo pokazali že v razdelku o pretakanju. Preden boste lahko pognali eMixer, boste morali imeti nameščen Mpg123. Sledi preveden seznam tipk za upravljanje (iz datoteke readme) <code> TIPKE ZA UPRAVLJANJE "gor, dol" pomikanje po seznamu "page up, page down" pomikanje po seznamu z večjimi skoki "enter" sproži/ustavi predvajanje skladbe "tab" zamenjaj kanal "}","]" preklop med kontrolnikom/oknom za jakost in hitrost "presledek" predvajaj dejavno skladbo od začetka "levo, desno" kontrolniki za jakost zvoka "insert" zmanjšaj jakost/hitrost na kanalu 1 "home" povečaj jakost/hitrost na kanalu 1 "delete" zmanjšaj jakost/hitrost na kanalu 2 "end" povečaj jakost/hitrost na kanalu 2 "< , / , >" nastavi kontrolnik na levo, sredino ali desno " + , = " (NOVO) preklop z enega kontrolnika na drugi " q " poženi/zaustavi kanal 1 " w " poženi/zaustavi kanal 2 " p " preklop z enega načina predvajanja na drugi -- skladba, zanka, ponavljanje, naključno " a " zaustavi vse kanale " f " datotečni menu " u " menu s pripomočki " h " menu za pomoč " ~, ` " odpovej menu (pojdi za stopnjo više) " s " vklopi predvajanje iste skladbe na obeh kanalih hkrati (SIM Play) </code> <sect2>GDAM<p> GDAM je na grafičnem uporabniškem vmesniku zasnovan mešalnik MP3 s precejšnjim številom vgrajenih učinkov v realnem času. <sect>Urejanje oznak ID3 <p> Oznake ID3 so podatkovna polja znotraj datotek MP3 s podatki o datoteki, npr. kdo je izvajalec, na kateri plošči je skladba izšla itd.<p> Urejevalniki vam omogočajo ogled in urejanje teh podatkov.<p> <sect1>Id3ed<p> Preveden seznam izbir urejevalnika Id3ed je tak: <code> [dj@megajukebox]$ id3ed id3ed v1.10 - urejevalnik podatkov v datotekah v zapisu mpeg raven 3 Usage: id3ed [-s ime_skladbe] [-n izvajalec] [-a plošča] [-y leto] [-c opomba] [-k št._skladbe] [-g zvrst] [-q] [-SNAYCKG] [-l/-L] [-r] [-i] <datoteke_mp3> [-v] -q brez vmesnika, nastavi samo oznake, določene v ukazni vrstici. Dvojni q: utišanje vseh sporočil razen napak. -SNAYCKG vprašaj samo za podane oznake. Druge oznake se še vedno lahko nastavi z izbirami -[snaycg]. -l/-L prikaži seznam zvrsti -r odstrani oznake id3 iz datotek -i samo prikaz trenutnih oznak id3, brez urejanja -v izpis različice in dovoljenja programa </code> <code> [dj@megajukebox MyBand]$ id3ed track01.mp3 File track01.mp3: (tag v1.1) songname[max:30]: Our Kick Ass Demo artist[max:30]: Us album[max:30]: White Album year[max:4]: 1999 comment[max:28]: Will be a classic some day! tracknum[max:3]: 1 genre[0-255/name]: 5 </code> Če želite zgolj videti podatke, poženite Id3ed z izbiro -i: <code> [dj@megajukebox MyBand]$ id3ed -i track01.mp3 track01.mp3: (tag v1.1) songname: Our Kick Ass Demo artist: Us album: White Album year: 1999 comment: Will be a classic some day! tracknum: 1 genre: Funk(5) </code> <sect1>Mp3info <p> MP3info deluje podobno kot Id3ed. Tu je preveden izvleček njegove strani za pomoč: <code> POVZETEK mp3info [ -izbire < vrednost > ] datoteka/e... OPIS To je preprost pripomoček za ogled in nastavljanje oznak ID3. IZBIRE -T NE izvleči podatkov. Uporabljajte na počasnejših nosilcih podatkov, ker so oznake ID3 čisto na koncu datoteke. -s <0/1> Izpis podatkov. Precej zastarelo, saj bi vedno moral biti vklopljen. Privzeto je 1. -f <oblika> Oblika izpisanega niza. Oglejte si README za podrobnosti. -F <številka_oblike> Vnaprej določena oblika izpisanega niza. Preizkusite. -w Vpiši podatek v datoteko MP3. Napisan bo na konec datoteke. -W Briši vrednost oznake. Razveljavi vse druge izbire TAG in izklopi izbiro -s. Za hkratno brisanje oznak in prikaz podatkov vtipkajte -W -s 1 -n <ime> Nastavi naslov skladbe. Izvede tudi -w. Izbira bo kmalu bo umaknjena, zato namesto nje uporabite izbiro -t. -t <ime> Nastavi naslov skladbe. Enak učinek kot -n. Izvede tudi -w. -a <izvajalec> Nastavi ime izvajalca. Izvede tudi -w. -l <plošča> Nastavi ime plošče. Izvede tudi -w. -y <leto> Nastavi leto izdaje. Izvede tudi -w. -c <opomba> Nastavi opombo. Izvede tudi -w. -g <zvrst> Nastavi številko zvrsti. Izvede tudi -w. -G <ime_zvrsti> Nastavi zvrst prek imena. Izvede tudi -w. </code> <sect1>Številke zvrsti v ID3<p> ID3 za označevanje zvrsti uporablja številke, kot je podano v nadaljevanju. [podatki so vzeti s <url url="http://www.id3.org/id3v2-00.txt">]. Zvrsti sem pustil neprevedene, ker jih ne bi imelo pravega smisla prevajati (op. pr.). <p> <code> Naslednje zvrsti so definirane v ID3v1 0.Blues 1.Classic Rock 2.Country 3.Dance 4.Disco 5.Funk 6.Grunge 7.Hip-Hop 8.Jazz 9.Metal 10.New Age 11.Oldies 12.Other 13.Pop 14.R&B 15.Rap 16.Reggae 17.Rock 18.Techno 19.Industrial 20.Alternative 21.Ska 22.Death Metal 23.Pranks 24.Soundtrack 25.Euro-Techno 26.Ambient 27.Trip-Hop 28.Vocal 29.Jazz+Funk 30.Fusion 31.Trance 32.Classical 33.Instrumental 34.Acid 35.House 36.Game 37.Sound Clip 38.Gospel 39.Noise 40.AlternRock 41.Bass 42.Soul 43.Punk 44.Space 45.Meditative 46.Instrumental Pop 47.Instrumental Rock 48.Ethnic 49.Gothic 50.Darkwave 51.Techno-Industrial 52.Electronic 53.Pop-Folk 54.Eurodance 55.Dream 56.Southern Rock 57.Comedy 58.Cult 59.Gangsta 60.Top 40 61.Christian Rap 62.Pop/Funk 63.Jungle 64.Native American 65.Cabaret 66.New Wave 67.Psychadelic 68.Rave 69.Showtunes 70.Trailer 71.Lo-Fi 72.Tribal 73.Acid Punk 74.Acid Jazz 75.Polka 76.Retro 77.Musical 78.Rock & Roll 79.Hard Rock Naslednje dodatne zvrsti uporablja Winamp: 80.Folk 81.Folk-Rock 82.National Folk 83.Swing 84.Fast Fusion 85.Bebob 86.Latin 87.Revival 88.Celtic 89.Bluegrass 90.Avantgarde 91.Gothic Rock 92.Progressive Rock 93.Psychedelic Rock 94.Symphonic Rock 95.Slow Rock 96.Big Band 97.Chorus 98.Easy Listening 99.Acoustic 100.Humour 101.Speech 102.Chanson 103.Opera 104.Chamber Music 105.Sonata 106.Symphony 107.Booty Bass 108.Primus 109.Porn Groove 110.Satire 111.Slow Jam 112.Club 113.Tango 114.Samba 115.Folklore 116.Ballad 117.Power Ballad 118.Rhythmic Soul 119.Freestyle 120.Duet 121.Punk Rock 122.Drum Solo 123.A capella 124.Euro-House 125.Dance Hall </code> <sect>Zapis glasbe MP3 na Minidisc. <p> <em/Avtor razdelka je Afra <afra@prongs.org> </em> Glasbo iz datotek MP3 lahko zapišete na svoj Minidisc na dva načina: analogni in digitalni. Obe metodi sta odvisni od vrste zvočne kartice v vašem računalniku. Poglavitna razlika med analognim in digitalnim zapisom je v kakovosti zvoka, ki jo dosežete med zapisovanjem. Z analognim zapisovanjem lahko slišite nekaj statičnega šuma in popačenj, četudi lahko z nekaterimi analognimi zvočnimi karticami to minimizirate. Ne mislite, da vam je to usojeno samo zato, ker imate analogno zvočno kartico, ker to ni res. To samo pomeni, da boste morali porabiti nekaj več časa, ko boste poskušali minimizirati šum, igraje se z nastavitvami mešalnika. <p> Za zapis na Minidisc ne potrebujete nobene posebne programske opreme, temveč samo predvajalnik MP3 za Linux. Pri obeh načinih zapisovanja bo treba povezati izhod zvočne kartice z vhodom Minidisca. <sect1>Analogno zapisovanje <p> Če vaša zvočna kartica nima digitalnega izhoda (povezava "Digital Out"), je to edini način zapisovanja. <p> Za zapis glasbe MP3 iz Linuxa na Minidisc najprej povežite analogni kabel z izhoda Line Out na zvočni kartici na vhod Line In na Minidiscu. Nastavite Minidisc na zapisovalni način (angl. recording mode) kot ponavadi in začnite predvajati glasbo iz datoteke MP3. Videti bi morali, kako narastejo zapisovalne stopnje na Minidiscu. Po predvajanju posnetka na Minidiscu se lahko zgodi, da boste slišali šibek ali močan statični šum. To se zgodi zaradi vaše zvočne kartice. <p> Za čim manjši statični šum med zapisovanjem držite stopnji zapisovanje/jakost (angl. recording/volume) v območju med -3 in 0 dB. Pri zmanjševanju šuma bo pomagalo, če priključite Minidisc, kakor je opisano zgoraj, in vključite zapisovalni način (angl. Recording Mode), vendar ne predvajajte glasbe MP3. Še vedno bi morali slišati šumenje in to vam lahko pomaga pri igranju z učinki mešalnika. <p> <sect1>Digitalno zapisovanje <p> Z digitalnim zapisovanjem boste dosegli boljšo kakovost zvoka. Povežite optični kabel (če ga morate kupiti, upoštevajte, da sta velikosti priključkov na Minidiscu in zvočni kartici pomembni, ponavadi znašata 3,5 mm, vendar prej poglejte v priročnika za obe napravi.) na digitalni izhod (angl. Digital Out) vaše zvočne kartice. <p> Zdaj bi se moral drugi konec kabla zasvetiti -- dobro, to pomeni, da se po njem prenaša signal iz zvočne kartice. Zdaj ta svetleči se konec povežite na digitalni vhod (angl. Digital Input) vašega Minidisca. Minidisc nastavite v zapisovalni način (angl. record mode) in v računalniku predvajajte glasbo iz datotek MP3. <p> <sect1>Seznami za predvajanje <p> Pri predvajanju seznamov datotek MP3 nastane težava: kako naj Minidisc ve, kdaj je treba postaviti oznako automark, ko se zamenja skladba (tj. samodejna menjava številk skladb)? Rešitev je tale datoteka MP3, ki jo lahko snamete z <url url="http://www.prongs.org/minidisc/2sec.zip">. <p> To datoteko, ki je datoteka MP3 z dvosekundno tišino, lahko vstavite pred vsako "pravo" datoteko v seznamu, tako bo Minidisc "vedel", kdaj postaviti oznako. <sect>Odziv <p> Neprestano prihajata na trg nova strojna in programska oprema. Če uporabljate novejše različice strojne in/ali programske opreme, ki je omenjena v tem spisu, ali če želite še kaj dodati, vas avtor izvirnika prosi, da mu pošljete informacije (seveda v angleščini, op. pr.) na naslov <em><url url="mailto:phil@plus24.com" name="phil@plus24.com"></em> in jih bo upošteval pri naslednji izdaji tega spisa. Avtor si želi odgovoriti čisto vsakomur, vendar upoštevajte, da tega tu in tam zaradi delovnih obveznosti ne bo mogel storiti takoj. Srečno pri delu z glasbo MP3! </article>