Linux MP3-HOWTO Avtor: Phil Kerr, phil@plus24.com ; prevedel: Jernej Kovačič jkovacic@email.si v1.60, oktober 2000, prevod 13. julij 2001 Ta spis opisuje strojno in programsko opremo ter postopke, primerne za kodiranje, predvajanje, mešanje in oddajanje zvočnih datotek v zapisu MP3 pod Linuxom. ______________________________________________________________________ Kazalo 1. Uvod 2. Avtorske pravice tega spisa 3. Kje dobiti ta spis 3.1 Prevodi 4. Zasluge 5. Opozorilo 6. Strojne zahteve in učinkovitost 7. Programska oprema 7.1 Zajemalniki (angl. rippers) in zapisovalniki v zapisu WAV 7.2 Zapisovalniki (angl. encoders) 7.3 Predvajalniki (angl. players) 7.4 Strežniki MP3 (angl. streaming servers) 7.5 Mešalniki (angl. mixers) 7.6 Urejevalnik oznak ID3 7.7 Prestrezniki toka (angl. stream grabbers) 7.8 Razno 8. Nastavljanje vašega sistema 8.1 Nastavljanje zajema analognega zvoka 8.2 Nastavljanje za zajem zvoka s plošče CD 8.3 Dodatne nastavitve 9. Kodiranje analognega zvoka 10. Kodiranje s plošče CD 10.1 Kodiranje iz ukazne vrstice 10.1.1 RipEnc 10.1.2 CD2MP3 10.2 Kodirniki z grafičnim uporabniškim vmesnikom 10.3 Zmožnosti kodirnikov 11. Oddajanje glasbe MP3 11.1 Icecast 11.1.1 Shout 11.1.2 LiveIce 11.2 Fluid 11.2.1 Posodobitev za RC1 11.3 Litestream 11.4 Modul Apache::MP3 11.5 Kako obiti požarni zid (angl. firewall) 11.6 Upoštevanje pasovne širine 11.7 Še nekaj besed o avtorskih pravicah 12. Poslušanje glasbe MP3 12.1 Predvajanje iz datoteke 12.2 Predvajanje iz toka MP3 12.3 Prestrezanje tokov MP3 12.3.1 Streamripper 12.3.2 Wget 12.4 Mešanje 12.4.1 eMixer 12.4.2 GDAM 13. Urejanje oznak ID3 13.1 Id3ed 13.2 Mp3info 13.3 Številke zvrsti v ID3 14. Zapis glasbe MP3 na Minidisc. 14.1 Analogno zapisovanje 14.2 Digitalno zapisovanje 14.3 Seznami za predvajanje 15. Odziv ______________________________________________________________________ 1. Uvod Ta spis opisuje strojno in programsko opremo ter potrebne postopke za kodiranje, predvajanje, mešanje in oddajanje zvočnih datotek v zapisu MP3 pod Linuxom. Spis zajema: ˇ kodiranje z zunanjih izvorov ali v živo ˇ kodiranje glasbenih plošč CD ˇ oddajanje glasbe v zapisu MP3 po mreži ˇ poslušanje glasbe v zapisu MP3 ˇ zapisovanje glasbe v toku ˇ mešanje glasbe v zapisu MP3 ˇ urejanje informacij v oznakah ID3 2. Avtorske pravice tega spisa Avtorske pravice tega spisa HOWTO so last Phila Kerra ((C) Phil Kerr, 1999,2000). Če ni drugače navedeno, so avtorske pravice spisov Linux HOWTO last njihovih 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 na vseh izvodih. Komercialno razširjanje je dovoljeno in spodbujano, vendar bi avtor rad bil obveščen o vsaki takšni distribuciji. Vsi prevodi, izpeljana dela ali skupni projekti, ki vključujejo 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 pri teh pravilih se lahko dovolijo pod posebnimi pogoji, za kaj takega stopite v stik s koordinatorjem za Linux HOWTO na spodaj podanem naslovu. Na kratko, želimo spodbujati razširjanje teh informacij po čimveč kanalih, hkrati pa želimo obdržati avtorske pravice spisov HOWTO in bili bi radi obveščeni o vseh načrtih za razširjanje spisov HOWTO. Če želite kaj vprašati, vzpostavite stik s Timom Bynumom, koordinatorjem Linux HOWTO. Tim je dosegljiv po elektronski pošti na naslovu 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. 3. Kje dobiti ta spis Najnovejšo uradno angleško različico tega spisa lahko dobite na domačih straneh Dokumentacijskega projekta za Linux na naslovu . Domača stran tega spisa je 3.1. Prevodi Ta spis je bil preveden še v naslednje jezike: Prosimo upoštevajte, da so nekateri prevodi lahko že zastareli v primerjavi s tem spisom, ker pač prevajanje vzame nekaj časa. Korejščina Prevedel Lee,So-min: animator@nownuri.net Francoščina Prevedel Arnaud Gomes-do-Vale: arnaud@carrosse.frmug.org Madžarščina Prevedel Andras Timar: atimar@itp.hu Italijanščina Prevedel Mariani Dario: darkpand@uni.net Španščina Prevedel Arielo: larocka@yahoo.com Nizozemščina Prevedel Reggy Ekkebus: reggy@zeelandnet.nl Japonščina Prevedel Saito Kan: can-s@geocities.co.jp Slovenščina Prevedel Jernej Kovačič: 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, kjer bo mogoče dobiti prevod. 4. Zasluge Pri pisanju tega spisa je bil v veliko pomoč spis Sound-HOWTO Jeffa Tranterja in Sound-Playing-HOWTO Yooja C. Chunga. Zahvala gre tudi ostalim avtorjem spisov HOWTO, katerih dela so bila uporabljena: Lars Wirzenius: Linux System Administrators Guide Olaf Kirch: Linux Network Administrators Guide Stein Gjoen: 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 termine. 5. Opozorilo Informacije v tem spisu uporabljate na lastno odgovornost. Avtorji in prevajalci ne prevzemajo nobene odgovornosti za vsebino tega spisa. Koncepte, zglede in/ali ostale vsebine tega spisa uporabljate v celoti na lastno odgovorrnost. Vse avtorske pravice so last njihovih lastnikov, če ni navedeno drugače. Uporaba izrazov v tem spisu se ne sme smatrati za vplivanje na veljavnost katerekoli blagovne ali storitvene znamke. Imenovanje posameznih izdelkov ali zaščitenih znamk se naj ne bi smatralo kot priporočilo. Močno vam priporočamo, da naredite varnostno kopijo vašega sistema pred pomembnimi namestitvami programja in da jih delate v rednih časovnih presledkih. 6. Strojne zahteve in učinkovitost Digitalno procesiranje zvoka je opravilo, ki trati sistemske vire in se močno zanaša na vhodno - izhodne sposobnosti ter zmožnosti procesiranja. Močno priporočamo uporabo strojne opreme najmanj razreda Pentium. Če boste kodirali zvok z analognega zvočnega nosilca preko 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 PCI-HOWTO). Seveda velja: boljša je zvočna kartica pri razmerju signal/šum, 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 Live ima občutno boljše razmerje signal/šum, dovolj dobro za polpoklicno uporabo. Spomnite se stare maksime pri obdelavi podatkov: smeti noter - smeti ven! Creative ima gonilnik Beta za Soundblaster Live!, ki ga lahko dobite na: Kadar zapisujete analogni zvok na trdi 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, kjer je hitrost prenosa še zadovoljiva, da je zagotovljen stalni pretok podatkov. Idealna rešitev bi bila uporaba 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 med 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, ostali pogoni SCSI in IDE 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 tisti brez njega, 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 osipa 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 potrebno, še posebej to velja za mrežne strežnike. Več napotkov o nastavljanju mrežnih strežnikov in o zagonskih skriptih najdete v vodnikih SAG (System Administration Guide) in NAG (Network Administration Guide). Opravila z navideznim pomnilnikom podobno povzročajo zastoje, zatorej uporabite toliko fizičnega RAM, kolikor ga le lahko. Priporoča se vsaj 32 MB, mogoče je, da 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. Dober izziv za sistemskega administratorja bo iztisniti iz nizko zmogljivega sistema dobre rezultate in rezultat bodo verjetno srečnejši uporabniki sistemov Linux. Pomembno poglavje predstavljajo tudi kabli za prenos zvočnih signalov. Ceneni, nekakovostni kabli in priključki se bodo kazali s slabo kakovostjo zapisa. Če ima vaša zvočna kartica možnost uporabe 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 čimer zmanjšate verjetnost motenj. Ne pozabite pa, da bo pravo bogastvo, porabljeno za kable za zvok, vrženo proč, če ne bo optimaliziran tudi preostanek sistema. Če kodirate zvok s plošče, bosta hitrost in tip 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. Vaš 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 na izhod za slušalke, četudi ne boste mogli poslušati datotek MP3 skozi vtičnico za slušalke na pogonu za CDROM. Za podrobnejše informacije o nastavljanju zvočnih kartic bi bila zdaj odlična priložnost, da preberete Sound-HOWTO. 7. Programska oprema Pretvorba zvoka v zapis MP3 je ponavadi dvostopenjski proces. Najprej se zvok zapiše v zapis WAV, sledi mu pretvorba iz zapisa WAV v MP3. Nekatera orodja vam naredijo oboje v enem koraku. Od tega, ali želite kodirati zvok, zapisan v neki datoteki, 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 zajem zvoka z 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). 7.1. Zajemalniki (angl. rippers) in zapisovalniki v zapisu WAV Za zajem z analognega zvočnega vhoda (angl. line-in): Wavrec Wavrec se distribuira kot del paketa Wavplay, ki ga lahko snamete z naslova: Za zajem glasbe s plošče CD v zapis WAV (v angleščini se opravilu reče 'CD ripping'): CDDA2WAV Cdparanoia Cdparanoia je orodje za zajem "digitalnega zvoka s kompaktnih diskov" (angl. Compact Disc Digital Audio (CDDA)), na internetu znano tudi kot koda te knjižnice je vključena v distribucijo izvorne kode paketa Cdparanoia. Tako kot Cdda2wav tudi paket Cdparanoia prebere zvok s plošče CD kot podatke brez analognega koraka vmes in zapiše podatke (oz. jih preusmeri po "cevi") v formatih WAV, AIFC ali surovi 16 bitni linearni PCM. V primerjavi s Cdda2wav je precej počasnejši, vendar da najboljše rezultate, ki jih je mogoče dobiti, tudi s CD plošč, katerih glasbo je težko pretvoriti zaradi prask ali drugih napak pri branju. RipEnc RipEnc je lupinski skript za lupino Bourne Shell in služi kot vmesnik do programov Cdparanoia, Cdda2Wav, Tosha in BlaRipEnc, 8hz-mp3, L3enc. V bazi CDDB (angl. CD Data Base - podatkovna baza plošč 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. Cd2mp3 Cd2mp3 je prosta programska oprema, izdelana za ravnanje z dvema drugima programoma: Cdda2wav (ki zajema skladbe s plošč CD) in Lame (ki kodira v zapis MP3) RipperX RipperX uporablja grafično knjižnico GTK in pretvarja zvoka 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. 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 kot npr. Cdda2wav. Omogoča avtomatiziran vmesnik za kodirnike v zapis MP3, kar omogoča, da ploščo CD enostavno pretvorite v datoteke MP3. Podprt je protokol CDDB za iskanje podatkov o skladbah s strežnikov plošč. Grip deluje s programom DigitalDJ, ki omogoča poenoteno "računalniško podprto" različico vaše glasbene zbirke. 7.2. Zapisovalniki (angl. encoders) Za pretvarjanje datotek iz zapisa WAV v MP3 boste potrebovali zapisovalnik: Blade's MP3 Encoder BladeEnc je prosto dostopen zapisovalnik MP3. Temelji na enakih postopkih ISO za kompresijo kot MpegEnc, tako lahko pričakujete podobno ali nekoliko boljšo kakovost. Razlikujeta se predvsem v zunanji podobi in hitrosti. BladeEnc nima tako uporabniku prijaznega vmesnika kot MpegEnc, zato pa je več kot trikrat hitrejši in deluje s kar nekaj priljubljenimi grafičnimi vmesniki. 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 izvorno kodo Dist10 ISO. Lame ne more izdelati toka MP3. Nemogoče ga je tudi prevesti. Da bo ta programska oprema delovala, potrebujete izvorno kodo ISO. Ta je prav tako prosto dosegljiva, toda kakršnakoli komercialna uporaba (vključno z distribucijo brezplačnih zapisovalnikov) lahko zahteva licenčno pogodbo s podjetjem FhG (Fraunhofer Gesellschaft) iz Nemčije. 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 lahko najdete na ). 7.3. Predvajalniki (angl. players) Za predvajanje datotek MP3 boste seveda potrebovali predvajalnik: 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. Xaudio Xaudio je zelo hitra in robustna rešitev za več sistemov za predvajanje digitalnega zvoka, posebej usmerjena k dekodiranju zvoka v zapisih MPEG (MP1, MP2 in MP3). 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 za Linux/Unix izjemnih lastnosti. Namen je izdelati v druge aplikacije vključljiv okvir za predvajanje vseh vrst zvoka in videa s poudarkom na zvočnih podatkih v formatu PCM. Nadzor (npr. višine tonov) pri polni hitrosti, pozitiven *in* negativen! Je prvi za Linux in edini predvajalnik pod licenco GPL, ki to zmore! Možno je predvajanje datotek MP3 in plošč CD pri različnih hitrostih. 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) ter je bil preizkušen na številnih sistemih vključucjoč Linux, FreeBSD, NetBSD, SunOs, Solaris, IRIX, HP-UX in ostale. 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. FreeAmp FreeAmp je razširljiv, za več sistemov prirejen predvajalnik. Zanj je značilen optimaliziran dekoder Xing MPEG (licenca GPL), zaradi česar je eden najhitrejših in najboljših predvajalnikov zvoka, kar jih je na voljo. FreeAmp omogoča mnogo pomembnih lastnosti, ki jih uporabnik pričakuje od čistega in za rabo preprostega uporabniškega vmesnika. 7.4. Strežniki MP3 (angl. streaming servers) Strežniki MP3 omogočajo oddajanje glasbe MP3 po mreži, ki je lahko vaš intranet ali kar internet. 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. Fluid Oddajni strežnik Fluid je program za oddajanje videa in zvoka po mreži in v zdajšnji različici uporablja zapis MP3. (stara domača stran) (nova domača stran) Litestream Litestream je na odprti kodi temelječ prilagodljiv strežnik MP3 za Unix z veliko kapaciteto. Apache::MP3 Modul za oddajanje glasbe MP3, ki uporablja spletni strežnik Apache. Ta modul predstavi hierarhijo imenikov z datotekami MP3 kot "brskabilno" knjižnico skladb za oddajanje preko mreže. [Je rezultat projekta CPAN] 7.5. Mešalniki (angl. mixers) 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 lahko dobite skupaj z dokumentacijo na spletni strani: eMixer eMixer je za rabo preprost vmesnik do Mpg123, ki omogoča hkratno predvajanje in mešanje dveh tokov MP3. Zmožnost mešanja dveh tokov MP3 naredi eMixer za navzkrižni kontrolnik jakosti zvoka, to pa uporabniku kar s konzole omogoči podobne zmožnosti, 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. GDAM GDAM je DJ paket 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 na strežniku, ki lahko sprejema ukaze s poljubnega števila odjemalcev. Ostale značilnosti vključujejo vtičnice za avdio učinke in vmesniške komponente, predpomnilnik in večkratno izvajanje, sekvenciranje, 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 na 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 za več zvočnih kartic in podpora za strojno opremo MIDI. druga povezava: 7.6. Urejevalnik oznak ID3 Id3ed Id3ed je urejevalnik oznak ID3 za datoteke MP3. Oznake lahko nastavljate interaktivno, preko ukazne vrstice ali kar s kombinacijo obojega. Id3ed lahko nastavi zvrst kot ime ali kot številko. Oznake lahko tudi odstranite ali si jih ogledujete. Mp3info MP3info je majhen pripomoček za branje in zapisovanje oznak MPEG raven 3 (MP3). Vključuje različici za konzolo (ukazna vrstica in interaktivni ncurses) ter GTK. 7.7. Prestrezniki toka (angl. stream grabbers) Streamripper Streamripper je zapisovalnik Shoutcastovega toka. Če tok vsebuje podatke o skladbi (meta podatki), Streamripper vsako skladbo zapiše v ločeno datoteko. Wget GNU Wget je prosto dostopen mrež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 delo v ozadju potem, ko se odjavite s sistema. Wget je precej več kot prestreznik toka! 7.8. Razno Normalizacija jakosti zvoka Wavnorm Če ste kodirali zvok "v živo" ali zajemali s starejših plošč CD, lahko pride do kar precejšnjih razlik v nekaterih značilnostih zvoka. Da spremenite jakost kodiranega zvoka datotek MP3, jih boste normalizirali s programom Wavnorm. SOX Sox je zelo priročen pripomoček za pretvorbo in vam ga močno priporočam. Potrebovali ga boste, če želite uporabljati Wavnorm. Morda boste potrebovali tudi program za mešanje. Xmixer deluje zanesljivo in je vključen v večino distribucij. 8. Nastavljanje vašega sistema Ta razdelek opisuje osnove nastavljanja vašega sistema Linux za zapisovanje zvoka bodisi z 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 Linux Sound HOWTO avtorja Jeffa Tranterja, za tem pa še spis Linux Sound Playing HOWTO avtorja Yooja C. Chunga. Oba spisa podrobneje govorita o tem, kako usposobiti sistem za zvok pod Linuxom. 8.1. Nastavljanje zajema analognega zvoka Najprej nastavite napravo, ki zvok proizvaja. Obstaja več načinov za usmerjanje zvoka, preden pride do računalnika z Linuxom, nekaj običajnih 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čjo nevšečnost lahko predstavljajo gramofoni. Več informacij o tem lahko najdete spodaj. Zvok lahko zajemate tudi iz videorekorderjev. Večina videorekorderjev ima zvočni izhod 'line out', lahko pa tovrstni 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 obratno - izhod zvočne kartice 'line out' v vhod ojačevalnika 'amplifier tape in'. Ta sestava postopoma zamenjuje tradicionalni magnetofon, povezan preko ojačevalnika HI FI, z vašim sistemom Linux. Izhod zvočne kartice 'line out', povezan na '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. OPOZORILO: če storite obratno, torej povežete napravo z izhodom 'line out' na vhod za mikrofon, lahko poškodujete zvočno kartico!! Gramofon na vhod za mikrofon Najlepša hvala Marku Tranchantu za naslednji prispevek. 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. Potrebno je prilagoditi frekvenčni izhod, ker je v zapisu manj nizkih in več višjih tonov, kar 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 preko 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, da ste jakost zmanjšali na minimum, oz. če uporabljate mikrofon, se prepričajte, da je izključen ali daleč od zvočnikov. 8.2. Nastavljanje za zajem zvoka s plošče CD Nastavljanje sistema za zajemanje zvočnih podatkov s plošče CD je preprosto. Če lahko slišite skladbo, ki se predvaja s plošče CD, preko zvočnikov ali ojačevalnika, ki je priključen na zvočno kartico, je zelo verjetno, da boste ta zvok lahko tudi zapisali. 8.3. Dodatne nastavitve 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, vendar ne preglasne in popačene. Običajno 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. Na ta način zagotovite, da v ozadju tečejo samo zares nujno potrebni procesi, in tako minimizirate možnosti za motnje med zapisovanjem. Avtor si je izključno za potrebe zapisovanja zvoka omislil poseben disk s pogonom SCSI. Ta disk je na datotečni sistem priključen preko imenika /mp3. To je bilo storjeno predvsem zaradi boljših zmogljivosti pogona SCSI. Koristno je tudi zapisovanje na posebni pogon, kjer ste lahko prepričani, da pisalna glava med zapisovanjem ne bo nenadoma skočila na drugo mesto na disku, ker bi nek proces hotel ravno tako pisati. Glede podrobnosti o nastavitvi sistema Linux z več diskovnimi pogoni bo morda koristen spis Multi-Disk-HOWTO avtorja Steina Gjoena. 9. Kodiranje analognega zvoka Najprej se prepričajte, če 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. Da vidite seznam vseh izbir, poženite wavrec -help ali si oglejte njegovo stran s pomočjo (angl. man page). Tako ste naredili datoteko WAV. Sedaj jo morate zakodirati v zapis MP3. Iz ukazne vrstice poženite BladeEnc: /usr/local/bin/bladeenc [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. Da vidite seznam vseh izbir, poženite bladeenc -help. Pravzaprav te izbire sploh ni, vseeno pa se vam bo prikazal opis vseh izbir. Kodirate lahko tudi s programom Lame (kot tudi s programom Gogo, ki temelji na Lamu), kjer boste morali vtipkati naslednji ukaz: /usr/local/bin/lame [izvorna_datoteka] [ciljna_datoteka] -b 256 10. Kodiranje s plošče CD 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. Obstajata dva tipa kodirnikov: tisti za konzolo in tisti za okolje X Window. Oboji opravljajo enako nalogo, vendar je tiste za okolje X Window lažje uporabljati (in so videti prijaznejši). Tudi tokrat se morate pred kodiranjem prepričati, da imate dovolj prostora na disku. 10.1. Kodiranje iz ukazne vrstice Avtor je napisal preprost skript za Perl, ki bo zajel in shranil skladbe s plošče CD: ______________________________________________________________________ #!/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"; } ______________________________________________________________________ Prosimo upoštevajte, da je zgornji skript zelo osnoven in ne vsebuje nobenih dodatnih funkcij, kot je npr. preverjanje napak ali iskanje po CDDB. Dopolnite ga lahko v skladu s svojimi potrebami. Najpomembnejše vrstice so: ______________________________________________________________________ $cdcap = system("cdparanoia", $count, "/mp3/cdda.wav"); ______________________________________________________________________ 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: ______________________________________________________________________ $cdcap = system("cdda2wav", $count, "/mp3/cdda.wav"); ______________________________________________________________________ Uporabljeni izbiri sta $count, ki označuje število skladb za zajem, 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 potrebno vsake skladbe posebej zajeti s plošče CD in je kodirati in da ne bi bilo potrebno 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: ______________________________________________________________________ $enc = system("lame /mp3/cdda.wav $track -b 256"); ______________________________________________________________________ ali ______________________________________________________________________ $enc = system("gogo /mp3/cdda.wav $track -b 256"); ______________________________________________________________________ Sledi še prevedeni seznam izbir za vsak kodirnik. Bladeenc ______________________________________________________________________ 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 vključuje 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čeneno (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 zaključi program brez čakanja na pritisnjeno tipko. -outdir=[dir] Shrani MP3 datoteke v določen imenik. -quiet Onemogoči pisanje na zaslon -nocfg Ne upošteva 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. ______________________________________________________________________ Lame ______________________________________________________________________ LAME različica 3.50 (www.sulaco.org/mp3) GPSYCHO: GPL psycho-acoustic model različica 0.74. UPORABA : lame [izbire] [izhodna_datoteka] in/ali 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 okvirjem. Je hitreje in uporablja posebne maskirne pragove Mid & Size -b 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 enaka sfreq vhodne datoteke --mp3input vhodna datoteka je v zapisu MP3 --voice poskusni glasovni način -v uporabi spremenljivo bitno hitrost (VBR) -V n nastavitev kvalitete VBR. privzeto n=4 0=visoka kvaliteta, 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čna tipa 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 okvirju 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 naslov skladbe (največ 30 znakov) --ta <artist> izvajalec skladbe (največ 30 znakov) --tl <album> album, od koder skladba izhaja (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 ______________________________________________________________________ Gogo ______________________________________________________________________ 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 kvaliteta 9: visoka kompresija] 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,1kHz] -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 ______________________________________________________________________ 10.1.1. RipEnc RipEnc se uporablja enako kot zgornje zglede, le da je lupinski skript in ga je lažje uporabljati. Preveden pa izgleda takole: ______________________________________________________________________ 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ških zapiskov, ali 'del' za njihovo brisanje> 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 ? ______________________________________________________________________ 10.1.2. CD2MP3 Cd2mp3 je enokoračni zapisovalnik glasbe s plošč CD v zapis MP3 brez vmesne izdelave datoteke v zapisu WAV. Njegovo delovanje je prevedeno videti takole: ______________________________________________________________________ [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 *** avtorka zaščita: Da *** avtor: *** album: zapisujem: '1' kot 'track-1.mp3' (čakaj) V redu! (zapisano) zapisujem: '2' kot 'track-2.mp3' (čakaj) ______________________________________________________________________ Seveda lahko v ukazni vrstici podate tudi ostale izbire. Njihov preveden seznam je: ______________________________________________________________________ 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>" ______________________________________________________________________ 10.2. Kodirniki z grafičnim uporabniškim vmesnikom Kodirniki z grafičnim uporabniškim vmesnikom ponujajo vso funkcionalnost kodiranja z ukazne vrstice, le da vse skrijejo za prijazen in preprost grafični vmesnik. Grip in RipperX delujeta na 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 na strežniku, na ta način si lahko prihranite nekaj dela z ročnim vnašanjem podatkov. 10.3. Zmožnosti kodirnikov V razdelkih o kodirnikih smo omenili tri kodirnike: BladeEnc, Lame in Gogo. Glavna razlika med njimi je njihova zmožnost kodiranja (čeprav se razlikujejo tudi v ponujenih izbirah). Oglejmo si zgled, pri katerem smo najprej zajeli skladbo s plošče CD in jo zatem kodirali z različnimi kodirniki. Vsi kodirniki so bili pognani pod enakimi pogoji in vsi so ustvarili datoteko MP3 stereo. ______________________________________________________________________ [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 ______________________________________________________________________ Kot kaže, ima Gogo precej bolje optimaliziran algoritem za kodiranje kot BladeEnc in Lame. 11. Oddajanje glasbe MP3 Strežnik za oddajanje vam omogoča prenos glasbe po omrežju TCP. To je lahko internet ali vaša krajevna mreža (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. 11.1. Icecast Ko datoteko prenesemo na 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 izvorno kodo, sledite navodilom za prevajanje v vašem sistemu. Icecast ne bo deloval pravilno, dokler ne nastavite imena strežnika v nastavitveni datoteki 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: ______________________________________________________________________ -> [05/Jan/2000:17:21:04] WARNING: Resolving the server name [your.server.name] does not work! ______________________________________________________________________ Odprite datoteko icecast.conf, ki se nahaja v imeniku /etc, poiščite vrstico z vnosom za "server_name" in vnesite ime strežnika. Če niste prepričani, kakšno je, ga lahko izveste z ukazom hostname ali z ukazom cat /etc/hosts. Ko ste naredili vse spremembe, boste morali ali skopirati datoteko conf v imenik bin ali pognati Icecast z možnostjo -c in določiti mesto datoteke, npr. ______________________________________________________________________ ./icecast -c ../etc/icecast.conf ______________________________________________________________________ Če ste vse nastavili pravilno, bi morali videti nekaj podobnega: ______________________________________________________________________ [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] ______________________________________________________________________ Izbira -d nastavi imenik za dnevniške datoteke LOG in predloge (osnutke). Spodaj so prevedeni opisi vseh možnosti iz ukazne vrstice: ______________________________________________________________________ -c [nastavitvena_datoteka] Razčleni kot konfiguracijsko datoteko. Prosimo upoštevajte, da vsak parameter iz ukazne vrstice, ki ga podate, prekrije ustrezne nastavitve v datoteki. Upoštevajte tudi, da je icecast.conf v trenutnem imeniku že razčlenjen, ko podate 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 administratorjem. 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 na strežnik. Upoštevajte, da če ste prevedli strežnik s podporo crypt(), mora biti ta argument zakodiran niz. -b Prestavi strežnik Icecast v ozadje (postane t.i. demon proces). Če želite sedaj uporabljati ukaze za administriranje, se morate povezati na strežnik kot administrator 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. ______________________________________________________________________ Tako, strežnik smo pognali, sedaj moramo povezati vir datotek MP3 s strežnikom. Izbirate lahko med dvema programoma, ki dostavljata podatke o datotekah MP3 strežniku: Shout in LiveIce. 11.1.1. Shout Shout (dobite ga skupaj z Icecastom) podaja Icecastu statičen predvajalni seznam datotek MP3 za oddajanje. Seznam datotek MP3, ki jih želite oddajati, naredite na naslednji način: ______________________________________________________________________ find [imenik_MP3] -name *.mp3 -print > playlist ______________________________________________________________________ Najbolj preprosto boste zagnali Shout, če vnesete: ______________________________________________________________________ [dj@megajukebox bin]# ./shout megajukebox -P hackme -p playlist ______________________________________________________________________ Izbira -P poda geslo, ki je potrebno za dodajanje priklopnih točk (angl. mount point) Icecastu. Trenutno je nastavljeno na hackme. Močno vam priporočamo, da ga spremenite, predno to stori kdo drug. Izbira -p določi mesto datoteke s predvajalnim seznamom. Sledi prevedeni seznam vseh izbir iz ukazne vrstice: ______________________________________________________________________ [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 podan opis. -a - Vklopi avtomatsko popravljanje bitne hitrosti (prenosa). -b <bitrate> - Prič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 meta podatkov imeniškemu strežniku (angl. directory server). -u <url> - Uporabi podan 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. ______________________________________________________________________ 11.1.2. LiveIce 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 prevajanje in postavljanje paketa, se prepričajte, da 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 lahko 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 na svoj računalnik, pazite, da se deli pojasnil ne bodo prenesli v nove vrstice, ker LiveIce v takšnem primeru ne bo deloval. ______________________________________________________________________ # 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 # na imeniškem strežniku, sicer 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 # sicer se privzame icy_0 PASSWORD hackme # Icecastovo administratorsko 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 uporabljen kodirnik. # Poglejte README za seznam podprtih BITRATE 128000 # Določi bitno hitrost toka (glejte spodaj) VBR_QUALITY 1 # Določi kvaliteto spremenljivega bitnega toka MIXER # Glejte spodaj PLAYLIST /megajukebox/playlist # Mesto seznama za predvajanje (glejte # podrobnosti ukaza find kasneje v poglavju) TRACK_LOGFILE track.log # Ime datoteke in mesto za izpis seznama # pretočenih datotek MP3 ______________________________________________________________________ Ko ste napisali konfiguracijsko datoteko, poženite LiveIce: ______________________________________________________________________ [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 ______________________________________________________________________ Zadnja vrstica je merilnik konic. Sledijo tipke za upravljanje mešalnega načina: ______________________________________________________________________ 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 Predogled kanala t b Naključna skladba u m ______________________________________________________________________ Zgornja datoteka liveice.cfg velja za mešalni način. Za uporabo LiveIca v načinu avdio (angl. audio mode), spremenite vrstico, ki se nananš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: ______________________________________________________________________ 946:Error: Line In mode *and* no soundcard??????? Eeejit! ______________________________________________________________________ Ko vam je uspelo vse pravilno nastaviti in priključiti na zunanji vir, bi vam oddajanje moralo delovati: ______________________________________________________________________ [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 ______________________________________________________________________ Zadnja vrstica je merilnik stopnje signala. Če je stopnja vhodnega signala previsoka, se bo prikazalo opozorilo *clip*. Če pride do tega, zmanjšajte ojačenje vhodnega vira. Pozornejši med vami boste morda opazili, da prve vrstice s pojasnili v datoteki liveice.cfg nakazujejo, da je bila datoteka narejena samodejno. Če uporabljate na Tk temelječ grafični uporabniški vmesnik liveiceconfigure.tk in izvedete ročne spremembe, boste le te izgubili ob shranjevanju. Ali uporabljajte samo grafični uporabniški vmesnik ali pa se naučite uporabljati Vi oz. Emacs. 11.2. Fluid 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 <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, pri čemer dodajmo še, da je v tem primeru uporabljen Kaffe, lahko pa ga poženete tudi z uporabo Jave: ______________________________________________________________________ [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 ______________________________________________________________________ Če ste prišli tako daleč, kaže, da vse deluje, zagotovo pa želite odd­ ajati š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 se nahaja v korenskem imeniku. Za zajem seznama vseh datotek MP3 v določenem imeniku (ali disku) in imenikih pod njim izvedite naslednji ukaz: ______________________________________________________________________ find [MP3_imenik] -name *.mp3 -print > playlist.m3u ______________________________________________________________________ Strežnik privzeto uporablja vrata 2711, kamor se bodo povezovali poslušalci. Če želite to sprementi, morate to storiti v konfiguraci­ jski datoteki. Strežnik lahko upravljate na daljavo tako, da se s telnetom povežete na administratorska vrata, privzeto je to 2710: ______________________________________________________________________ [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 ______________________________________________________________________ "jaguar" je privzeto administratorsko geslo. Ne pojavi se noben poziv za vnos gesla, zato ne čakajte nanj! Predlagamo, da geslo spremenite, sicer tvegate možnost vdora! Spremenite ga lahko v konfiguracijski datoteki, ki je prevedena videti tako: ______________________________________________________________________ [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 administriranje na daljavo # 8. Ime seznama skladb za oddajanje (seznam v formatu .m3u) # 9. Ime datoteke, kamor se izpišejo podatki o skladbi (iz oznake ID3) ______________________________________________________________________ Seznam za predvajanje je v zapisu m3u, kar pomeni, da gre za enak zapis, kot je bil narejen s prej omenjenim ukazom find. 11.2.1. Posodobitev za RC1 Fluid je bil posodobljen in izdan z dovoljenjem GPL (le tako naprej, Lars!). Najpomembnejše razlike so: ˇ Nov oblika nastavitvene datoteke fluid.config ˇ Nova privzeta strežniška vrata 4711 ˇ Nov način zagona in ustavljanja. Sedaj temu služita skripta fluid.start in fluid.stop ˇ Izvorna koda je sedaj del distribucije. Hura! 11.3. Litestream Litestream je po delovanju podoben Icecastu. Sistem se sestoji iz strežnika za oddajanje glasbe in vira glasbe MP3. Strežnik poženete z naslednjim ukazom: ______________________________________________________________________ [dj@megajukebox]$ litestream <vrata_vira> <vaš_naslov> <vrata_za_oddajanje> <št._poslušalcev> <dnevniška_oznaka> [<naslov_yp> <vrata_yp>] ______________________________________________________________________ Izbire pomenijo: vrata_vira Številka strežniških vrat, kamor se poveže vir glasbe. vaš_naslov To je številka IP ali polno ime vašega strežnika (izveste ga s pomočjo ukaza hostname (ime domene) ali cat /etc/hosts za naslov IP). vrata_za_oddajanje Številka strežniških vrat kamor se povezujejo odjemalci. št._poslušalcev Največje dovoljeno število odjemalcev, ki se lahko priključijo na strežnik. 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 strežnikovo sporočilo v /var/log/messages izgledalo podobno: ______________________________________________________________________ Sep 18 19:32:20 linux Litestream[1901]: stream.c:555: main: 'server started' ______________________________________________________________________ <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: ______________________________________________________________________ [dj@megajukebox]$ litestream 5000 megajukebox 5555 1000 LitestreamServer ______________________________________________________________________ Tako, to je zagon strežnika. Ko ga zaženete, čaka, dokler nanj ne priključite vira glasbe. To storite z ukazom source. Oblika tega ukaza je takšna: ______________________________________________________________________ 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> ______________________________________________________________________ Sledi seznam izbir ukaza source. številka_ip ali ime je ime oz. naslov IP računalnika s strežnikom Litestream. vrata je številka strežniških vrat, na katerih strežnik Litestream čaka na vir glasbe. ime je ime vašega toka. zvrst je zvrst glasbe v vašem toku. url je naslov do spletnih strani s predstavitvijo vašega strežnika. irc je ime kanala IRC za pogovore o glasbi na strežniku. icq je vaša številka ICQ. aim je vaše uporabniško ime AIM (AOL Instant Messenger, podobno kot ICQ, op. pr.). javno je lahko samo 0 ali 1. 0 pomeni zasebno, 1 pa javno. sporočena_bitna_hitrost je bitna hitrost toka, ki se sporoči strežniku YP. Ta hitrost ni nujno enaka dejanski bitni hitrosti toka. seznam.txt je ime datoteke s seznamom za predvajanje. dnevniška_oznaka je oznaka, ki se doda na začetek vsakega dnevniškega sporočila vira Litestream Streaming Source. Tale zgled se ujema s prej izvedenim ukazom za zagon strežnika Litestream: ______________________________________________________________________ [dj@megajukebox]$ source megakukebox 5000 'Megajukebox The best jukebox ever' Various http://www.megajukebox.com \#megajukebox 0 N/A 1 128 /jukebox/playlist LitestreamSource ______________________________________________________________________ 11.4. Modul Apache::MP3 Modul Apache:MP3 omogoča, da spletni strežnik Apache oddaja glasbo v zapisu MP3. Ne ponuja toliko možnosti kot 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.: ______________________________________________________________________ Perlrequire /etc/httpd/conf/startup.perl ______________________________________________________________________ Spremenite referenco /etc/httpd/conf, da bo kazala tja, kjer so Apachejeve nastavitvene datoteke. Sedaj 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: ______________________________________________________________________ [dj@megajukebox conf]$ cat /etc/httpd/conf/startup.perl #!/usr/bin/perl use MP3::Info(); ______________________________________________________________________ Zatem znova poženite strežnik Apache in usmerite spletni brskalnik do enega izmed novonastalih imenikov z glasbo MP3 :-) Več dokumentacije o modulu Apache::MP3 dobite, če v ukazni vrstici poženete: ______________________________________________________________________ [dj@megajukebox conf]$ perldoc Apache::MP3 ______________________________________________________________________ 11.5. Kako obiti požarni zid (angl. firewall) Precejšnje število podjetij in institucij sedaj uporablja požarne zidove, ki uporabnikom preprečujejo povezovanje na določena vrata oddaljenih strežnikov. Način, kako to obiti, je, da poženete strežnik MP3 na vratih 80 (privzeta številka vrat za spletne strežnike op. pr.). Vendar potem na istem naslovu ne boste mogli poganjati spletnega strežnika. Ko poganjate Icecast v načinu 'obidi požarni zid', boste morali pognati Shout z izbiro, ki nastavi številko strežniških vrat na 80, npr.: ______________________________________________________________________ [dj@megajukebox bin]$ ./shout megajukebox -e 80 -P hackme -p ../playlist ______________________________________________________________________ 11.6. Upoštevanje pasovne širine 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 kapaciteto 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 problemov 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 na intranetu, bo še vedno potrebno upoštevati pasovno širino, še posebej če je hitrost omrežja 10MBit/s. Svetujemo, da obvestite vašega ponudnika internetnih storitev ali sistemskega administratorja o vaših namerah glede postavitve strežnika MP3, da ne boste kasneje doživeli šoka. Nekateri ponudniki internetnih storitev bodo zaračunali uporabo pasovne širine čez določeno mejo in sistemske administratorje bo zanimalo, zakaj mreža deluje počasneje. 11.7. Še nekaj besed o avtorskih pravicah 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? To je področje, kjer 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). Močno 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.) <http://www.eff.org/cafe/> <http://www.riaa.com/weblic/weblic.htm> 12. Poslušanje glasbe MP3 Sedaj, ko imate (upamo) končno nekaj datotek MP3, lahko izbirate med predvajanjem iz datoteke ali iz toka. 12.1. Predvajanje iz datoteke Predvajanje iz datoteke je relativno 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 podate pot do te datoteke kot parameter, npr.: ______________________________________________________________________ [dj@megajukebox]$ mpg123 /mp3_files/SampleFile.mp3 ali [dj@megajukebox]$ xaudio /mp3_files/SampleFile.mp3 ______________________________________________________________________ Če želite predvajati zaporedje datotek, jih podajte kot seznam: ______________________________________________________________________ [dj@megajukebox]$ alsaplayer /mp3_files/SampleFile1.mp3 /mp3_files/SampleFile2.mp3 ______________________________________________________________________ Če želite predvajati vse skladbe v imeniku, samo podajte ustrezen džoker (angl. wildcard): ______________________________________________________________________ [dj@megajukebox]$ xmms /mp3_files/*.mp3 ______________________________________________________________________ 12.2. Predvajanje iz toka MP3 Predvajanje iz toka MP3 je dokaj preprosto, saj morate le ime datoteke nadomestiti z naslovom strežnika MP3 in številko strežniških vrat: ______________________________________________________________________ mpg123 http://localhost:8000 ali freeamp http://megajukebox:2711 ______________________________________________________________________ 12.3. Prestrezanje tokov MP3 Tok s strežnika MP3 lahko prestrežete in lokalno shranite z naslednjimi orodji: 12.3.1. Streamripper Za prestrezanje toka MP3 z uporabo Streamripperja vtipkajte: ______________________________________________________________________ [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 ______________________________________________________________________ Sledi preveden seznam izbir: ______________________________________________________________________ [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, tipično 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 statusa -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 ______________________________________________________________________ 12.3.2. Wget k lahko prestrežete tudi z Wgetom: ______________________________________________________________________ [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 -> .......... .......... .......... .......... .......... ______________________________________________________________________ 12.4. Mešanje 12.4.1. eMixer eMixer vam omogoča mešanje glasbe MP3 podobno kot DJ-eva mešalna miza. 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) ______________________________________________________________________ TIPKE ZA UPRAVLJANJE "gor, dol" pomikanje po seznamu "page up, page down" pomikanje po seznamu z večjimi skoki "enter" prični/ustavi predvajanje skladbe "tab" zamenjaj kanal "}","]" preklop med kontrolnikom/oknom za jakost in hitrost "presledek" predvajaj aktivno 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 med kontrolniki " q " poženi/zaustavi kanal 1 " w " poženi/zaustavi kanal 2 " p " preklop med načini predvajanja - skladba, zanka, ponavljanje, naključno " a " zaustavi vse kanale " f " datotečni meni " u " menu s pripomočki " h " menu za pomoč " ~, ` " odpovej menu (pojdi na stopnjo višje) " s " vklopi predvajanje iste skladbe na obeh kanalih istočasno (SIM Play) ______________________________________________________________________ 12.4.2. GDAM GDAM je na grafičnem uporabniškem vmesniku zasnovan mešalnik MP3 s precejšnjim številom vgrajenih učinkov v realnem času. 13. Urejanje oznak ID3 Oznake ID3 so podatkovna polja znotraj datotek MP3, ki vsebujejo podatke o datoteki, npr. kdo je izvajalec, na kateri plošči je skladba izšla itd. Urejevalniki vam omogočajo ogled in urejanje teh podatkov. 13.1. Id3ed Preveen seznam izbir urejevalnika Id3ed je takšen: ______________________________________________________________________ [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. Ostale 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 ______________________________________________________________________ ______________________________________________________________________ [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 ______________________________________________________________________ Če želite zgolj videti podatke, poženite Id3ed z izbiro -i: ______________________________________________________________________ [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) ______________________________________________________________________ 13.2. Mp3info MP3info deluje podobno kot Id3ed. Tukaj je preveden izvleček njegove strani za pomoč: ______________________________________________________________________ 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 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 preko imena. Izvede tudi -w. ______________________________________________________________________ 13.3. Številke zvrsti v ID3 ID3 za označevanje zvrsti uporablja številke, kot je podano v nadaljevanju. [podatki so vzeti s <http://www.id3.org/id3v2-00.txt>]. Zvrsti sem pustil neprevedene, ker njihovo prevajanje ne bi imelo pravega smisla (op. pr.). ______________________________________________________________________ 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 ______________________________________________________________________ 14. Zapis glasbe MP3 na Minidisc. Avtor(ica) razdelka je Afra <afra@prongs.org> Obstajata dva načina za zapisovanje glasbe iz datotek MP3 na vaš Minidisc: analogni in digitalni. Obe metodi sta odvisni od vrste zvočne kartice v vašem računalniku. Glavna 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 z igranjem z nastavitvami mešalnika. Za zapis na Minidisc ne potrebujete nobene posebne programske opreme, temveč samo predvajalnik MP3 za Linux. Pri obeh načinih zapisovanja bo potrebno povezati izhod zvočne kartice z vhodom Minidisca. 14.1. Analogno zapisovanje Če vaša zvočna kartica nima digitalnega izhoda (povezava "Digital Out"), je to edini način zapisovanja. 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. Do tega pride zaradi vaše zvočne kartice. Za čimmnajš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. 14.2. Digitalno zapisovanje 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 obeh naprav.) na digitalni izhod (angl. Digital Out) vaše zvočne kartice. Sedaj bi se na drugem koncu kabla morala prižgati lučka - dobro. Zdaj ta konec z lučko povežite na digitalni vhod (angl. Digital Input) vašega Minidisca. Minidisc nastavite v zapisovalni način (angl. record mode) in na računalniku predvajajte glasbo iz datotek MP3. 14.3. Seznami za predvajanje Pri predvajanju seznamov datotek MP3 se pojavi problem: kako naj Minidisc ve, kdaj je potrebno postaviti oznako automark, ko se zamenja skladba (t.j. samodejna menjava številk skladb)? Rešitev je tale datoteka MP3, ki jo lahko snamete z <http://www.prongs.org/minidisc/2sec.zip>. 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. 15. Odziv 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 phil@plus24.com <mailto:phil@plus24.com> in avtor jih bo vključil v naslednjo izdajo tega spisa. Avtor bi rad odgovoril vsakomur, upoštevajte pa, da občasno tega ne bo mogel storiti takoj zaradi delovnih obveznosti. Srečno pri delu z glasbo MP3!!