Strona 1 z 1
[+] Parametry pliku audio
: 10 maja 2009, 16:05
autor: lis6502
W jaki sposób (inaczej niż przez file) odczytać informację na temat plików audio?
Wynik file
Czyli niby lipa, tymczasem Audacious stwierdza

: 10 maja 2009, 16:43
autor: sigo
O ile dobrze zrozumiałem, chcesz odczytać zawartość pól id3?
Kod: Zaznacz cały
Pakiet: id3
Opis: Edytor znaczników ID3
Program linii poleceń który potrafi wyświetlać, modyfikować i kasować znaczniki
ID3 w pliku. Znaczniki ID3 to sposób identyfikowania plików ze strumieniami
muzycznymi. Można przechowywać informacje takie jak wykonawca, album, tytuł, nr
ścieżki, rok i gatunek, a także 28-znakowy komentarz.
: 10 maja 2009, 16:43
autor: ilin
Mplayer tez to powie

: 10 maja 2009, 16:48
autor: lis6502
No właśnie nie jestem przekonany co do pól ID3. Te pliki jak widać po nazwie pochodzą z lost+found i nie wszystkie są kompletne, także nie wiem czy id3 to obsłuży. Do tego takie rzeczy jak bitrate, samplerate chyba nie są zapisywane w id3? Popróbuję i dam znać.
ilin, jak zwykle najciemniej pod latarnią (w razie pytań - jestem elektrykiem

). Teraz tylko doczytam jak zrobić by nie odtwarzał, i zapakować to w jakiś skrypt. Chodzi o ok
oło 20k plików audio. Chcę je przekodować jeszcze raz
z tak
imi sam
ymi parametr
ami.
: 11 maja 2009, 11:18
autor: pavbaranov
Czy przez przypadek to:
http://packages.debian.org/lenny/mp3info nie rozwiązuje Twoich problemów?
: 11 maja 2009, 12:55
autor: lis6502
Niestety nie.
Kod: Zaznacz cały
Nexus MUSIC # mp3info -x * |more
#15368202.mp3 does not have an ID3 1.x tag.
#15368222.mp3 does not have an ID3 1.x tag.
#15368234.mp3 does not have an ID3 1.x tag.
#15368247.mp3 does not have an ID3 1.x tag.
#15368251.mp3 does not have an ID3 1.x tag.
#15368268.mp3 does not have an ID3 1.x tag.
File: #15368202.mp3
Media Type: MPEG 1.0 Layer III
Audio: 192 KB/s, 44KHz (stereo)
Emphasis: none
CRC: No
Copyright: No
Original: Yes
Padding: Yes
Length: 0:33
Zostaje mi kombinowanie z mplayerem.
: 11 maja 2009, 13:06
autor: pavbaranov
lis6502 pisze:
Zostaje mi kombinowanie z mplayerem.
I tak i nie. Pisałeś, że potrzebne jest Ci to do przekodowania mp3 z takimi samymi parametrami, jak oryginał. Mp3info (jest zdaje się jeszcze wersja 2), daje Ci wszystkie podstawowe informacje. ID3 da - jeśli odczyta - dodatkowe. Generalnie jednak, nie wiem, czy dobrze kombinujesz, bo chyba najprościej wykorzystać pakiet ffmpeg, który - jeśli się nie mylę, powinien dać Ci w swoich opcjach możliwość przekodowania pliku x.mp3, na y.mp3 z takimi samymi parametrami. Podobnie może to chyba zrobić mencoder (to wykorzystuje mplayer, jeśli się nie mylę). Generalnie, jeśli pamiętam, to mencoder najpierw rozkodowuje mp3 do wav, a następnie prowadzi drugą konwersję do zadanego formatu.
Niewiele Ci to jednak da z "niekompletnymi" plikami, albowiem te już pozostaną niekompletne.
: 11 maja 2009, 13:55
autor: lis6502
Może rzucę więcej światła na sprawę. Olałbym całą sprawę, gdyby nie fakt, że moja Sansa Clip jest kapryśna. Niekompletne pliki powodują że się zawiesza (po odłączeniu od komputera wisi na 'Refreshing databse'). O ile Audacious niewiele robi sobie z 'dziur' w plikach, o tyle Sansa jest bezużyteczna. Skądinąd wiem, że lame spokojnie przełknie pliki bez nagłówków. Mam trzy możliwości: ustawić jakość 128kbit i puscić lame *, ciesząc ucho szumami i innymi zaletami wysokiej kompresji, ustawić 320kbit i stracić dużo miejsca, albo... No właśnie, to co chcę zrobić, czyli odczytać _jakoś_ (Audacious daje radę) parametry i przelameować plik z takimi samymi parametrami. Efekt? Kompletny (w sensie nagłówka i klatek) plik mp3, który będę w stanie odsłuchać na Sansie.
Oczywiście chcę to wszystko oskrypcić żeby nie bawić się w to wszystko ręcznie.
Pierwotnie plan był taki, by użyć lame z --tajemniczą-opcją, która miast kompresować wyświetli tylko upragnione parametry, które zostaną użyte dalej; niestety w manie takiej opcji nie doszukałem się.
Znalazłem jeszcze plugin do Audaciousa - songchange. Przy zmianie utworu na liście wykonuje on zadane polecenie. Odpada ze względu na to, że informacji o utworze nie mogę przekazać parametrem.
Tak, lubię wyzwania :mrgreen:
: 11 maja 2009, 14:06
autor: pavbaranov
Hmmm.... znalazłem coś takiego:
http://linux.softpedia.com/get/Multimed ... 8139.shtml
Wydaje mi się, że powinienieś zainteresować się jakimś programem do naprawy/odtworzenia mp3 (nie w sensie odtwarzania, a "recovery").
: 11 maja 2009, 22:00
autor: lis6502
pavbaranov, dzięki za skrypt, ale skorzystam z niego przy następnej okazji (a okazuje się że walniętych mp3 mam więcej). Poradziłem sobie tak, jak zamierzałem, czyli
Kod: Zaznacz cały
#!/bin/bash
for i in *; do
parm=$(mplayer "$i" -ao ble 2>&1 |grep AUDIO)
srate=$(echo $parm |awk '{print $2}')
most=$(echo $parm |awk '{print $4}')
bitr=$(echo $parm |awk '{print $7}')
if [ $most -eq "2" ]; then most="j"
else
most="m"
fi
lame --mp3input -o --cbr -m $most -b $bitr --resample $srate "$i" "out/$i" && rm $i
done