Index

Inhaltsverzeichnis

  1. "mp3 Erstellung per Skript"
    1. cd2mp3.sh - MP3 mit CDDB tagen
    2. Audio-CD ohne CDDB eintrag mit Tag versehen oder bestehende MP3-Datei mit Tag versehen
    3. CD-Infos auslesen

"mp3 Erstellung per Skript"

cd2mp3.sh - MP3 mit CDDB tagen

Das tagen von mp3-Dateien ist immer wieder zeitaufwendig, deshalb lässt man das alles von einem Skript gleich beim Konvertieren erledigen. Durch die CDDB-Abfrage über die Internetverbindung sollten dann eigentlich alle Dateien den richtigen Tag besitzen, nur das Erscheinungsjahr (-year=?) und die Repräsentation des CD-ROM-Laufwerks im Dateisystem (-cddev=?) müssen noch angegeben werden. Dieses Skript benutzt LAME, id3tag, cdda2wav und list_audio_tracks (bei cdda2wav dabei):

Änderungen in den Skripten bitte Kommentieren!

cd2mp3.sh:

# Aus den Optionen Variablen machen:
for i in $@ ; do
 gr=$(echo 1ドル | sed -e 's/\-//g' | cut -d'=' -f1)
 declare $gr=$(echo 1ドル | cut -d'=' -f2)
 shift
done

## Konfiguration: ##
# ^^^^^^^^^^^^^ #

# Ordner in dem die mp3 gespeichert werden:
MP3DIR=$HOME/Musik
# Device des CD-ROM-Laufwerks:
[ $cddev ] || cddev=/dev/cdrom
# Reihenfolge der Titelteile für den mp3-Namen (ohne Leer- & Sonderzeichen):
MP3NAME=$ALBUM-$TRACK-$TITLE # $ARTIST $GENRE $year
# Die Programme und ihre Optionen:
CDDA2WAV=cdda2wav
MP_CODER=lame
CDDA2WAV_OPTS="-D $cddev -H -P0 -q"
MP_OPTIONS="-v" # -v = Variable Bitrate -> ohne ist es schneller, aber schlechtere Qualität

# evtl. /usr/lib/X11/xmcd/config/config.sh vorher ausführen.

## Ab hier gibt es eigentlich nichts mehr zu konfigurieren: ##
# ^^^^^^ ^^^^^^^^^^^^^ #

# Usage anzeigen bei Fehler oder Ctl-C:
sorry()
{
 echo -e "\n Usage: 0ドル [ -cddev=/dev/ice ] [ -year=#### ]" ; exit
}
trap sorry 1 2 3 15 INT

# CDDB-Eintrag mit cda (xmcd-pakage) holen:
echo -e "033円[33;1;40mGet CDDB-entry....033円[m"
cda -dev $cddev on >/dev/null 2>&1
TOCFILE=$(cda -dev $cddev toc | sed -e s/\`/\'/g -e 's/[;:*#?|><\"\$!]//g')
cda -dev $cddev toc | sed -e s/\`/\'/g -e 's/[;:*#?|><\"\$!]//g' -e 's/\//-/g'
cda -dev $cddev off >/dev/null 2>&1
# Abbrechen und meckern, wenn cda nicht funktioniert:
if [ $? != 0 ] ; then
echo "/usr/lib/X11/xmcd/config/$(echo $cddev | cut -d'/' -f3)\
 missing -> pleas run /usr/lib/X11/xmcd/config/config.sh"
exit 1
fi
# Abfrage der zu konvertierenden Tracks:
echo -en "\nWhich Title should be converted\nfor all just press ENTER: "
read TRACKS
sleep 2
# Den CDDB-Eintrag in Variablen quetschen:
GENRES=$(echo "$TOCFILE" | grep "^Genre" | cut -d' ' -f2)
GENRE=$(echo "$GENRES" | tr '[:upper:]' '[:lower:]')
# Wird noch erweitert... (nur einträge ohne Sonderzeichen und Leerzeichen)
case "$GENRE" in
 blues) GENRE=0; ;; # Blues
 classical) GENRE=32; ;; # Classical
 country) GENRE=2; ;; # Country
 folk) GENRE=80; ;; # Folk
 jazz) GENRE=8; ;; # Jazz
 newage) GENRE=10; ;; # Newage
 reggae) GENRE=16; ;; # Reggae
 rock) GENRE=17; ;; # Rock
 soundtrack) GENRE=24; ;; # Soundtrack
 oldies) GENRE=11; ;; # Oldies
 pop) GENRE=13; ;; # Pop
 r\&b) GENRE=14; ;; # R&B
 rap) GENRE=15; ;; # Rap
 vocal) GENRE=28; ;; # Vocal
 punk) GENRE=43; ;; # Punk
 speech) GENRE=101; ;; # Speech
 chanson) GENRE=102; ;; # Chanson
 *) GENRE=12 # Other
 GENRES=Other
echo -e "\t033円[31;1;40mWarning:033円[m Genre not found in CDDB-File -> set it to \"Other\"!"; ;;
 esac
ARTIST=$(echo "$TOCFILE" | sed 4p -n | cut -d'/' -f1 |\
 sed -e 's/\ /_/g' -e 's/_$//g' -e 's/\//-/g')
[ $ARTIST = '(unknown_title)' ] && ARTIST=$$
ALBUM=$(echo "$TOCFILE" | sed 4p -n | cut -d'/' -f2 |\
 sed -e 's/^\ //g' -e 's/\ /_/g' -e 's/\//-/g' )
[ $ALBUM = '(unknown_title)' ] && ALBUM=$$
[ $TRACKS ] || TRACKS=$(list_audio_tracks -D $cddev | cut -f1)
# Erstellen der Unterferzeichnise:
mkdir -p $MP3DIR/$GENRES/$ARTIST
echo
# Nun ist es soweit -> Konvertierung wird gestartet:
for TRACK in $TRACKS ; do
let "LINE = 5 + $(echo $TRACK | sed -e 's/^0//g')"
TITLE=$(echo "$TOCFILE" | sed "$LINE"p -n |\
 sed -e 's/^.*[[:blank:]][[:blank:]]//g' -e 's/\ /_/g' -e 's/?//g' -e 's/\//-/g')
[ $TITLE ] || TITLE=Unknown
echo -e "033円[33;1;40mStart Encoding\
 Track-$TRACK to $MP3NAME.mp3....033円[m"
time $CDDA2WAV $CDDA2WAV_OPTS -t$TRACK $DEBUG - |\
 $MP_CODER $MP_OPTIONS\
 --tt "$(echo $TITLE | sed -e 's/_/\ /g')"\
 --ta "$(echo $ARTIST | sed -e 's/_/\ /g')"\
 --tl "$(echo $ALBUM | sed -e 's/_/\ /g')"\
 --tn "$TRACK"\
 --tg "$GENRE"\
 --tc "LAME-Encoded by Uli's cd2mp3"\
 --ty "$year"\
 - $MP3DIR/$GENRES/$ARTIST/$MP3NAME.mp3
if [ $? != 0 ] ; then
exit 1
fi
# Bestätigung das alles funktioniert hat:
echo -e "File 033円[33;1;40m$MP3NAME.mp3033円[m successfully created.\n"
# M3U-File erstellen:
echo "./$MP3NAME.mp3" >>\
 $MP3DIR/$GENRES/$ARTIST/$ALBUM-00.m3u
done

Audio-CD ohne CDDB eintrag mit Tag versehen oder bestehende MP3-Datei mit Tag versehen

Sollte die CD nicht in CDDB geführt werden, dann hilft vieleicht dieses unfertige Skript weiter. Es benutzt LAME, id3tag, cdda2wav und list_audio_tracks (bei cdda2wav dabei) wie cd2mp3.sh, erwartet aber für jedes Musikstück entweder Optionen oder verlangt interaktiv nach den entsprechenden Eingaben. track2mp3 mit symbolischer Verknüpfung zu mp3tager oder umbekehrt.
Die Optionen die angegeben werden können sind:

[ -cddev=/dev/ice ] [ -artist=Artist ] [ -album=Album ] [ -tracknumber=Nr. ] [ -genre=GenreNr. ] [ -year=Year ] [ -title=Title ]

Wird eine Option nicht angegeben wird diese interaktiv Erfragt.

Änderungen in den Skripten bitte Kommentieren!

# Wer bin ich? (track2mp3 oder mp3tager?)
SKRIPT=$(echo 0ドル | sed "s/^.*\/\([^\\]*\)/1円/")

# Aus den Optionen Variablen machen:
for i in $@ ; do
 gr=$(echo 1ドル | sed -e 's/\-//g' | cut -d'=' -f1)
 declare $gr=$(echo 1ドル | cut -d'=' -f2)
 shift
done
# Ordner in dem die mp3 gespeichert werden:
MP3DIR=$HOME/public_html/shared/Musik
[ $cddev ] || cddev=/dev/cdrom
CDDA2WAV=cdda2wav
MP_CODER=lame
CDDA2WAV_OPTS="-D $cddev -H -P0 -q"
MP_OPTIONS="-v"

## Ab hier giebt es eigentlich nichts mehr zu konfigurieren: ##
# ^^^^^^ ^^^^^^^^^^^^^ #

# Usage anzeigen bei Fehler oder Ctl-C:
sorry()
{
 echo -e "\n Usage: 0ドル [ -cddev=/dev/ice ]\
 [ -artist=Artist ]\
 [ -album=Album ]\n\
 [ -title=Title ]\
 [ -tracknumber=Nr. ]\
 [ -genre=GenreNr. ]\
 [ -year=Year ]\n" ; exit
}
trap sorry 1 2 3 15 INT

# Ah, ich wurde als track2mp3 aufgerufen, also Audio Tracks auflisten
# und meckern wenn keine CD da ist:
if [ $SKRIPT = track2mp3 ] ; then
echo -e "\n033円[33;1;40mAbfrage für id3tag:033円[m\n\
~~~~~~~~~~~~~~~~~~~"
list_audio_tracks -D $cddev 2>/dev/null
if [ $? != 0 ] ; then
echo -e "033円[31;1;40mKeine CD in $cddev gefunden!\n033円[m"
exit 1
fi
fi
# Kontrolieren ob die Option schon gesetzt ist, wennn nicht Fragen:
[ $tracknumber ] || echo -en "Track-Nr.: "
[ $tracknumber ] && echo "Track-Nr.: $tracknumber"
[ $tracknumber ] || read "tracknumber"

[ $title ] || echo -en "Titel: "
[ $title ] && echo "Titel: $title"
[ $title ] || read "title"

[ $artist ] || echo -en "Interpret: "
[ $artist ] && echo "Interpret: $artist"
[ $artist ] || read "artist"

[ $album ] || echo -en "Album: "
[ $album ] && echo "Album: $album"
[ $album ] || read "album"
# Harte Arbeit (zum Glück giebt's sed):
[ $genre ] || echo -en "Soll die Genre Liste angezeigt werden um die Nr. heraus zu finden? [ Y / n ]: "
[ $genre ] || read "yesno"
[ $genre ] || if [ -z "$yesno" -o _"$yesno" = _Y -o _"$yesno"_ = _y_ ] ; then
echo -e "123 A Cappella 34 Acid 74 Acid Jazz\n\
 73 Acid Punk 99 Acoustic 20 Alternative\n\
 40 Alt. Rock 26 Ambient 145 Anime\n\
 90 Avantgarde 116 Ballad 41 Bass\n\
135 Beat 85 Bebob 96 Big Band\n\
138 Black Metal 89 Bluegrass 0 Blues\n\
107 Booty Bass 132 BritPop 65 Cabaret\n\
 88 Celtic 104 Chamber Music 102 Chanson\n\
 97 Chorus 136 Christian Gangsta Rap 61 Christian Rap\n\
141 Christian Rock 32 Classical 1 Classic Rock\n\
112 Club 128 Club-House 57 Comedy\n\
140 Contemporary Christian 2 Country 139 Crossover
 58 Cult 3 Dance 125 Dance Hall\n\
 50 Darkwave 22 Death Metal 4 Disco\n\
 55 Dream 127 Drum & Bass 122 Drum Solo\n\
120 Duet 98 Easy Listening 52 Electronic\n\
 48 Ethnic 54 Eurodance 124 Euro-House\n\
 25 Euro-Techno 84 Fast-Fusion 80 Folk\n\
115 Folklore 81 Folk/Rock 119 Freestyle\n\
 5 Funk 30 Fusion 36 Game\n\
 59 Gangsta Rap 126 Goa 38 Gospel\n\
 49 Gothic 91 Gothic Rock 6 Grunge\n\
129 Hardcore 79 Hard Rock 137 Heavy Metal\n\
 7 Hip-Hop 35 House 100 Humour\n\
131 Indie 19 Industrial 33 Instrumental\n\
 46 Instrumental Pop 47 Instrumental Rock 8 Jazz\n\
 29 Jazz+Funk 146 JPop 63 Jungle\n\
 86 Latin 71 Lo-Fi 45 Meditative\n\
142 Merengue 9 Metal 77 Musical\n\
 82 National Folk 64 Native American 133 Negerpunk\n\
 10 New Age 66 New Wave 39 Noise\n\
 11 Oldies 103 Opera 12 Other\n\
 75 Polka 134 Polsk Punk 13 Pop\n\
 53 Pop-Folk 62 Pop/Funk 109 Porn Groove\n\
117 Power Ballad 23 Pranks 108 Primus\n\
 92 Progressive Rock 67 Psychedelic 93 Psychedelic Rock\n\
 43 Punk 121 Punk Rock 15 Rap\n\
 68 Rave 14 R&B 16 Reggae\n\
 76 Retro 87 Revival 118 Rhythmic Soul\n\
 17 Rock 78 Rock & Roll 143 Salsa\n\
114 Samba 110 Satire 69 Showtunes\n\
 21 Ska 111 Slow Jam 95 Slow Rock\n\
105 Sonata 42 Soul 37 Sound Clip\n\
 24 Soundtrack 56 Southern Rock 44 Space\n\
101 Speech 83 Swing 94 Symphonic Rock\n\
106 Symphony 147 Synthpop 113 Tango\n\
 18 Techno 51 Techno-Industrial 130 Terror\n\
144 Thrash Metal 60 Top 40 70 Trailer\n\
 31 Trance 72 Tribal 27 Trip-Hop\n\
 28 Vocal\n\
 Hit Q to quit!" | less
fi
[ $genre ] || echo -en "Genre-Nr.: "
[ $genre ] && echo -en "Genre-Nr.: $genre "
[ $genre ] || read "genre"
case "$genre" in
00) GENRE="Blues"; ;;
01) GENRE="Classic_Rock"; ;;
02) GENRE="Country"; ;;
03) GENRE="Dance"; ;;
04) GENRE="Disco"; ;;
05) GENRE="Funk"; ;;
06) GENRE="Grunge"; ;;
07) GENRE="Hip-Hop"; ;;
08) GENRE="Jazz"; ;;
09) GENRE="Metal"; ;;
10) GENRE="New_Age"; ;;
11) GENRE="Oldies"; ;;
12) GENRE="Other"; ;;
13) GENRE="Pop"; ;;
14) GENRE="R&B"; ;;
15) GENRE="Rap"; ;;
16) GENRE="Reggae"; ;;
17) GENRE="Rock"; ;;
18) GENRE="Techno"; ;;
19) GENRE="Industrial"; ;;
20) GENRE="Alternative"; ;;
21) GENRE="Ska"; ;;
22) GENRE="Death_Metal"; ;;
23) GENRE="Pranks"; ;;
24) GENRE="Soundtrack"; ;;
25) GENRE="Euro-Techno"; ;;
26) GENRE="Ambient"; ;;
27) GENRE="Trip-Hop"; ;;
28) GENRE="Vocal"; ;;
29) GENRE="Jazz+Funk"; ;;
30) GENRE="Fusion"; ;;
31) GENRE="Trance"; ;;
32) GENRE="Classical"; ;;
33) GENRE="Instrumental"; ;;
34) GENRE="Acid"; ;;
35) GENRE="House"; ;;
36) GENRE="Game"; ;;
37) GENRE="Sound_Clip"; ;;
38) GENRE="Gospel"; ;;
39) GENRE="Noise"; ;;
40) GENRE="Alternative_Rock"; ;;
41) GENRE="Bass"; ;;
43) GENRE="Punk"; ;;
44) GENRE="Space"; ;;
45) GENRE="Meditative"; ;;
46) GENRE="Instrumental_Pop"; ;;
47) GENRE="Instrumental_Rock"; ;;
48) GENRE="Ethnic"; ;;
49) GENRE="Gothic"; ;;
50) GENRE="Darkwave"; ;;
51) GENRE="Techno-Industrial"; ;;
52) GENRE="Electronic"; ;;
53) GENRE="Pop-Folk"; ;;
54) GENRE="Eurodance"; ;;
55) GENRE="Dream"; ;;
56) GENRE="Southern_Rock"; ;;
57) GENRE="Comedy"; ;;
58) GENRE="Cult"; ;;
59) GENRE="Gangsta"; ;;
60) GENRE="Top_40"; ;;
61) GENRE="Christian_Rap"; ;;
62) GENRE="Pop/Funk"; ;;
63) GENRE="Jungle"; ;;
64) GENRE="Native_US"; ;;
65) GENRE="Cabaret"; ;;
66) GENRE="New_Wave"; ;;
67) GENRE="Psychadelic"; ;;
68) GENRE="Rave"; ;;
69) GENRE="Showtunes"; ;;
70) GENRE="Trailer"; ;;
71) GENRE="Lo-Fi"; ;;
72) GENRE="Tribal"; ;;
73) GENRE="Acid_Punk"; ;;
74) GENRE="Acid_Jazz"; ;;
75) GENRE="Polka"; ;;
76) GENRE="Retro"; ;;
77) GENRE="Musical"; ;;
78) GENRE="Rock_&_Roll"; ;;
79) GENRE="Hard_Rock"; ;;
80) GENRE="Folk"; ;;
81) GENRE="Folk-Rock"; ;;
82) GENRE="National_Folk"; ;;
83) GENRE="Swing"; ;;
84) GENRE="Fast_Fusion"; ;;
85) GENRE="Bebob"; ;;
86) GENRE="Latin"; ;;
87) GENRE="Revival"; ;;
88) GENRE="Celtic"; ;;
89) GENRE="Bluegrass"; ;;
90) GENRE="Avantgarde"; ;;
91) GENRE="Gothic_Rock"; ;;
92) GENRE="Progressive_Rock"; ;;
93) GENRE="Psychedelic_Rock"; ;;
94) GENRE="Symphonic_Rock"; ;;
95) GENRE="Slow_Rock"; ;;
96) GENRE="Big_Band"; ;;
97) GENRE="Chorus"; ;;
98) GENRE="Easy_Listening"; ;;
99) GENRE="Acoustic"; ;;
100) GENRE="Humour"; ;;
101) GENRE="Speech"; ;;
102) GENRE="Chanson"; ;;
103) GENRE="Opera"; ;;
104) GENRE="Chamber_Music"; ;;
105) GENRE="Sonata"; ;;
106) GENRE="Symphony"; ;;
107) GENRE="Booty_Bass"; ;;
108) GENRE="Primus"; ;;
109) GENRE="Porn_Groove"; ;;
110) GENRE="Satire"; ;;
111) GENRE="Slow_Jam"; ;;
112) GENRE="Club"; ;;
113) GENRE="Tango"; ;;
114) GENRE="Samba"; ;;
115) GENRE="Folklore"; ;;
116) GENRE="Ballad"; ;;
117) GENRE="Power_Ballad"; ;;
118) GENRE="Rhytmic_Soul"; ;;
119) GENRE="Freestyle"; ;;
120) GENRE="Duet"; ;;
121) GENRE="Punk_Rock"; ;;
122) GENRE="Drum_Solo"; ;;
123) GENRE="Acapella"; ;;
124) GENRE="Euro-House"; ;;
125) GENRE="Dance_Hall"; ;;
126) GENRE="Goa"; ;;
127) GENRE="Drum_&_Bass"; ;;
128) GENRE="Club-House"; ;;
129) GENRE="Hardcore"; ;;
130) GENRE="Terror"; ;;
131) GENRE="Indie"; ;;
132) GENRE="BritPop"; ;;
133) GENRE="Negerpunk"; ;;
134) GENRE="Polsk_Punk"; ;;
135) GENRE="Beat"; ;;
136) GENRE="Christian_Gangsta"; ;;
137) GENRE="Heavy_Metal"; ;;
138) GENRE="Black_Metal"; ;;
139) GENRE="Crossover"; ;;
140) GENRE="Contemporary_C"; ;;
141) GENRE="Christian_Rock"; ;;
142) GENRE="Merengue"; ;;
143) GENRE="Salsa"; ;;
144) GENRE="Thrash_Metal"; ;;
145) GENRE="Anime"; ;;
146) GENRE="JPop"; ;;
147) GENRE="SynthPop"; ;;
esac
echo "entspricht Genre = $GENRE"

[ $year ] || echo -en "Jahr: "
[ $year ] && echo "Jahr: $year"
[ $year ] || read "year"

# Ah, mein Name ist also track2mp3:
if [ $SKRIPT = track2mp3 ] ; then
echo -en "\nReady to convert? [ Y / n ] "
 read "yesno"
if ! [ -z "$yesno" -o _"$yesno" = _Y -o _"$yesno"_ = _y_ ] ; then
exit
fi
mkdir -p $MP3DIR/$GENRE/$artist
time $CDDA2WAV $CDDA2WAV_OPTS -t$tracknumber - |\
 $MP_CODER $MP_OPTIONS\
 --tt "$title"\
 --ta "$artist"\
 --tl "$album"\
 --tn "$tracknumber"\
 --tg "$genre"\
 --tc "LAME-Encoded by Uli's cd2mp3"\
 --ty "$year"\
 - $MP3DIR/$GENRE/$(echo $artist | sed -e 's/\ /_/g')/$(echo $album | sed -e 's/\ /_/g')-$tracknumber-$(echo $title | sed -e 's/\ /_/g').mp3
if [ $? != 0 ] ; then
exit 1
fi

echo -e "File 033円[33;1;40m$(echo $album | sed -e 's/\ /_/g')-$tracknumber-$(echo $title | sed -e 's/\ /_/g').mp3033円[m successfully created.\n"
# M3U-File erstellen:
echo "./$(echo $album | sed -e 's/\ /_/g')-$tracknumber-$(echo $title | sed -e 's/\ /_/g').mp3" >>\
 $MP3DIR/$GENRE/$(echo $artist | sed -e 's/\ /_/g')/$(echo $album | sed -e 's/\ /_/g')-00.m3u
fi

if [ $SKRIPT = mp3tager ] ; then
echo -en "\nReady to Tag? [ Y / n ] "
 read "yesno"
if ! [ -z "$yesno" -o _"$yesno" = _Y -o _"$yesno"_ = _y_ ] ; then
exit
fi
mkdir -p $MP3DIR/$GENRE/$(echo $artist | sed -e 's/\ /_/g')
 cp $file $MP3DIR/$GENRE/$(echo $artist | sed -e 's/\ /_/g')/$(echo $album | sed -e 's/\ /_/g')-$tracknumber-$(echo $title | sed -e 's/\ /_/g').mp3
id3tag \
 -s"$title"\
 -a"$artist"\
 -A"$album"\
 -t"$tracknumber"\
 -g"$genre"\
 -c"LAME-Encoded by Uli's cd2mp3"\
 -y"$year"\
 $MP3DIR/$GENRE/$(echo $artist | sed -e 's/\ /_/g')/$(echo $album | sed -e 's/\ /_/g')-$tracknumber-$(echo $title | sed -e 's/\ /_/g').mp3
if [ $? != 0 ] ; then
exit 1
fi

echo -e "File 033円[33;1;40m$(echo $album | sed -e 's/\ /_/g')-$tracknumber-$(echo $title | sed -e 's/\ /_/g').mp3033円[m successfully taged.\n"
# M3U-File erstellen:
echo "./$(echo $album | sed -e 's/\ /_/g')-$tracknumber-$(echo $title | sed -e 's/\ /_/g').mp3" >>\
 $MP3DIR/$GENRE/$(echo $artist | sed -e 's/\ /_/g')/$(echo $album | sed -e 's/\ /_/g')-00.m3u
fi

CD-Infos auslesen

Wen die Neugierde treibt, kann sich mal die nichtausgelesenen Informationen einer CD ansehen:

Änderungen in den Skripten bitte Kommentieren!

CD-info.sh:

if [ -z 1ドル ] ; then
echo -n "Bitte Device eingeben (cdrom|cdrw): "
read CD
RD=$CD
else
RD=1ドル
fi
if [ -z $RD ] ; then
RD=0
fi
if [ cdrom = $RD ] ; then
RD=/dev/cdrom
elif [ cdrw = $RD ] ; then
RD=/dev/cdrw
else
RD=/dev/cdrom
fi
#RD=/dev/cdrw
for i in 32768,7 32776,32 32808,32 32958,128 33086,128 33214,128 \
 33342,128 33470,32 33581,16 33598,16 33615,16 33632,16 \
 33647,128 40861,128
do
 old_IFS="$IFS"
 IFS=","
 set -- $i
 IFS="$old_IFS"
 OFFSET=1ドル
 LENGTH=2ドル
 echo "*`dd if=$RD bs=1 skip=$OFFSET count=$LENGTH 2> /dev/null`#"
done

LinuxMultimedia/cd2mp3.sh (zuletzt geändert am 2008年02月11日 21:00:14 durch cable-134-171)

AltStyle によって変換されたページ (->オリジナル) /