1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585
|
<!doctype linuxdoc system>
<!-- Nagekeken door Nine Matthijssen, smurfin@nl.linux.org -->
<linuxdoc>
<article>
<titlepag>
<title>De Linux MP3-HOWTO </title>
<author><name>Door Phil Kerr, <tt>phil@plus24.com</tt> <newline>
Vertaler: <htmlurl url="http://people.zeelandnet.nl/reggye" name=" Reggy
Ekkebus">, <htmlurl url="mailto:reggy@zeelandnet.nl" name="reggy@zeelandnet.nl">
</name></author>
<date>v1.40, April 2000</date>
<abstract>
Dit document beschrijft de hardware, software en procedures benodigd om
<em>MP3</em> sound files te encoderen, afspelen en streamen onder Linux.
</abstract>
</titlepag>
<toc>
<sect><heading>Introductie.</heading>
<p>
Dit document beschrijft de hardware, software en procedures benodigd om
MP3 sound files te encoderen, afspelen en streamen onder Linux.
Het houdt in:</p>
<p>MP3's encoderen van een live of externe bron.</p>
<p>MP3's encoderen van audio cd's.</p>
<p>MP3's streamen over het netwerk.</p>
<p>MP3's beluisteren.</p>
<p>MP3's mixen</p>
</sect>
<sect><heading>Copyright van dit document.</heading>
<p>
Deze HOWTO is auteerusrechtelijk beschermd. Copyright 2000 Phil Kerr.
Tenzij anders verklaard, berust het copyright van Linux Howto documenten
bij de eigenlijke auteur. Linux Howto documenten mogen worden
gereproduceerd en gedistributeerd in het geheel of gedeeltelijk, in elk medium
fysiek of elektronisch zolang de copyright-vermelding op elke kopie blijft
staan. Commercieële redistributie is toegestaan en wordt aangemoedigd;
hoewel de auteur hier wel van op de hoogte gebracht wil worden.
Alle vertalingen, afgeleide werken of verzamelde werken waarbij een
Linux Howto is betrokken moeten uitgebracht worden onder dit copyright.
Dat houdt in dat je geen afgeleid werk van een Howto mag maken en daar
enkele restricties op zetten. Uitzonderingen op deze regels kunnen gemaakt
worden onder bepaalde voorwaarden; neem contact op met de Linux Howto
co-ordinator op het adres hieronder gegeven.
In het kort, we moedigen verspreiding van deze informatie aan door zoveel
mogelijk kanalen. Hoewel, we wel willen dat het copyright op elk document
blijft, en we willen op de hoogte gebracht worden van elke herdistributie
van de HOWTO's.
Als je vragen hebt, neem dan contact op met Tim Bynum, De Linux HOWTO
co-ordinator, op <em>linux-howto@metalab.unc.edu</em> via email.</p>
</sect>
<sect><heading>Waar kun je dit document halen?</heading>
<p>
De meest recente officiële versie van dit document kan verkregen worden
van het Linux Documentation Project <url
url="http://http://www.linuxdoc.org/">.
De homepage voor deze HOWTO is: <url url="http://www.mp3-howto.com"></p>
<sect1><heading>Vertalingen</heading>
<p>
Deze HOWTO is vertaald in de volgende talen:
<em>Onthoud dat de vertalingen van dit document verouderd kunnen zijn,
het vertalen vergt tijd.</em>
<em>Koreaans</em>
<url url="http://kldp.org/HOWTO/MP3-HOWTO"> Door Lee,So-min
<animator@nownuri.net>
<em>Frans</em>
<url url="http://www.freenix.org/unix/linux/HOWTO/MP3-HOWTO.html"> Door
Arnaud Gomes-do-Vale <arnaud@carrosse.frmug.org>
<em>Hongaars</em>
<url url="http://free.netlap.hu/howto/MP3-HOGYAN.html"> Door Andras Timar
<atimar@itp.hu>
<em>Italiaans</em>
<url url="ftp://ftp.pluto.linux.it/pub/pluto/ildp/HOWTO/MP3-HOWTO"> Door
Mariani Dario <darkpand@uni.net>
<em>Spaans</em>
<url url="http://www.insflug.org/documentos/MP3-Como"> Door Arielo
larocka@yahoo.com
<em>Japans</em>
<url url="http://www.linux.or.jp/JF/JFdocs/MP3-HOWTO.html"> By Saito Kan <can-s@geocities.co.jp>
Veel dank aan de vertalers hierboven.
Als je deze HOWTO kunt vertalen, stuur de auteur dan een mailtje.
Geef ook de URL waar de vertaling staat.</p>
</sect1>
</sect>
<sect><heading>Erkentenis.</heading>
<p>
Bij het schrijven van deze HOWTO heb ik veel gehad aan de <em>Sound-HOWTO</em>
door Jeff Tranter, en de <em>Sound-Playing-HOWTO</em> door Yoo C. Chung.
Ook dank aan de andere HOWTO auteurs waar ik het werk van gebruikt heb:
<em>Linux System Administrators Guide</em> door Lars Wirzenius.
<em>Linux Network Administrators Guide</em> door Olaf Kirch.
<em>Multi Disk System Tuning HOWTO</em> door Stein Gjoen.
En ook veel dank aan de mensen die mij feedback, commentaar of
fout rapporten hebben gestuurd.
Speciale dank aan al mijn collega's van het WebSentric AG, speciaal Mark
S. Fischer & Peter Conrad voor hun commentaar, feedback en hulp.</p>
</sect>
<sect><heading>Disclaimer.</heading>
<p>
Gebruik de informatie in dit document op eigen risico.
Ik weiger elke soort van aansprakelijkheid voor dit document.
Gebruik de concepten, voorbeelden en andere inhoud in dit document op eigen
risico
Alle copyrights zijn eigendom van hun eigenaren, niet als het speciaal is
aangegeven
Het gebruik van een term in dit document moet niet gezien worden als een
bestaand handels of service merk.
Namen van particuliere producten of merken moeten niet gezien worden als
bekrachtiging.
Je wordt ten sterkste aangeraden om een backup te maken van je systeem voor de
echte installatie op verschillende tijden.</p>
</sect>
<sect><heading>Hardware Vereisten & Performance onderwerpen.</heading>
<p>
Digitaal audio verwerken is een bron intensieve taak die zwaar steunt op
de
processor en I/O capaciteiten van je systeem. Ik raad een minimum van een
Pentium Soort computer aan.
Als je gaat encoderen van een analoge audio bron via de line-in of microfoon,
geeft een PCI geluidskaart het beste resultaat. De I/O uitvoering tussen
een ISA en PCI kaart zijn aanmerkelijk, 132 MBytes/sec voor PCI (getal genomen
uit de <em>PCI-HOWTO</em>). Natuurlijk, hoe beter de kwaliteit van de
geluidskaart in termen van z'n signal-to-noise ratio, hoe beter het
geencodeerde MP3tje. Ik gebruik de Soundblaster PCI128 en ben net overgestapt
op een Soundblaster Live Value; beide kaarten geven goede audio performance,
maar Live heeft aanmerkelijk betere S/N rations, goed genoeg voor semi-pro
audio werk. Onthoudt: de oude date verwerkings grondstelling:- vuilnis in -
vuilnis uit!
Creative heeft een Beta driver voor de Soundblaster Live! die
hier gedownload kan worden van:
<url url="http://developer.soundblaster.com/linux/">
Als je analoge audio opneemt naar je Hard disk, meestal direct to disk of d2d
opnemen, is de performance van de disk en zijn interface kritiek. Als
je een IDE gebaseerd systeem gebruikt, mode 4 of UDMA is dat goed genoeg. Als
de overdrachts snelheid hoog genoeg is, gaat de overdracht zonder veel problemen.
De ideale oplossing zou een SCSI gebaseerd systeem zijn, omdat de drives
en interface een veel snellere doorstroom hebben, van 5 mbits/sec voor SCSI 1
tot 80 mbits/sec voor utra/wide SCSI. Ide tot iets van 8.3 MB/s tot 33 MB/s
voor Ultra-ATA maar deze snelheden zijn pieken, meestal zijn de transfers
langzamer. Als je er een kan vinden of betalen, een AV SCSI drive, neem er
dan een. AV drives hebben de lees/schrijf head geoptimaliseerd voor
continu data overdracht; andere SCSI en IDE drives kunnen normaal geen continu
datastroom aan als de schrijf hoofden warm worden!
Natuurlijk een drive met cache geeft nog konsekwenter resultaat dan een die
dat niet heeft, cache werkt als een buffer als de kop oplicht of de stroom het
even niet aan kan.
Als je drive niet van deze specificaties is, zal de opname lijden onder
de uitval en lichte storingen, waar de drive gefaald heeft om het signaal
op te nemen. Als je aan-uit evenementen opneemt, zoals live uitvoeringen,
investeer dan in een goed SCSI systeem.
Een andere oorzaak van d2d uitval is een zwaar beladen systeem. Achtergrond
taken kunnen tijdelijke storingen veroorzaken. Het is aan te raden zo min
mogelijk achtergrond taken te draaien, vooral netwerk gebaseerde taken. Voor
meer informatie over setup scripts en over het instellen van netwerk services
zie de <em>SAG</em> en <em>NAG</em> gidsen.
Virtueel geheugen veroozaakt ook lichte storingen, dus draai met zoveel
mogelijk intern geheugen, Ik raad op z'n minst 32 MB aan, maar nog meer is
beter.
Voor de mensen die het meest uit hun systeem willen halen, kan de kernel
optimaliseren geen kwaad.
Zolang de hardware specificatie hierboven je een bescheiden systeem geven
om audio data te encoderen, weiger niet oudere te gebruiken.
Het kan een goede uitdaging voor sys-admin zijn om een laag gespecifeerd
systeem een goed resultaat te geven, en het einde kan zijn een gelukkigere Linux
box.
Een andere belangrijk onderwerp is de audio bekabeling. Goedkope, slechte
kwaliteits kabels en verbinders resulteren in een slechte opname kwaliteit.
Als je geluidskaart de optie biedt voor een hoofdtelefoon, soms aangegeven
als RCA, connectors, gebruik ze dan. Goud geplateerde contacten helpen ook
de audio kwaliteit behouden; houd ook audio kabels uit de buurt van data
kabels: er is kans van storing.
Maar vergeet niet, een fortuin spenderen aan de beste audio bekabeling
is verspilling als de rest van je systeem niet geoptimaliseerd is.
Voor het opnemen van Mp3's van CD-ROM, zal de tijd dat het duurt bepaald
worden door type en snelheid om de ruwe data eraf te lezen. Een single speed
drive is veel te traag zelfs voor de geduldigste.
Je cd-rom moet aangesloten zijn op je geluidskaart als je wilt horen wat je
opneemt, door de interne connector of door de hoofdtelefoon aan te sluiten
op de cd-rom. Je kan geen Mp3 luisteren door de hoofdtelefoon connector
van de cd-rom!
Voor gedetailleerde instructies over het instellen van je geluidskaart,
lees je de <em>Sound-HOWTO</em>.</p>
</sect>
<sect><heading>Software Vereisten.</heading>
<p>
Audio converteren naar MP3's is normaal een 2 stappen proces, eerst de audio
opnemen als Wav en dan de Wav converteren naar een MP3. Sommige tools doen
beiden in een keer voor je.
Het formaat waarvan je audio wilt encoderen, CD of direct audio, geeft aan
met welke tool je Wav's moet maken.
Als je wilt encoderen van audio input heb je een tool nodig dat opneemt vanaf de
geluidskaart input en die dit omzet in Wav formaat. Hieronder staan een
aantal handige programmaatje's. (Het meeste commentaar is van de web site van
het programma).</p>
<sect1><heading>Rippers & WAV Recorders</heading>
<p>
Om te grabben van analoog audio line-in:
<em>Wavrec</em>
Waverec is gedistributeerd als deel van wavplay, welke te downloaden is van:-
<url url="ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/">
Om Cd audio data te converteren naar Wav, soms bekends als Cd ripping:
<em>CDDA2WAV</em>
<url url="http://metalab.unc.edu/pub/Linux/apps/sound/cdrom/">
<em>Cdparanoia</em>
Cdparanoia is een Compact Disc Digital Audio extraction tool, vaak bekend op
het net als een 'ripper'. De applicatie is gebouwd op de Paranoia
bibliotheek, die het echte werk doet (de Paranoia bron code is opgenomen in de
Cdparanoia source distributie). Net als de originele cdda2wav, leest
Cdparanoia package audio van de Cd direct als data, zonder een analoge stap
ertussen en schrijft de data naar een file of pipe in Wav, Aifc of raw 16 bit
linear PCM. In tegenstelling to cdda2wav is het veel trager maar het geeft een
beter resultaat zelfs als er krassen en moeilijke stukjes op de cd zitten.
<url url="http://www.xiph.org/paranoia/index.html">
<em>RipperX</em>
RipperX is een GTK programma om Cd audio te rippen en mp3s te encoderen. Het
heeft plug-ins voor Cdparanoia, BladeEnc, Lame MP3 encoder, XingMp3enc, lame
en de Iso v2 encoder. Het heeft ook support voor Cddb en id3 tags.
<url url="http://www.digitallabyrinth.com/linux/ripperX/">
<em/Grip/
Grip is een GTK gebaseerde CD spelen en CD-ripper/MP3-encoder. Het heeft de rip mogelijkheden van cdparanoia
ingebouwd, maar het kan ook een externe ripper gebruiken (zoals cdda2wav). Het heeft ook een geautomatiseerd
frontend voor MP3 encoders, het laat je een cd pakken om deze gelijk in MP3s om te zetten. Het CDDB protocol
wordt ook ondersteund om track informatie van disc database server te ontvangen. Grip werk met DigitalDJ
om een "gecomputeriseerde" versie van je muziek collectie aan te bieden.
</P></sect1>
<sect1><heading>Encoders</heading>
<p>
Om Wav om te zetten in Mp3 heb je een encoder nodig:
<em>Blade's MP3 Encoder</em>
BladeEnc is een gratis Mp3 encoder. Het is gebaseerd op de zelfde ISO
compressie routines als mpeg3enc, dus je kan ruwweg de zelfde, of betere
kwaliteit verwachten. Het hoofd verschil is het optreden en de snelheid.
BladeEnc heeft geen mooi, gebruikers vriendelijk interface net als mpegEnc,
maar het is meer dan 3 keer sneller en het werkt met populaire front-end
graphical user interfaces.
<url url="http://bladeenc.cjb.net">
<em>Lame</em>
In de grote historie van Gnu namen, staat Lame voor Lame Ain't an Mp3 Encoder.
Lame is geen mp3 encoder. Het is een Gpl'd patch van de dist10 ISO
demonstratie source. Lame is totaal ongeschikt voor het maken van mp3 stream.
Het is ongeschikt voor het compileren van zichzelf. Je moet de ISO source
hebben om deze software te laten werken. De ISO demonstratie source is ook
gratis verkrijgbaar, maar enkel commercieel gebruik heeft een licentie
agreement nodig van Fhg (Fraunhofer Gesellschaft, Duitsland).
<url url="http://www.sulaco.org/mp3/">
<em>Gogo</em>
Gogo is een zeer snelle MP3 encoder voor x86-CPU, die gebaseerd is op LAME
versie 3.29beta en geoptimaliseerd door PEN@MarineCat, Keiichi SAKAI, URURI,
kei en shigeo.
(Je moet NASM downloaden om de source te compileren, die te vinden is op <url
url="http://www.web-sites.co.uk/nasm/">).
<url url="http://homepage1.nifty.com/herumi/gogo_e.html">
</p></sect1>
<sect1><heading>Spelers</heading>
<p>
Om MP3's af te spelen moet je natuurlijk een speler hebben:
<em>Xmms (Formeel bekend als X11Amp)</em>
Deze speler heeft de meeste eigenschappen die Winamp (Windows 95/98/NT) ook
heeft, maar het heeft ook eigenschappen die alleen in Linux beschikbaar zijn.
<url url="http://www.xmms.org">
<em>Xaudio</em>
Xaudio is een zeer snelle en zeer robuuste Multi-platform oplossing voor
Digitaal Audio afspelen, vooral gericht op MPEG (MP1, MP2 en MP3) decoderen.
<url url="http://www.xaudio.com">
<em>AlsaPlayer</em>
Alsaplayer is een nieuw type van PCM speler. Het is zwaar multi-threaded en
probeert de ALSA bibliotheek te gebruiken om een beetje te draaien. Het heeft
zeer interessante eigenschappen uniek voor Linux/Unix spelers. Het doel is om
een volledig pluggable framework voor playback te maken voor alle soorten
media met de focus op PCM audio data. <em> Full speed (pitch) control,
positief *en* negatief! Eerst Linux- alleen GPL player dat doet het!! MP3's
en CD's doen verschillende snelheden :) </em>
<url url="http://www.alsa-project.org/~andy/">
<em>mpg123</em>
Wat is mpg123? Het is een snelle, gratis en portable MPEG audio speler voor
Unix. Het bied ondersteuning voor MPEG 1.0/2.0 layers 1, 2 en 3 (de beroemde
"mp3" files) en het is getest op een paar zeer verschillende platformen,
onder andere Linux, FreeBSD, NetBSD, SunOS, Solaris, IRIX, HP-UX en andere. Om
Cd kwaliteit mp3's af te spelen, is een Pentium (of snelle 486),
SPARCstation10, DEC Alpha of zo'n soort CPU nodig. Mono en/of gereduceerde
kwaliteit afspelen (22 kHz of 11 kHz) is zelfs mogelijk op langzamere 486
CPUs.
<url url="http://dorifer.heim3.tu-clausthal.de/~olli/mpg123/">
<em>Freeamp</em>
FreeAmp is een uitbreidbare, cross-platform audio speler. Het is een
geoptimaliseerde versie van de GPLed Xing MPEG decoder welke het een van de
snelste en beste geluids spelers verkrijgbaar maakt. FreeAmp heeft een aantal
van de belangrijkste eigenschappen, gebruikers kommen in een makkelijke en
vriendelijk interface.
<url url="http://www.freeamp.org/">
</p>
</sect1>
<sect1><heading>Streaming Servers</heading>
<p>
Streaming servers stellen je in staat om MP3's te 'rond te sturen' over het
netwerk, dit kan je intranet zijn of het internet.
<em>Icecast</em>
Welkom! Icecast is een Mpeg Layer III Audio broadcasting system het the
linuxpower.org team. Icecast komt gebundeld met iceplay en icedir. iceplay is
een playlist streamer die je in staat stelt geencodeerde files te zenden
naar je icecast server.
<url url="http://www.icecast.org/">
<em>Fluid</em>
Fluid Streaming Server is een programma voor het streamen van
media over netwerken, nu gebruikt het het mp3 formaat.
<url url="http://www.subside.com/fluid/"> (oude site)
<url url="http://fluid.sourceforge.net/"> (nieuwe site)
</p></sect1>
<sect1><heading>Mixen</heading>
<p>
<em/LiveIce/
LiveIce is de source client voor Icecast wat een mpeg stream encodeerd voor broadcast. Niet als clienten
als Shout en IceDJ staat dit het uitzenden van live audio toe, anders dan voorgeencodeerde mp3's.
Live is gebundeld met Icecast, nieuwere versies samen met documentatie kan gevonden worden op de website
hieronder:
<url url="http://star.arm.ac.uk/~spm/software/liveice.html">
<em/eMixer/
eMixer is een makkelijk te gebruiken front-end voor mpg123 dat je in staat stelt twee mp3 streams samen te
mixen. De mogelijk heid twee mp3's te mixen maakt eMixer een soort cross-fader, dit geeft de gebruiker DJ
mogelijkheden voor de computer. eMixer is er goed voor in een "real time" party omgeving. eMixer is gebaseerd
op de originele mix code waar liveice met werkt.
<url url="http://emixer.linuxave.net/">
</p>
</sect1>
<sect1><heading>Misc</heading>
<p> <em>Volume normalisatie</em>
<em>Wavnorm</em>
Als je live audio hebt ge-encodeerd, of je hebt van oudere cd's geencode,
kun je variaties vinden in het algemene geluids niveau.</p>
<p>
Om het geencode volume niveau van MP3's te veranderen moet je ze
normaliseren met wavnorm.
<url url="http://www.zog.net.au/computers/wavnorm/"></p>
<p>
Sox is een erg handig sound conversie tooltje welke is aan tebevelen
en je hebt het nodig als je wav norm wilt gebruiken.</p>
<p>
<url url="ftp://sunsite.unc.edu/pub/Linux/apps/sound/convert/"></p>
<p>
Je hebt misschien ook een mixer programma nodig; Xmixer werk goed en is
meegeleverd met de meeste distributies.</p>
</sect1>
</sect>
<sect><heading>Je systeem instellen.</heading>
<p>
Deze sectie zal de basis instellingen van je linux systeem beschrijven
die je nodig hebt om audio analoog of van Cd-rom op te nemen.
Ik baseer deze sectie op mijn Intel gebaseerd Linux systeem welke Redhat
draait, maar het zou distributie neutraal moeten zijn. Ik heb kort op de
Sparc platform versie gewerkt. (als je succes hebt gehad met andere hardware
dan in deze HOWTO geef het dan door).
Natuurlijk een logische noodzakelijkheid is een werkende geluidskaart. Op
dit punt is het een goed idee om de <em>Linux Sound HOWTO</em>, door Jeff
Tranter te lezen. En daarna kun je de <em>Linux Sound Playing HOWTO</em>, door
Yoo C. Chung lezen. Beide van de hierboven vermelde howto's vertellen de
details van het aan de praat kijgen van een sound systeem onder Linux veel
beter dan ik dat kan doen.</p>
<sect1><heading>Instellen voor Analoge Geluids opname </heading>
<p>
Stel eerst je audio in. Er zijn heel veel wegen om je audio te routeren
voordat het in je Linux box komt, enkele algemene zijn:
Line out naar geluidskaart Line in. De meeste audio apparaten hebben een
Line out. Line level is een standaard die aan geeft welke voltage het audio
apparaat zend. Als ik me goed herinner is dat 500mV voor huishoudelijke en
Semi-Pro apparaten, en 750mV voor Pro audio apparaten. Ik denk dat de
standaard voor de meeste geluids kaarten op 500mV staat, maar sommige van de
nieuwere Pro audio kan op de hogere standaard staan. Het zou niet veel
verschil moeten maken, tenzij je op de hogere kanalen gaat openen.
De line level output wordt normaal gebruikt om HIFI uitrusting aan te sluiten
op een amplifier, zodat dingen als een cassettedeck, Radio tuner, CD speler,
Dat machines en Mini-Disc spelers zonder problemen kunnen worden aangesloten.
Draai-tafels kunnen een groter probleem zijn, zie hieronder voor meer
informatie.
Je kan ook audio van Video's opnemen. De meeste Video's hebben een Line out
voor geluid, of je kan een line out hebben voor een Scart kabel als je
video er een heeft.
Amplifier Tape out naar geluidskaart Line in, geluidskaart Line out naar
Amplifier Tape in. Deze configuratie vervangt essentieel het traditionele
cassettedeck verbonden aan je HIFI amplifier met je Linux systeem. De
geluidskaart Line out naar de Tape in staat het nagaan van het opneem niveau
toe.
Microfoon naar geluidskaart Microfoon in. De voltages gegenereerd door
microfoons is veel kleiner dan de voltages gebruikt bij een Line level
device. Als je een Microfoon in je Geluidskaart Line in plugt, heb je kans
dat je helemaal niets opneemt.
<em>WAARSCHUWING: een line device in je geluidskaart
microfoon in pluggen kan schade aan je geluidskaart veroorzaken!!</em>
Draaitafel in microfoon in.
Veel dank aan Mark Tranchant voor het volgende.
<em>
De ruwe uitvoer van een record deck cartridge is op een erg laag niveau.
Hoewel, je het niet direct in je microfoon in kunt pluggen en dan een goed
resultaat verwachten. De output heeft equalizatie nodig, als opnamen zijn
gedaan met weinig bass en veel treble om de fysica van de bewegende naald te
verbeteren. Deze equalizatie wordt nauwkeurig beschreven en verwezen als RIAA
equalizatie. Je *moet* de uitvoer door een microfoon pre-amp draaien, en dan
in de line in.</em>
Keyboards en synths moeten worden aangesloten op de Geluidskaart in, met
gitars verboden aan de Line in via DI (Direct Injection, gebruikt om het
signaal te converteren naar Line niveau) box.
Voordat je alles in je geluidskaart plugt, weet dan zeker dat het volume niveau
geminimaliseerd is, of als je een microfoon gebruikt dat hij uit of weg van
de speakers is.</p>
</sect1>
<sect1><heading>Je CD-rom instellen voor het opnemen van audio</heading>
<p>
Je Linux systeem instellen voor het opnemen van audio data van CD-ROM is
redelijk gemakkelijk.
Als je een track kan horen spelen van je CD-ROM door je speakers of amplifier,
verbonden met je geluidskaart, dan is er een goede kans dat je het er van
kan opnemen. </p>
</sect1>
<sect1><heading>Extra setup</heading>
<p>
Login als normaal op je systeem, dan kun je door het gebruik van een mixer
programma het opname niveau regelen tot deze luid genoeg is, om je een
bescheiden opname niveau te geven, maar niet te luid en vervormd. Ik doet
dit normaal met het oor, na een tijdje weet je welk niveau het beste is
voor jouw kit.
Ik raad aan om alle onnodige services uit te zetten of switchen naar het
1ste runlevel, vooral bij het encoden van een audio bron. Dit is om zeker te
weten dat het minimale aantal diensten draait en dus systeem obstakels
minimaliseerd zijn tijdens het opnemen.
Ik heb een aparte SCSI disk geinstalleerd, exclusief om de audio naar op te
nemen, die ik aangeef als /mp3. Dit heb ik speciaal gedaan voor de performance
winst bij het gebruik van een SCSI drive. Ook, opnemen op een speciale drive,
waar je bijna zeker van weet dat de kop niet ineens naar een ander deel van
de drive gaat als je er audio data naartoe schrijft, dat is een goed idee :)
Voor de details van het instellen van een Linux systeem met meerdere schijven,
kun je de <em>Multi-Disk-HOWTO</em>, door Stein Gjoen lezen.</p>
</sect1>
</sect>
<sect><heading>Audio encoden.</heading>
<p>
Eerst, weet zeker dat je genoeg ruimte hebt op je schrijf. Op CD kwaliteit,
44.1 Khz 16 Bit stereo, is 1 minuut bijna 10 Mb (5 MB per kanaal).
Ik neem normaal op met DAT kwaliteit op, wat 48 Khz 16 Bit stereo is.
Als ik wavrec gebruik, gebruik ik het volgende commando:
/usr/local/bin/wavrec -t 60 -s 48000 -S /mp3/temp.wav
Het eerste deel is het volledige path naar wavrec. De '-t 60' specificeert
de lengte van tijd om op te nemen, in seconden.
De derde optie, -s 48000 geeft de sample rate aan in samples/sec. (48000 is
het geval bij DAT, 44100 is CD)
De laatste optie is het path naar de output file.
Om het volledige aantal opties te zien, draai waverec -help, of kijk in z'n
man page.
Dit produceert een WAV file. Daarna moet je deze encoden naar MP3.
Gebruik Bladeenc met het volgende commando:
/usr/local/bin/bladeenc <em/[bron file] [uitvoer file]/ -br 256000
De -br optie stelt de bit rate in, in dit geval heb ik de bit rate op maximaal
gezet 256k bits/s. Het path naar bladeenc kan ook anders zijn op je systeem
dan degene die ik heb gebruikt.
Om het volledige aantal opties te zien, draai dan 'bladeenc -help', eigenlijk
is dit een verkeerde optie, maar laat de lijst van opties wel zien.
Dezelfde encoding maar dan met Lame (net als met Gogo omdat het erop gebaseerd
is), geeft het volgende commando:
/usr/local/bin/lame <em/[bron file] [uitvoer file]/ -b 256
</p>
</sect>
<sect><heading>Encoderen van CD-ROM.</heading>
<p>
Op dezelfde manier als encoden van audio, is encoderen van CD een 2 stappen
proces. Eerst de audio data van de cd afhalen en converteren naar een wav
file. En dan de wav file naar MP3 converteren.</p>
<p>
Er zijn 2 types encoders, console gebaseerd en X gebaseerd. Beiden doen het
zelfde, maar de X gebaseerde zijn makkelijker te gebruiken (en zien er leuker
uit).
Weer, voordat je begint met encoderen, kijk of je genoeg harde schrijf
ruimte hebt op je systeem. </p>
<sect1><heading>Command Line encoderen</heading>
<p>
Ik heb een zeer simpel Perl script geschreven dat tracks van een Cd zal
rippen en encoderen.
<tscreen><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 "Usage cdriper [no of tracks] [destination directory]\n\n";
}
</code></tscreen>
Onthoud: Het script hierboven is erg basic en heeft niks moderns, zoals
error checking. Verbeter als je wilt. :)
De belangrijkste regels zijn:
<code>$cdcap = system("cdparanoia", $count, "/mp3/cdda.wav");</code>
Deze regel roept de CD ripper, cdparanoia aan. Cdparanoia converteert ruwe CD
audio data in het Wav formaat.
Ik gebruik Cdparanoia, maar als je CDDA2Wav wilt gebruiken zou het commando
zo moeten zijn:
<code>$cdcap = system("cdda2wav", $count, "/mp3/cdda.wav");</code>
De opvallenste opties zijn $count, welke het nummer van de track om te rippen is,
en dan het path voor de uitgevoerde Wav file. In mijn voorbeeld gaat dit door
een tmp directory op mijn MP3 SCSI disk.
De Wav file wordt geconverteerd naar MP3 door het gebruik van BladeEnc.
Ik heb het Perl script geschreven om te voorkomen dat je elke track apart moet
encoderen en rippen, en zodat je de batch mode van Cdparanoia niet nodig hebt.
Dit vermindert het aantal benodigde vrije Mb's, omdat Cdparanoia een hele Cd
in een keer ript, en dit neemt tot 600 MB.
Als je Lame of Gogo wilt gebruiken, verander de encoder regel dan naar:
<code>
$enc = system("lame /mp3/cdda.wav $track -b 256");
</code>
of
<code>
$enc = system("gogo /mp3/cdda.wav $track -b 256");
</code>
Hier is een dump van de verkrijgbare opties voor elke encoder.
BladeEnc
<code>
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.
Usage: bladeenc [global switches] input1 [output1 [switches]] input2 ...
General switches:
-[kbit], -br [kbit] MP3 bitrate instellen. Standaard is 128 (64 voor mono uitvoer).
-crc checksum data in MP3 file steken.
-delete, -del Sampel verwijderen na succesvol encoderen.
-private, -p Stel de private flag in de uitvoer file in.
-copyright, -c Stel de copyright flag in de uitvoer file in.
-copy Verwijdert de originele flags in de output file.
-mono, -dm Produceer een mono Mp3 door de stereo kanalen te combineren.
-leftmono, -lm Produceer een mono Mp3 van het linker stereo kanaal.
-rightmono, -rm Produceer een mono Mp3 van het rechter stereo kanaal
-swap Swap het linker en rechter stereo kanaal.
-rawfreq=[freq] Specificeer de frequentie van Raw samples. Standaard is 44100.
-rawbits=[bits] Specificeer de bits per kanaal voor Raw samples. Standaard is 16
-rawmono Specificeer dat de Raw samples mono zijn en niet stereo.
-rawstereo Specificeer dat de Raw samples stereo zijn. (standaard).
-rawsigned Specificeer dat de Raw samples gesigneerd zijn. (standaard).
-rawunsigned Specificeer dat de Raw samples niet gesigneerd zijn.
-rawbyteorder=[order]Specificeer byteorder van Raw samples, LITTLE of BIG.
-rawchannels=[1/2] Specificeer het aantal kanalen voor Raw samples. doet hetzelfde
als -rawmono en respectivelijk -rawstereo.
Globale instellingen:
-quit, -q Quit zonder te wachten op een toetsdruk als het klaar is.
-outdir=[dir] Sla Mp3's op in gespecificeerde directory.
-quiet Het scherm uitvoer uit.
-nocfg Haal geen instellingen ui configuratie file.
-prio=[prio] Zet de taak prioriteit voor BladeEnc. Goede instellingen zijn
HIGHEST, HIGHER, NORMAL, LOWER, LOWEST(standaard) en IDLE
-refresh=[rate] Refresh rate voor de progress indicator. 1=snelst, 2=normaal.
-progress=[0-8] Welke programma indicator gebruiken. 0=Uit, 1=Standaard.
Input/output files kunnen worden verplaatst met STDIN en STDOUT.
</code>
Lame
<code>
LAME version 3.50 (www.sulaco.org/mp3)
GPSYCHO: GPL psycho-acoustic model version 0.74.
USAGE : lame [options] <infile> [outfile]
<infile> and/or <outfile> can be "-", which means stdin/stdout.
OPTIONS :
-m mode (s)tereo, (j)oint, (f)orce of (m)ono (standaard j)
force = force ms_stereo op alle frames. Snelst en
gebruikt speciale Mid en Side masking schaal
-b <bitrate> stel de bitrate in, default 128kbps
(voor VBR, dit stelt de toegestaan minimale bitrate in)
-s sfreq sampling frequency van input file(kHz) - standaard 44.1
--resample sfreq sampling frequency van output file(kHz)- standaard=input sfreq
--mp3input input file is een MP3 file
--voice expirimentele geluids mode.
-v gebruik variabele bitrate (VBR)
-V n qualiteits instelling voor VBR. standaard n=4
0=hoogste qualiteit,grotere files. 9=kleinere files
-t schakel Xing VBR informatie tag uit
--nohist schakel VBR histogram weergave uit
-h gebruik (misschien) betere kwalatiet improvements
-f snele mode (lage kwaliteit)
-k schakel sfb=21 cutoff uit
-d sta toe dat kanalen verschillende blocktypes hebben
--athonly gebruik alleen de ATH voor masking
-r input is raw pcm
-x forceer byte-swapping van input
-a downmix van stereo naar mono file voor mono encoderen
-e emp de-emphasis n/5/c (verouderd)
-p fout protectie. Voegt 16bit checksum toe aan elk frame
(de checksum is goed berekend)
-c markeer als copyright
-o markeer als niet-origineel
-S print geen vooruitgangs rapport, VBR histogrammen
Een van deze opties meegeven zal een ID3 tag toevoegen
--tt <titel> titel van het liedje (max 30 karakters)
--ta <artiest> artiest die het liedje zingt (max 30 karakters)
--tl <album> album waar het van komt (max 30 karakters)
--ty <jaar> jaar waarin het liedje/album is gemaakt (max 4 karakters)
--tc <commentaar>toegevoegde informatie (max 30 karakters)
MPEG1 samplerates(kHz): 32 44.1 48
bitrates(kbs): 32 48 56 64 80 96 112 128 160 192 224 256 320
MPEG2 samplerates(kHz): 16 22.05 24
bitrates(kbs): 8 16 24 32 40 48 56 64 80 96 112 128 144 160
</code>
Gogo
<code>
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
This is based on LAME3.29beta and distributed under the LGPL
usage
gogo inputPCM [outputPCM] [options]
inputPCM is input wav file
if input.wav is `stdin' then stdin-mode
outputPCM is output mp3 file (omissible)
options
-b kbps bitrate [kpbs]
-br bps bitrate [ bps]
-silent geef geen vooruitgangs rapport weer
-off {3dn,mmx,kni(sse),e3dn}
-v {0,..,9} VBR [0:hoge kwaliteit 9:hoge compresie]
Je moet dit combineren met de -b optie
alleen voor RAW-PCM input
-offset bytes overslaan header grootte
-8bit 8bit-PCM [dflt 16bit-PCM]
-mono mono-PCM [dflt stereo-PCM]
-bswap hoge, lage byte swapping voor 16bitPCM
-s kHz freq van PCM [dflt 44.1kHz]
-nopsy schakel psycho-acoustics uit
-m {s,m,j} output formaat s:stereo, m:mono, j:j-stereo
-d kHz verander sampling-rate van output MP3
-emh {n,c,5} de-emphasis
-lpf {on,off} 16kHz filter [dflt use als <= 128kbps; niet gebruiken als >= 160kbps]
-test benchmark mode
-delete verwijder input file, na encoden
</code>
</p>
<sect2><heading>RipEnc</heading>
<p>
RipEnc doet de zelfde taak als de code bovenaan, maar het is geschreven in shell en is makkelijker
te gebruiken :)
Hier is hoe het eruit ziet.
<code>
RipEnc version 0.7, Copyright (C) 1999 Michael J. Parmeley
<mjparme@asde.com>, RipEnc comes with ABSOLUTELY NO WARRANTY
There is currently NO encoding process running in the background
Your encode.log file is 982607 bytes long.
<Enter 'd' for details, 'v' to view the encode log, or 'del' to delete the encode log>
1) Verander de werk directory..................[/megajukebox/tmp]
2) kies encoder................................[lame]
3) Kies ripper.................................[cdparanoia]
4) Kies id3 tool...............................[none]
5) Zet CDDB benaming aan of handmatig..........[handmatig]
6) Setup XMCD_LIBDIR variabel voor CDA.........[/var/X11R6/lib/xmcd]
7) Hoe de naam van een liedje eruitziet........[artist-name_of_song.mp3]
8) Rip de hele CD?.............................[no]
9) Zet de kleine schijf optie aan..............[no]
10) Kies je Cd-Rom device......................[/dev/cdrom]
11) Stel de Bitrate in voor de encoded MP3's...[256]
12) Laat de file's zien in je werk directory
13) Start
14) About
?
</code>
</P>
</sect2>
</sect1>
<sect1><heading>GUI gebaseerde encoders</heading>
<p>
GUI gebaseerde encoders hebben dezelfde functionaliteiten als console
gebaseerde encoders, maar het is allemaal in een mooi en makkelijk te
gebruiken interface gestopt. Grip en RipperX zijn hetzelfde in werking, ze
bieden je beiden aan om enkele of alle tracks van een Cd te rippen en
converteren. Ze hebben ook CDDB support wat je in staat stelt om de informatie
van een album en zijn nummers te ontvangen van een server en bespaart je dat
je informatie met de hand moet invoeren.</p> </sect1>
<sect1><heading>Encoder snelheid</heading>
<p>
In de encodeer secties heb ik 3 verschillende encoders vermeld: bladeenc,
lame en gogo. Het grote verschil zit in hun snelheid van encoderen (hoewel ze
verschillende opties hebben die we eerder hebben laten zien).
Een klein voorbeeld. Ik heb een track van een Cd geript en deze geencodeerd
met verschillende encoders. Alle encoders draaiden op hetzelfde systeem en
produceerden allemaal stereo mp3's. <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>
Het ziet ernaar uit dat Gogo een meer geoptimaliseerd algoritme voor
encoderen heeft dan Lame. </p>
</sect1>
</sect>
<sect><heading>MP3's streamen.</heading>
<p>
Een streaming server stelt je in staat om MP3 files over een Tcp gebaseerd
netwerk te transporteren. dit kan het internet zijn of je lokale netwerk /
intranet.
De connectie principes zijn bijna gelijk aan die van een web server, files
worden gestreamd als een client (de MP3 speler) verbinding maakt met de server.
Een streaming server instellen is erg simpel. Ik fokus eerst op Icecast en dan Fluid.
</p>
<sect1><heading>Icecast</heading>
<p>
Na het downloaden en untarren, zou een goede kijk in de doc/ directorie geen
kwaad kunnen, de HTML handleiding is erg handig en omvattend.
Als je de bron code hebt gedownload, volg dan de instructies voor het
compileren die relevant zijn voor je systeem.
Icecast zal niet goed werken als je de servernaam in de configuratie file,
icecast.conf, welke in de etc directory staat niet goed instelt. Het moet de
naam zijn die je IP adres kan ophelderen.
Als je het volgende zie als Icecast opstart heb je problemen:
<code>
-> [05/Jan/2000:17:21:04] WARNING: Resolving the server name [your.server.name] does not work!
</code>
Edit de icecast.conf welke zich bevindt in de etc directory en zoek de regel
die het woord "server_name" bevat en voer je server naam in. Als je onzeker
bent kun je je hostname uitvissen met het <em>hostname</em> commando, of door
een kijkje in /etc/hosts.
Als je de nodige veranderingen hebt gemaakt moet je of de conf file naar de
bin directory kopieëren of icecast starten met de -c optie en de locatie
aangeven, zoals dit: <code>
./icecast -c ../etc/icecast.conf
</code>
Als alles goed is geconfigureerd, zie je iets wat lijkt op:
<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>
De -d optie zet de directory voor log files en templates.
Hieronder is de lijst van command-line opties:
<code>
-c [filename]
Geef een configuratie file door. Onthoud, dat elk command-line
optie die je meegeeft de waarden in de configuratie file 'vervangt',
dus alles in de icecast.conf wat niet is overschreven door de nieuwe
file wordt gebruikt voor de server.
-P [port]
Dit is de poort gebruikt voor alle client, source en admin connecties. Standaard
staat het op 8000.
-m [max clients]
Staat dit aantal client connecties toe. Als dit is berijk worden alle client
connecties geweigerd met 'HTTP/1.0 504 Server Full'.
-p [encoder password]
Dit stelt het paswoord dat de encoder moet gebruiken om naar de server
te streamen. Onthoud dat als je de server met crypt() hebt gecompileerd
dat hier ook een versleutelde string moet staan.
-b
Dit zend de icecast server in de achtergrond (een deamon process).
Om de admin commando's nu te gebruiken moet je connectie maken met de server
als een admin, met een soort van telnet client.
-d [directory]
Zorg dat icecast alle logfiles die hij maakt en alle templates waar hij naar
zoek in deze directorie.
</code>
Zo, de server is gestart, maar nu moeten we een MP3 bron er aan verbinden.
</p>
<sect2><heading>Shout</heading>
<p>
Shout voorziet Icecast van een statische playlist van MP3's om te streamen.
Je maakt een playlist van de MP3 files die je wilt streamen met het volgende
commando:
<code>
find [MP3 directory] -name *.mp3 -print > playlist
</code>
Het is heel makkelijk om het shout service te starten, geef het volgende
commando:
<code>
[dj@megajukebox bin]# ./shout megajukebox -P hackme -p playlist
</code>
De -P optie is het paswoord dat nodig is om een mount-punt toe tevoegen aan
Icecast, dit is normaal ingestelt als <em>hackme</em>..... Ik raad je sterk
aan dit te veranderen voordat een ander het doet :) De -p optie specificeert
de lokatie van de playlist file.
Hieronder is een lijst van alle command line opties:
<code>
[dj@megajukebox bin]# ./shout
Usage: shout <host> [options] [[-b <bitrate] file.mp3]...
Options:
-B <directory> - Gebruik deze directory voor alle shout files
-C <file> - Gebruik file als configuratie file
-D <dj_file> - Draai dit voor elk liedje (system())
-P <password> - Gebruik als paswoord password
-S - Geef alle instellingen weer en exit
-V - Gebruik verbose uitvoer
-X <desc> - Gebruik gespecificeerde beschrijving
-a - schakel automatisch bitrate (transfer) correctie
-b <bitrate> - Start met het gespicifeerde bitrate
-d - Schakel de dj in.
-e <port> - Verbind op poort met server.
-f - Sla files over die niet de goed bitrate hebben
-g <genre> - Gebruik een specifiek genre
-h - Laat deze tekst zien
-i - Gebruik oude icy headers
-k - Vermink de interne playlist niet
-l - Ga voor altijd door (loop)
-m <mount> - Gebruik het gespecificeerde mount punt
-n <name> - Gebruik de gespecificeerde naam
-o - Schakel bitrate autodetectie uit
-p <playlist> - Gebruik deze file als een playlist
-r - Shuffle playlist (random play)
-s - (Geheim) Zend geen meta data naar directory server
-u <url> - Gebruik de gespecificeerde url
-v - Laat versie zien
-x - Update de cue file niet (spaart cpu)
-z - Ga in de achtergrond (Daemon mode)
-t - Schakel titel streaming in
</code>
</p>
</sect2>
<sect2><heading>LiveIce</heading>
<p>
LiveIce kan in 2 modes werken, het kan een playlist doorgeven aan Icecast of kan live audio van de
geluidskaart doorgeven.
Na het untarren en lezen van de README betreffende het compileren van het pakket, zorg dan dat mpg123 is
geinstalleerd en dat LiveIce het kan gebruiken als LiveIce het nodig heeft.
Er zijn twee manieren om LiveIce te configureren. De config file editten met vi/emacs/of wat dan ook of
doormiddel van een TK gebaseerde configuratie tool, wat een mooie manier van editten is :)
De best plaats voor beschrijvingen over de internals van liveice.conf kan worden gevonden op
de LiveIce homepage waar Scott alle opties beschrijft.
Dit is een kopie van mijn config file met LiveIce ingesteld in de mixer mode (streamen van een lijst MP3's)
NOTITIE: Ik heb commentaar toegevoegd aan de file, dus als je kopie en paste doet zorg dan dat
er geen tekst op de volgende regel verschijnt anders werkt LiveIce niet :)
<code>
# liveice configuratie file
# Automatisch gegenereerd
SERVER megajukebox # Je server naam * MOET DE NAAM ZIJN HOE DE SERVER IS GENOEMD *
PORT 8000 # De poort waar Icecast op draait.
NAME Megajukebox # Informatie met betrekking to de server naam die wordt gezonden
# naar de MP3 spelers en de directory servers.
# Voorbeelden 'Sarah FM' of 'ThisTown: Loud and Heavy Jazz -Internet Radio 24/7'
GENRE Live # Informatie over het genre. Bijvoorbeeld 'Talk' of 'Dance'
DESCRIPTION # Informatie over het station. Voorbeeld 'The best for reggae in the North'
URL http://megajukebox:8000 # De URL en poort van de serverThe URL and port of the server.
PUBLIC 0 # Zet hier 1 als wilt dat Icecast je station lijst en details moet doorgeven.
# laat het anders op 0 staan
XAUDIOCAST_LOGIN # Kan ICY_LOGIN zijn of X_AUDIOCAST_LOGIN. X_AUDIOCAST is beter.
MOUNTPOINT /techno # Stelt de naam van het mountpunt van de stream in voor Icecast.
# Wordt alleen gebruikt als X_AUDIOCAST is gebruikt. De default is icy_0
PASSWORD hackme # Het admin paswoord van Icecast.
SAMPLE_RATE 44100 # De sample rate van de stream
STEREO # kan MONO of STEREO zijn
NO_SOUNDCARD # Zie hieronder
HALF_DUPLEX # Stelt de soundkaar duplex mode in. Kan HALF_DUPLEX of FULL_DUPLEX zijn
USE_GOGO # Stelt de encoder in die moet worden gebruik. Kijk in de README voor een lijst
BITRATE 128000 # Stelt de bit rate van de stream in (zie hieronder)
VBR_QUALITY 1 # Stelt de variabele bit rate kwaliteit in.
MIXER # Zie hieronder
PLAYLIST /megajukebox/playlist # Lokatie van de playlist (zie details op het find commando later
# in dit hoofdstuk)
TRACK_LOGFILE track.log # Filenaam en lokatie om de lijst van MP3's te dumpen die gestreamt worden
Als je de config file hebt start je LiveIce op deze manier:
<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>
The last line is a peak meter.
Dit zijn de toetsenbord controls voor de mixer mode:
<code>
Actie Kanaal 1 toets Kanaal 2 toets
~~~~~~ ~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~
Selecteer volgende track op kanaal 1 a
Selecteer vorige track op kanaal q z
Start/Stop kanaal 2 s
Reset kanaal w x
Verhoog volume op kanaal 3 d
Verlaag volume op kanaal e c
Verhoog snelheid op kanaal 4 f
Verlaag snelheid op kanaal r v
Sticky mode Aan/Random/Uit 5 g
Preview kanaal t b
Random Track u m
</code>
De bovenstaande liveice.cfg is voor mixermode. Om LiveIce in audio mode te gebruiken verander dan de regel
met MIXER naar NOMIXER en maak NO_SOUNDCARD, SOUNDCARD en herstart LiveIce.
De correctie opties vergeten instellen kan lijden to enkele interesante waarschuwingen ;)
<code>
946:Error: Line In mode *en* geen soundkaart??????? Eeejit!
</code>
Als je alles goed hebt ingesteld en een externe bron hebt ingeplugd, moet je kunnen streame =:)
<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
sical
Press '+' to Finish
Lvl: L: 8704 R: 11776
</code>
De laatste regel is een signaal meter, als het input signaal te hoog is krijg je een *clip* waarschuwing.
Als je de gain van de input source zachter zet.
De slim goed geoogedenn onder jullie heeft misschien gezien dat in
liveice.cfg de eerste regel commentaar laten
zien dat de file automatisch is gegenereerd. Als je de TK gebaseerde GUI liveiceconfigure.tk gebruikt
en je hebt handmatige veranderingen gemaakt ben je die kwijt. Gebruik de GUI of leer vi/emacs :)
</p>
</sect2>
</sect1>
<sect1><heading>Fluid</heading>
<p>
Na het untarren van de bundel cd naar de directory, lees dan de README :)
Fluid heeft drie basis modes van operatie, verzenden, ontvangen en doorsturen.
Ik focus alleen op verzenden.
De configuratie files die te maken hebben met transmit staan in
config/MP3TX.cfg. Om de server met het volgende te testen zouden de standaard
settings ok moet zijn:
java Fluid TX
Natuurlijk moet je een vorm Java eerst geinstalleerd hebben. Je kan de
Blackdown port van JDK gebruiken verkrijgbaar op <url
url="http://www.blackdown.org"> of als je Redhat gebruikt, Kaffe.
Fluid komt met een paar voorbeeld MP3 files, Dus als er iets werkt zou je
iets als dit moeten zien
(Ik heb de server in dit voorbeeld met Kaffe gestart, je kan het ook starten
met java):
<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>
Als je zo ver komt, ziet het er naar uit dat het werkt, maar ik weet zeker
dat je meer wilt streamen dan alleen de demo files!
Je moet een playlist van MP3's die je wilt streamen compileren. Dit is een
statische lijst, gebruikers kunnen geen aanvragen maken. Deze playlist is
playlist.m3u en staat standaard in de root directory.
Om een playlist van alle MP3's in een bepaalde directory (of disk) te
compileren gebruik dan dit commando:
<code>
find [MP3 directory] -name *.mp3 -print > playlist.m3u
</code>
Standaard gebruikt de server poort 2711, dit is waar je luisteraars
verbinding mee maken, als je dit wilt veranderen kan dat in de configuratie
file.
De server kan op afstand worden beheerd door te telnetten naar de admin poort,
standaard poort 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>
Het woord "jaguar" is het admin password, dit is standaard. Er is geen
prompt voor het password dus wacht er niet op! Ik raad je aan dit te
veranderen of je nodigt een hacker uit! Het kan veranderd worden in de
configuratie file, welke er zo uitziet:
<code>
[dj@megajukebox config]$ cat MP3TX.cfg
2711
2710
5
4096
32
1000
jaguar
playlist.m3u
current.txt
# --- De regels zijn ---
# 1. POORT nummer (welke de server gaat gebruiken)
# 2. POORT nummer (voor het onderhouden van de server)
# 3. Maximaal aantal connecties (voor de server)
# 4 Packetgrootte bij het lezen/zenden (in bytes)
# 5. Bitrate van de mp3s in kbit/s (alle mp3s moeten dezelfde bitrate hebben)
# 6. Tijd tussen liedjes (in milliseconden)
# 7. Paswoord voor op afstand beheren
# 8. Playlist naam (lijst in .m3u formaat)
# 9. Naam van de file om de song info naar toe te schrijven (van ID3-tag)
</code>
De opmerking op de playlist is dat deze in m3u formaat is wat betekent dat
het in het zelfde formaat is als het find commando eerder. </p>
</sect1>
<sect1><heading>Bandbreedte afwegingen</heading>
<p>
Audio streamen kan ontzettend veel bandbreedte innemen als de bit-rate van de
MP3 server te hoog staat.
Overweeg dit scenario. Een T1 link heeft een capaciteit van ongeveer 1.55
Mb/Sec. Als je je MP3' streamt op 128K/Bps stereo, zal elke speler 256K/Bps
gebruiken, dus er kunnen maar 6 gebruikers verbinding maken met je MP3 server
op elk tijdstip zonder problemen. En 256K/Bps, kunnen veel gebruikers niet
door hun modem krijgen!
Dus je moet een beslising maken niet alleen in te stellen op wat de server
kan, maar op wat een client kan. 24K/Bps geeft een redelijke kwaliteits
signaal waar 56K modem gebruikers naar kunnen connecten, en dezelfde T1 line
kan nu 32 connecties aan.
Als je server op een Intranet draait, telt bandbreedte nog steeds mee vooral
als je een 10M/Sec netwerk hebt.
Maar laat a.u.b je ISP of sys admin weten dat je gaat streamen anders zorg je
voor opschudding. Sommige ISP's laten je betalen voor bandbreedte als je een
limiet overschreidt en sys admins willen weten waarom hun netwerk zo traag is
:)</p> </sect1>
<sect1><heading>Copyright onderwerpen</heading>
<p>
Ik denk dat het logisch is dat platenmaatschappijen het niet leuk vinden als
je hun materiaal zonder hun toestemming of betaling gaat streamen! Dus wat kun
je streamen?
Dit is een gebied waar je je bewust moet zijn van legaliteit, omdat jij
degene bent die schuldig is.
Hieronder staan twee links, een van de Electronic Frontier Foundation, welke
advocaten zijn welke de beperkingen van de omliggende technologie vrijer
willen maken. De andere link is naar de Recording Industry Association of
America, welke artiesten beschermt tegen piraterij.
Ik raad je sterk aan beide sites te bezoeken en andere waar je fysiek op
gebaseerd bent.
<url url="http://www.eff.org/cafe/">
<url url="http://www.riaa.com/weblic/weblic.htm">
</p>
</sect1>
</sect>
<sect><heading>MP3's luisteren</heading>
<p>
Hopelijk heb je nu enkele MP3 files om te beluisteren, en je hebt de keuze
om van stream of file te spelen.</p>
<sect1><heading>Spelen van een File </heading>
<p>
Spelen van een file is bij alle spelers erg simpel. Het enige verschil is
dat sommige command-line gebaseerd zijn en ander X gebaseerd.
Om een MP3 te spelen van een file moet je de mp3 file doorgeven als een
parameter, zoals dit:
<code>
[dj@megajukebox]$ mpg123 /mp3_files/SampleFile.mp3
of
[dj@megajukebox]$ xaudio /mp3_files/SampleFile.mp3
</code>
Als je een serie files wilt spelen, geef ze dan een lijst:
<code>
[dj@megajukebox]$ alsaplayer /mp3_files/SampleFile1.mp3 /mp3_files/SampleFile2.mp3
</code>
Om tracks in een directory te spelen, gebruik dan een wildcard om alle files
te selecteren:
<code>
[dj@megajukebox]$ xmms /mp3_files/*.mp3
</code>
</p>
</sect1>
<sect1><heading>MP3 spelen van streams</heading>
<p>
Mp3's spelen van een MP3 stream is ook best simpel, gewoon de file met de
streams url en poort nummer:
<code>
mpg123 http://localhost:8000
of
freeamp http://megajukebox:2711
</code>
</p>
</sect1>
<sect1><heading>Mixen</heading>
<sect2><heading>eMixer</heading>
<p>
eMixer geeft je de mogelijkheid MP3's te mixen net als bij een menpaneel van een DJ.
Niewere versies ondersteunen 2 geluids kaarten zodat je je mix uit kan voeren op de ene kaar en de volgende
track beluisteren op de andere geluids kaart.
Als normaal als je hebt geuntart, kijk je in de readme file hoe je het pakketje moet compileren.
Je moet een playlist met MP3 files maken, doe dit met het find commando dat in de Streaming sectie staat.
Je moet zorgen de mpg123 is geinstalleerd voordat je eMixer kunt gebruiken.
Hier zijn de controle toetsen (uit de readme file)
<code>
KEYBOARD CONTROLS
"up, down" door de playlist scrollen
"page up, page down" door de playlist scrollen met bladzijden per keer
"enter" start/stop track
"tab" verander kanaal
"}","]" Volume en snelheid controle/scherm
"space" herstart de actieve track
"left, right" fader controls
"insert" verhoog volume/snelheid in kanaal een
"home" verlaag volume/snelheid in kanaal een
"delete" verlaat volume/snelheid in kanaal twee
"end" increase volume/snelheid in kanaal twee
"< , / , >" links, center & rechts posities van fader
" + , = " (NEW) wissel tussen faders
" q " start/stop kanaal een
" w " start/stop kanaal twee
" p " Verwissel de playmodes - single, loop, continous, random
" a " stop alle kanalen
" f " file menu
" u " util menu
" h " help menu
" ~, ` " annuleer menu
" s " zet sim play aan
(SIM Play start de zelfde track in beide kanalen
tegelijk )
</code>
</p>
</sect2>
</sect1>
</sect>
<sect><heading>Feedback.</heading>
<p>
Nieuwe hardware en software wordt altijd gereleased. Als je nieuwe versie
van hardware en / of software in deze gebruikt, of als je iets kan toevoegen,
zend dan je informatie voor toevoeging naar <em>phil@plus24.com</em> en ik zet
het in de volgende release.
Omdat ik alle vragen beantwoord, onthoud dan dat ik niet altijd kan terug
mailen omdat ik ook moet werken.
Happy MP3'ing!!
</p>
</sect>
</article>
</linuxdoc>
|