GoGPT Best VPN GoSearch

favorit OnWorks

mp3info2p - Online di Awan

Jalankan mp3info2p di penyedia hosting gratis OnWorks melalui Ubuntu Online, Fedora Online, emulator online Windows atau emulator online MAC OS

Ini adalah perintah mp3info2p yang dapat dijalankan di penyedia hosting gratis OnWorks menggunakan salah satu dari beberapa stasiun kerja online gratis kami seperti Ubuntu Online, Fedora Online, emulator online Windows atau emulator online MAC OS

PROGRAM:

NAMA


mp3info2 - dapatkan/set tag MP3; menggunakan MP3::Tag untuk mendapatkan nilai default.

RINGKASAN


# Cetak informasi dalam tag dan info otomatis
mp3info2 *.mp3

# Selain itu, atur bidang tahun ke 1981
mp3info2 -y 1981 *.mp3

# Sama tanpa printout info, secara rekursif di direktori saat ini
mp3info2 -R -p "" -y 1981 .

# Jangan menyimpulkan bidang apa pun, cetak (normalisasi) info dari tag saja
mp3info2 -C autoinfo=ID3v2,ID3v1 *.mp3

# Seperti di atas, tetapi tanpa normalisasi/isi otomatis, informasi mentah dalam tag
mp3info2 -N *.mp3

# Seperti di atas, tetapi hanya dengan tag ID2v1 yang dibaca
mp3info2 -NC autoinfo=ID3v1 *.mp3

# Dapatkan artis dari CDDB_File, autodeduce info lainnya, tulis ke tag
mp3info2 -C artis=CDDB_File -u *.mp3

# Untuk judul, pilih informasi dari file .inf; istirahat otomatis, perbarui
mp3info2 -C title=Inf,ID3v2,ID3v1,namafile -u *.mp3

# Sama, dan dapatkan artis dari file CDDB
mp3info2 -C title=Inf,ID3v2,ID3v1,namafile -C artis=CDDB_File -u *.mp3

# Tulis skrip untuk konversi .wav ke .mp3, autodeducing tag
mp3info2 -p "lumpuh -h --vbr-new --tt '%t' --tn %n --ta '%a' --tc '%c' --tl '%l' --ty '% y' '%f'\n" *.wav >xxx.sh

DESKRIPSI


Program mencetak pesan yang merangkum info tag (diperoleh melalui modul MP3::Tag) untuk
file yang ditentukan.

Ini juga dapat memperbarui informasi dalam tag ID3. Ini terjadi dalam tiga kasus berbeda.

· Jika informasi yang diberikan dalam opsi baris perintah "talygcn" berbeda dari
konten tag ID3 yang sesuai (atau tidak ada tag ID3 yang sesuai).

· Jika opsi "-d" atau "-F" diberikan.

· jika "MP3::Tag" memperoleh info dari cara lain selain tag MP3, dan "-u" memaksa
pembaruan tag ID3.

(Semua cara ini dinonaktifkan oleh opsi "-D".) Tag ID3v2 ditulis jika diperlukan, atau jika "-2"
pilihan diberikan. (Pengisian otomatis bidang yang dapat dikurangkan (melalui metode
id3v2_frames_isiotomatis()) dilakukan kecuali opsi "-d" atau "-N" diberikan.)

Opsi "-u" menulis ("u" memperbarui) informasi yang diambil ke tag MP3 ID3. Ini
opsi diasumsikan jika ada opsi baris perintah yang secara eksplisit mengatur elemen tag
("-a", "-t" dll., dan "-F", "-d"). (Efek dari opsi ini dapat diganti dengan memberikan
opsi "-D".) Jika opsi "-2" juga diberikan, paksa penulisan tag ID3v2 meskipun info
cocok dengan tag ID3v1 (selain itu, opsi ini memungkinkan pembaruan otomatis "nama pribadi"
bidang, dan judul yang sesuai sesuai dengan nilai "translate_person",
pengaturan konfigurasi "person_frames" dll.; lihat "Normalisasi bidang"). Pilihan ini
diabaikan jika tidak ada perubahan pada tag yang terdeteksi; namun, seseorang dapat memaksa pembaruan dengan mengulangi
opsi ini (berguna jika Anda mengharapkan perubahan "format" tag, sebagai lawan darinya
"isi").

Opsi "-p" mencetak pesan menggunakan argumen berikutnya sebagai format (secara default "\\", "\t",
"\n" diganti dengan garis miring terbalik, tab dan baris baru; diatur oleh nilai opsi "-E");
lihat "interpolasi" di MP3::Tag untuk detail format lari cepat()-seperti melarikan diri. Jika tidak
opsi "-p" diberikan, pesan dalam format default akan dipancarkan. Nilai opsi "-e"
adalah pengkodean yang digunakan untuk keluaran; jika nilainya adalah angka, pengkodean khusus sistem adalah
menebak (dan digunakan untuk output jika bit 0x1 diatur); jika bit 0x2 diatur, maka, baris perintah
opsi diasumsikan dalam penyandian yang ditebak; jika bit 0x4 diatur, maka, baris perintah
argumen diasumsikan dalam pengkodean yang ditebak. Gunakan nilai "biner" untuk melakukan biner
output.

Dengan opsi "-D" (dry run) tidak ada pembaruan yang dilakukan, apa pun opsi lainnya.
Dengan opsi ini, penguraian tag tidak dilakukan kecuali diperlukan.

Gunakan opsi

talygcn

untuk menimpa informasi (judul artis album tahun genre komentar nomor trek) diperoleh
melalui heuristik "MP3::Tag" (switch "-u" tersirat jika salah satu dari argumen ini berbeda
dari apa yang akan ditemukan sebaliknya; gunakan sakelar "-D" untuk menonaktifkan pembaruan otomatis). Secara default,
nilai opsi ini tidak "%"-diinterpolasi; ini dapat diubah dengan opsi "-E".

Opsi "-d" harus berisi daftar bingkai ID3v2 yang dipisahkan koma untuk dihapus. SEBUAH
spesifikasi bingkai sama dengan apa yang mungkin diberikan pada interpolasi bingkai "%{...}"
perintah, misalnya, "TIT3", "COMM03", "COMM(fra)[judul singkat]"; bedanya dengan modifikasi-
akses itu SEMUA (dan bukan pertama dari) bingkai yang cocok dihapus. (Opsi -d mungkin
ulang.)

Misalnya, "-d APIC" akan menghapus semua bingkai foto. Selain itu, jika daftar berisi
"ID3v1" ​​atau "ID3v2", seluruh tag akan dihapus.

Demikian juga, opsi "-F" memungkinkan pengaturan bingkai "ID3v2" sewenang-wenang: jika perlu disetel
satu bingkai, gunakan direktif "FRAME_spec=VALUE":

-F TIT2=Judul_baru

Sekali lagi, pada modifikasi, SEMUA bingkai yang cocok dihapus terlebih dahulu, jadi berhati-hatilah dengan

-F COMM=Komentar Saya

Opsi "-F" dapat diulang untuk mengatur lebih dari satu frame. Jika variabel konfigurasi
"empty-F-deletes" adalah TRUE (default), argumen kosong akan menghapus frame.

Seseorang dapat mengganti "FRAME_spec=VALUE" dengan "FRAME_spec < FILE"; dalam hal ini nilai yang akan disetel
dibaca dari file bernama FILE; jika bingkai hanya teks (artinya: paling banyak
Bidang "[dikodekan] Deskripsi Bahasa URL Teks" ada), file dibaca dalam teks
mode (dan dengan spasi awal/belakang dilucuti), jika tidak, dibaca dalam biner
mode. (Spasi putih diperlukan untuk tanda "<".) Jika "<" diganti dengan "?<", maka
nilai diatur hanya jika bingkai belum ada, dan jika file ada; jika diganti dengan ">",
nilainya (jika ada) ditulis ke FILE (pembuatan direktori perantara adalah
dikendalikan oleh opsi konfigurasi "frames_write_creates_dirs", defaultnya adalah FALSE).

Selain itu, "FRAME_spec" mungkin salah satu dari "ID3v1" ​​atau "ID3v2" atau "TAGS"; dalam hal ini, keseluruhan
tag ditulis atau dibaca. Misalnya, untuk "TAGS < FILE", "judul artis album tahun genre
jejak komentar" info dihitung dari FILE, yang mungkin berupa tag mentah, seperti yang diproduksi dengan ">",
atau file MP3 yang valid; jika Gambar::ExifTool hadir, data dapat dibaca dari sembarang
berkas multimedia. (Demikian juga, untuk "ID3v1 < FILE", info yang sama diambil dari "ID3v1"
tag saja.) Setelah ini, dalam kasus "ID3v2" atau "TAGS", bingkai "ID3v2" disalin dari
Tandai "ID3v2" satu per satu. (Dengan modifikasi yang sesuai untuk "?<".)

Secara default, "VALUE" untuk "-F" adalah "%"-diinterpolasi; ini dapat diubah dengan opsi "-E".
Untuk kenyamanan pengguna, bentuk yang lebih ramah manusia "komposer, text_by, orkestra, konduktor,
disk_n" dapat digunakan sebagai pengganti "TCOM, TEXT, TPE2, TPE3, TPOS".

Opsi "-P RECIPE" adalah generalisasi yang sangat kuat tentang apa yang dapat dilakukan oleh opsi
"-F", "-d", dan "-t -a -l -y -g -c -n". Ini dapat diulang; nilai harus mengandung
mengurai resep. Mereka menjadi item konfigurasi "parse_data" dari "MP3::Tag"; pada akhirnya
informasi ini diproses oleh modul MP3::Tag::ParseData (jika yang terakhir ada di
rantai heuristik; lihat opsi "-C"). "RECIPE" dibagi menjadi "$flags, $string,
@patterns" pada karakter non-alfanumerik pertamanya; yang pertama dari @patterns yang cocok
$string akan dieksekusi (untuk efek samping). (Lihat contoh: "CONTOH: parse
aturan".)

Jika opsi "-G" ditentukan, nama file pada baris perintah dianggap sebagai glob
pola. Ini mungkin berguna jika panjang baris perintah maksimal terlalu rendah. Dengan
opsi "-R" argumen dapat berupa direktori, yang dicari secara rekursif untuk audio
(bawaan * .mp3) file untuk diproses; gunakan opsi "-r" untuk mengatur ulang ekspresi reguler agar terlihat
for (defaultnya adalah "(?i:\.mp3$)").

Opsi "-E" mengontrol perluasan karakter pelarian. Itu harus berisi huruf
opsi baris perintah di mana "\\, \n, \t" diinterpolasi; seseorang dapat menambahkan huruf
dari opsi "talygcn F" yang memerlukan interpolasi "%" setelah pemisah "/i:" (untuk
"-F", hanya nilai yang diinterpolasi). Nilai default adalah "p/i:Fp": hanya "-p" yang
"\"-diinterpolasi, dan hanya "-F" dan "-p" yang dikenai interpolasi "%". Jika semua satu
ingin adalah untuk menambahkan ke default, mendahului nilai "-E" (berisi opsi tambahan) dengan
"+". (Beberapa bagian dari nilai opsi "-P" diinterpolasi, tetapi ini seharusnya
diatur oleh bendera, bukan "-E"; melakukan JANGAN masukkan "P" ke dalam "%"-interpolasi bagian dari "-E".)

Jika opsi "-@" diberikan, semua karakter "@" dalam opsi diganti dengan "%". Ini
mungkin nyaman jika shell memperlakukan "%" secara khusus (misalnya, shell DOSIS).

Jika opsi "-I" diberikan, tidak ada tebakan untuk artis lapangan dilakukan pada typeout.

Opsi "-C CONFIG_OPT=VALUE1,VALUE2..." menyetel data konfigurasi "MP3::Tag" sama
cara sebagai "MP3::Tag-"konfigurasi()> akan dilakukan (ingat bahwa nilainya adalah array; elemen terpisah
dengan koma jika lebih dari satu). Opsi dapat diulang untuk menetapkan lebih dari satu nilai. Catatan
bahwa karena "ParseData" digunakan untuk memproses resep parse "-P", sebaiknya disimpan
dalam konfigurasi "autoinfo" (dan bidang terkait "penulis", dll) di hadapan "-P".

Jika opsi "-x" diberikan, informasi teknis tentang file audio akan dicetak
(Level MP3, durasi, jumlah bingkai, padding, hak cipta, dan daftar bingkai ID3v2
nama dalam format yang cocok untuk "%{...}" lolos). Jika "-x" diulang, isi frame adalah
juga dicetak (dapat menampilkan karakter yang tidak dapat dicetak, jika diulang lebih dari dua kali).

Jika opsi "-N" diberikan, semua "kecerdasan" dinonaktifkan - tidak ada normalisasi bidang
terjadi, dan (secara default) tidak ada upaya untuk menyimpulkan nilai bidang dari non-ID3
informasi dilakukan. Opsi ini (saat ini) setara dengan memiliki "-C
autoinfo=ParseData,ID3v2,ID3v1" ​​sebagai direktif pertama, untuk tidak memiliki
Normalisasi::Teks::Music_Fields.pm hadir di jalur @INC, dan tidak menelepon isi otomatis() Metode.

Normalisasi of bidang


(Pemuatan modul normalisasi dan semua operasi selanjutnya dapat dinonaktifkan oleh
opsi "-N", atau dengan menyetel variabel lingkungan "MP3TAG_NORMALIZE_FIELDS" menjadi FALSE.
Jika tidak dilarang, modul dicoba untuk dimuat jika direktori ~/.music_fields is
ada, atau "MP3TAG_NORMALIZE_FIELDS" disetel dan TRUE.)

Jika loading modul "Normalize::Text::Music_Fields" berhasil, berikut ini adalah
berlaku:

Jika nilai "MP3TAG_NORMALIZE_FIELDS" ditentukan dan bukan 1, nilai ini dipecah menjadi
direktori sebagai PATH, dan jalur muat "Normalize::Text::Music_Fields" diatur menjadi ini
daftar direktori. Kemudian MP3::Tag diinstruksikan (melalui konfigurasi yang sesuai
setting) untuk menggunakan metode "normalize_artist" (dll.) yang ditentukan oleh modul ini. Metode ini
dapat menormalkan data tag tertentu. Versi saat ini mendefinisikan metode untuk "normalisasi"
nama pribadi, dan gelar (berdasarkan komposer). Normalisasi ini didorong
melalui tabel konfigurasi yang dapat diedit pengguna.

Selain normalisasi otomatis data tag MP3, seseorang dapat menggunakan "file MP3 palsu" untuk
mengakses beberapa fitur modul ini secara manual. Untuk ini, gunakan nama file kosong, dan "-D"
pilihan. Misalnya,

mp3info2 -D -a beethoven -p "%a\n" ""
mp3info2 -D -a beethoven -p "%{shP[%a]}\n" ""
mp3info2 -D -a beethoven -t "sonata #28" -p "%t\n" ""
mp3info2 -D -a beethoven -t "allegretto, Bes" -@p "@t\n" ""
mp3info2 -D -a beethoven -t "op93" -@p "@t\n" ""

akan mencetak nama-orang yang dinormalisasi untuk "beethoven", singkatan yang dinormalisasi yang sesuai
nama-orang, dan judul yang dinormalisasi untuk "sonata #28" dari komposer "beethoven". Misalnya,
dengan tabel normalisasi yang dikirimkan, itu akan dicetak

Ludwig van Beethoven (1770-1827)
L.van Beethoven
Piano Sonata No. 28 dalam jurusan A; op. 101 (1816)
Allegretto untuk Piano Trio di B flat mayor; Woo 39 (1812)
Symphony No. 8 di F mayor; op. 93 (komp. 1812, fp Vienna, 1814-02-27, cond. Beethoven; pubd. 1816)

The urutan of operasi


Saat ini, operasi dilakukan dalam urutan berikut:

· Penghapusan ID3v1 atau ID3v2 secara keseluruhan melalui opsi "-d";

· Penerima opsi "-P" disiapkan (dipicu oleh interpolasi);

· Pengaturan dilakukan melalui opsi "-a/-t/-l/-y/-g/-c/-n";

· Pengaturan dilakukan melalui opsi "-F";

· Penghapusan frame individu melalui opsi "-d";

· pengisian otomatis bingkai ID3v2 (id);

· Keluarkan info berdasarkan opsi "-p" dan "-x";

· Resep pemicu "-P" (jika tidak dipicu oleh interpolasi);

· Perbarui tag jika diperlukan.

penggunaan strategi: eskalasi of kompleksitas


Tujuan dari skrip ini adalah untuk membuat penanganan tag ID3 menjadi sederhana as mungkin.

Di salah satu ujung skala, seseorang dapat melakukan manipulasi kompleks yang sewenang-wenang dengan tag menggunakan
Modul Perl "MP3::Tag".

Di sisi lain, jauh lebih nyaman untuk menangani manipulasi paling sederhana dengan tag
menggunakan opsi skrip ini "-t -a -l -y -g -c -n" dan "-p -F -d". Untuk sedikit lebih
tugas yang rumit, seseorang mungkin perlu menggunakan metode yang lebih rumit dari parse aturandisediakan
untuk skrip ini dengan opsi "-P"; aturan sangat bergantung pada interpolasi, Lihat
"interpolasi" di MP3::Tag, "interpolasi_dengan_flags" di MP3::Tag.

Untuk menyederhanakan peningkatan dari "manipulasi paling sederhana" menjadi "manipulasi yang lebih rumit", di sini kami
berikan "aturan penguraian" sinonim ke opsi paling sederhana. Jadi jika Anda mulai dengan "-t -a -l -y
-g -c -n" dan "-p -F -d" opsi yang "hampir berhasil" untuk Anda, Anda memiliki peluang bagus untuk menjadi
dapat sepenuhnya mencapai tujuan Anda dengan memodifikasi sinonim yang dijelaskan di bawah ini.

(Di bawah ini kami berasumsi bahwa opsi "-E" diatur ke nilai defaultnya, jadi "-F -p" adalah
"%" -diinterpolasi, opsi lain tidak. Perhatikan juga bahwa jika penyandian TTY Anda adalah
dikenali oleh Perl, sangat disarankan untuk menyetel opsi "-e 3"; pada cangkang DOSIS,
lebih baik gunakan "-@", dan ganti "%" dengan "@" di bawah.)

"-t NILAI"
-P "mz/VALUE/%t"

"-a -l -y -g -c -n"
Juga.

"-F" "TIT2=VALUE"
-P "mzi/VALUE/%{TIT2}"

"-F" "APIC[myDescr] < FILE"
-F "APIC[myDescr]=%{I(fimbB)FILE}"

or

-P "mzi/%{I(fimbB)FILE}/%{APIC[myDescr]}"

(hapus "bB" untuk bingkai teks saja).

"-F" "APIC[myDescr] > FILE"
-P "bOi,%{APIC[myDescr]},FILE"

(hapus "b" untuk bingkai teks saja); atau gunakan "-e binary -p "%{APIC[myDescr]}""
dengan pengalihan, lihat "CONTOH: aturan parse".

"-d" TIT2
-P "m//%{TIT2}"

"-F" "TIT2 ?< FILE"
Sangat rumit. Ini tidak akan membedakan file kosong dan yang tidak ada:

-P "mzi/%{TIT2:1}0%{I(fFim)FILE}/10/10%{TIT2}/0%{U1}"

(tambahkan "bB" ke "fFim" untuk bingkai non-teks saja); bagian terakhir dapat dihilangkan
jika salah satu menghilangkan bendera "m" - itu hadir untuk menangkap salah cetak saja.

Untuk detail tentang "aturan parse", lihat "CONTOH: aturan parse" dan "DESKRIPSI" di
MP3::Tag::ParseData.

CONTOH: parse aturan


Hanya opsi "-P" yang cukup rumit untuk mendapatkan komentar... Untuk detail selengkapnya tentang
parse aturan, lihat "DESKRIPSI" di MP3::Tag::ParseData; untuk rincian lengkap tentang interpolasi,
lihat "interpolasi" di MP3::Tag, "interpolate_with_flags" di MP3::Tag.

Untuk contoh (konyol), seseorang dapat mengganti "-a Homer -t Iliad" dengan

-P mz=Homer=%a -P mz=Iliad=%t

Contoh yang kurang konyol adalah memaksa cara tertentu untuk menguraikan nama file melalui

-P "im=%{d0}/%f=%a/%n %t.%e"

Itu dipecah menjadi

pola string bendera1
"im" "%{d0}/%f" "%a/%n %t.%e"

Huruf bendera berarti menambah, harus cocok. Ini menginterpolasi string
"%{d0}/%f" dan mem-parsing hasilnya (yang merupakan nama file dengan satu tingkat direktori
bagian diawetkan) menggunakan pola yang diberikan; dengan demikian nama direktori menjadi artis, the
bagian numerik terkemuka - nomor trek, dan sisa nama file (tanpa ekstensi)
- judul. Perhatikan bahwa karena beberapa pola diizinkan, seseorang juga dapat mengizinkan
beberapa format nama, mis

-P "im=%{d0}/%f=%a/%n %t.%e=%a/%t (%y).%e"

memungkinkan nama dasar file juga dalam bentuk "JUDUL (TAHUN)". Cara alternatif untuk
mendapatkan hasil yang sama adalah

-P "im=%{d0}=%a" -P "im=%f=%n %t.%e=%t (%y).%e"

yang sesuai dengan dua resep:

pola string bendera1 pola2
"saya" "%{d0}" "%a"
"im" "%f" "%n %t.%e" "%t (%y).%e"

Tentu saja, seseorang bisa menggunakan

"im" "%B" "%n %t" "%t (%y)"

sebagai pengganti yang kedua.

Perhatikan bahwa mungkin lebih mudah dibaca untuk disetel artis ke "%{d0}" dengan penetapan eksplisit, dengan
argumen yang mirip dengan

-E "p/i:Fpa" -a "%{d0}"

(nilai "-E" ini meminta "%"-interpolasi dari opsi "-a" selain
default "\"-interpolasi dari "-p", dan "%"-interpolasi dari "-F" dan "-p"; satu bisa
pintas dengan "-E +/i:a").

Untuk memberikan lebih banyak contoh,

-P "jika=%D/.komentar=%c"

akan membaca komentar dari file .komentar di direktori file audio;

-P "ifn=%D/.comment=%c"

memiliki efek yang sama jika file .komentar memiliki komentar satu baris, satu per lagu (ini mengasumsikan
nomor trek dapat ditemukan dengan cara lain).

Misalkan sebuah file bagian dalam direktori file MP3 memiliki format berikut: memiliki a
pembukaan, kemudian memiliki paragraf pendek informasi per file audio, didahului oleh trek
nomor dan titik:

...

12. Rezitativ.
(Pizarro, Rocco)

13. Duet: jetzt, Alter, jetzt hat es Eile, (Pizarro, Rocco)

...

Perintah berikut menempatkan info ini ke dalam judul tag ID3 (asalkan audio
nama file cukup informatif sehingga MP3::Tag dapat menyimpulkan nomor trek):

mp3info2 -u -C parse_split='\n(?=\d+\.)' -P 'fl;Bagian;%=n. %T'

Jika paragraf informasi ini berbentuk "JUDUL (KOMENTAR)" dengan bagian "KOMENTAR"
menjadi opsional, lalu gunakan

mp3info2 -u -C parse_split='\n(?=\d+\.)' -P 'fl;Bagian;%=n. %t (%c);%=n. %T'

Jika Anda ingin menghapus titik atau koma di akhir judul, gunakan

mp3info2 -u -C parse_split='\n(?=\d+\.)' \
-P 'fl;Bagian;%=n. %t (%c);%=n. %t' -P 'iR;%t;%t[.,]$'

Pola kedua dari doa ini diubah menjadi

['iR', '%t' => '%t[.,]$']

yang pada dasarnya menerapkan substitusi "s/(.*)[.,]$/$1/s" pada judul.

Sekarang anggaplah selain bagian, kami memiliki file teks Pesan dengan informasi tambahan;
kami ingin memasukkan info ini ke kolom komentar setelah apa yang diambil dari "TITLE
(COMMENT)"; pisahkan dua bagian komentar ini dengan baris kosong:

mp3info2 -EC -C 'parse_split=\n(?=\d+\.)' -C 'parse_join=\n\n' \
-P 'f;Komentar;%c' -P 'fl;Bagian;%=n. %T' \
-P 'i;%t///%c;%t (%c)///%c' -P 'iR;%t;%t[.,]$'

Ini mengasumsikan bahwa judul dan komentar tidak mengandung '///' sebagai substring.
Penjelasan: pola pertama "-P",

['f', 'Komentar' => '%c'],

membaca komentar dari file "Komentar" ke kolom komentar; kedua,

['fl', 'Bagian' => '%=n. %T'],

membaca sepotong "Bagian" ke dalam bidang judul. Yang ketiga

['i', '%t///%c' => '%t (%c)///%c']

mengatur ulang judul dan komentar disediakan judulnya berbentuk "JUDUL (KOMENTAR)".
(Opsi konfigurasi "parse_join" menangani pemisahan dua bagian komentar
sesuai dengan dua kemunculan %c di sisi kanan.)

Akhirnya, pola keempat sama seperti pada contoh sebelumnya; itu menghilangkan palsu
tanda baca di akhir judul.

Contoh lainnya: menghapus string "dengan biola" dari awal kolom komentar (menghapus
komentar sama sekali jika tidak ada yang tersisa):

mp3info2 -u -P 'iz;%c;dengan biola%c' *.mp3

mengatur bidang artis tanpa membiarkan fitur pembaruan otomatis menyimpulkan bidang lain dari
sumber lain;

mp3info2 -C autoinfo=ParseData -a "AU Thor" *.mp3

menyetel bidang komentar kecuali jika sudah ada:

mp3info2 -u -P 'i;%c///with piano;///%c' *.mp3

Contoh terakhir menunjukkan bagaimana sebenarnya menulis "program" dalam bahasa "-P"
option: contoh memberikan penugasan bersyarat. Dengan variabel pengguna (seperti dalam "%{U8}")
untuk sementara, dan kemungkinan untuk menggunakan ekspresi reguler, seseorang dapat memberikan secara sewenang-wenang
logika program. Tentu saja, pada tingkat kerumitan tertentu seseorang sebaiknya beralih ke
antarmuka langsung dengan modul Perl "MP3::Tag" (gunakan kode skrip Perl ini sebagai
contoh!).

Berikut adalah pengaturan tugas khas bingkai id3v2 "lanjutan": komposer ("TCOM"), orkestra
("TPE2"), konduktor ("TPE3"). Kami mengasumsikan pohon direktori yang berisi file MP3 yang ditandai
dengan konvensi berikut: "artis" sebenarnya adalah seorang komposer; "komentar" adalah salah satunya
dua bentuk:

Pelaku; Orkestra; Konduktor
Orkestra; Konduktor

Untuk mengatur bingkai MP3 tertentu melalui aturan "-P", gunakan

mp3info2 -@P "mi/@a/@{TCOM}" \
-P "mi/@c/@{U1}; @{TPE2}; @{TPE3}/@{TPE2}; @{TPE3}" -R .

Dengan opsi "-F", ini dapat disederhanakan sebagai

mp3info2 -@F "TCOM=@a" -P "mi/@c/@{U1}; @{TPE2}; @{TPE3}/@{TPE2}; @{TPE3}" -R .

or

mp3info2 -@F "composer=@a" -P "mi/@c/@{U1}; @{TPE2}; @{TPE3}/@{TPE2}; @{TPE3}" -R .

Untuk menyalin tag ID3 dari file MP3 di direktori saat ini ke file di direktori /tmp/mp3 dengan
ekstensi .menandai (dan cetak "laporan kemajuan"), gunakan

mp3info2 -p "@N@E\n" -@P "bODi,@{ID3v2}@{ID3v1},/tmp/mp3/@N.tag" -DNR .

Karena kami tidak menggunakan flag "z", file MP3 tanpa tag dilewati.

Sekarang anggaplah ada dua hierarki file paralel dari file audio, dan lirik:
file audio ada di audio/dir_name/nama_audio.mp3 dengan file lirik yang sesuai di
teks/dir_name/nama_audio.mp3. Untuk melampirkan lirik ke file MP3 (dalam bingkai "COMM" dengan
deskripsi "lirik" dalam bahasa "eng" - ini is a tidak standar lokasi, melihat di bawah ini!),
panggilan

mp3info2 -@P "fim;../text/@{d0}/@B.txt;@{COMM(eng)[lyrics]}" -Ru .

di dalam direktori audio. (Ubah "fim" menjadi "Ffim" untuk mengabaikan file audio yang
file teks yang sesuai tidak ada.) (Tentu saja, untuk mengikuti spesifikasi,
seseorang seharusnya menggunakan bidang "%{USLT(eng)[]}" alih-alih "%{COMM(eng)[lyrics]}"; melihat
di bawah ini untuk variasi).

Selesaikan dengan contoh yang sangat sederhana: semua polanya

-P 'i;%t;%t'

dilakukan adalah menghilangkan bagian akhir dan awalan dari judul (yang disimpulkan oleh orang lain)
cara).

More contoh


Dengan opsi "-F", seseorang dapat mengatur bingkai "USLT" sebagai

mp3info2 -@F "USLT(eng)[] < ../text/@{d0}/@B.txt" -Ru .

Cetak bingkai seperti itu (dalam bahasa apa pun) dengan

mp3info2 -@p "@{USLT[]}\n" file.mp3

Demikian pula, untuk mencetak bingkai APIC dengan deskripsi kosong, gunakan

mp3info2 -e binary -@p "@{APIC[]}" file.mp3 > output_picture_file

atau (dengan deskripsi "penutup")

mp3info2 -@P "bOi,@{APIC[cover]},output_picture_file.jpg" loading="lazy" audio_07.mp3

Untuk mengatur bingkai seperti itu dari file xxx.gif (dengan default "Jenis Gambar", "Sampul (depan)",
dan deskripsi kosong), lakukan salah satu dari

mp3info2 -F "APIC < xxx.gif" file.mp3
mp3info2 -@F "APIC[]=@{I(fimbB)xxx.gif}" file.mp3

Perbedaan "APIC" dan "APIC[]" adalah yang pertama menghapus semua frame "APIC" terlebih dahulu,
dan yang kedua hanya menghapus semua bingkai "APIC" dengan deskripsi kosong - tetapi gambar sewenang-wenang
Tipe. Jadi mungkin lebih cocok menggunakan spesifikasi lengkap, seperti pada "APIC(Cover .)
(depan))[]".

Untuk menghapus bingkai "APIC" dengan deskripsi kosong, pilih "Jenis Gambar" (dan "MIME .) sewenang-wenang
jenis yang dapat dihitung dengan benar oleh mp3info2, misalnya, "TIFF/JPEG/GIF/PNG"), gunakan

mp3info2 -d "APIC[]" file.mp3

(perhatikan bahwa ini tidak akan mengosongkan ruang disk, kecuali "menyusut" dipaksa oleh konfigurasi
variabel). Untuk melakukan hal yang sama hanya dengan jenis gambar "Konduktor", lakukan

mp3info2 -d "APIC(Konduktor)[]" file.mp3

Untuk memindai melalui subdirektori, dan menambahkan file cover.jpg dari direktori file sebagai a
bingkai "default" "APIC", tetapi hanya jika tidak ada bingkai "APIC", dan ada file, lakukan

mp3info2 -@F "APIC ?< @D/cover.jpg" loading="malas" -R .

Ini menghapus frame kosong untuk tanggal, "TCOP, TENC, WXXX[], COMM(eng)[]", dan menghapus
memimpin 0 dari nomor trek dari file MP3 di direktori saat ini:

mp3info2 -@ -E +/i:y -F "TCOP=@{TCOP}" -F "TENC=@{TENC}"
-F "WXXX[]=@{WXXX[]}" -F "COMM(eng)[]=@{COMM(eng)[]}"
-y "@y" -P "mi/@n/0@n/@n" *.mp3

contoh on berurusan dengan rusak pengkodean


Salah satu kelemahan utama spesifikasi ID3 adalah bahwa diperlukan data yang
disediakan dalam pengkodean "latin-1". Karena sebagian besar bahasa di dunia tidak dapat diekspresikan dalam
"latin-1", ini menyebabkan (mayoritas?) tag ID3 tidak sesuai standar. Lebih baru
versi spesifikasi memperbaiki kekurangan ini, tetapi kerusakan sudah terjadi.
Untungnya, skrip ini dapat menggunakan kemampuan "MP3::Tag" untuk mengonversi dari yang tidak sesuai
konten ke yang sesuai.

Contoh berikut mengonversi tag ID3v2 yang ditulis dalam (tidak sesuai standar)
pengkodean "cp1251" menjadi pengkodean yang sesuai standar. Untuk tujuan contoh ini,
asumsikan bahwa tag ID3v1 berada dalam penyandian yang sama (dan seseorang ingin meninggalkannya di
pengkodean "cp1251"); file yang akan diproses ditemukan di direktori saat ini dan
(secara rekursif) di subdirektori (sintaks "set" untuk shell DOSIS):

setel MP3TAG_DECODE_V1_DEFAULT=cp1251
setel MP3TAG_DECODE_V2_DEFAULT=cp1251
mp3info2 -C id3v2_fix_encoding_on_write=1 -u2R .

Untuk informasi lebih lanjut, lihat "LINGKUNGAN" di MP3::Tag, "config" di MP3::Tag, dan
"KUSTOMISASI" di MP3::Tag.

Ketidaksesuaian dengan mp3info
Alat ini secara longgar dimodelkan pada program mp3info; itu "sebagian besar" kompatibel ke belakang
(terutama ketika dalam mode "naif" melalui "-N"), dan memungkinkan superset yang sangat signifikan dari
Kegunaan. Inkompatibilitas mundur yang diketahui adalah:

-G -h -r -d -x

Fungsi yang tidak ada:

-f -F -i

Tidak kompatibel "%"-lolos:

%e %E - semantik yang benar-benar berbeda
%v - tidak memiliki 0d belakang
%q - memiliki bagian pecahan
%r - adalah angka, bukan kata "Variabel" untuk VBR
%u - apakah satu kurang (hanya dengan bingkai deskriptor?)

Hilang "%"-lolos:

%b %G

Garis miring terbalik: hanya "\\", "\n", "\t" yang didukung.

"-x" mencetak data dalam format yang berbeda, tidak semua bidang ada, dan nama tag ID3v2
adalah keluaran.

LINGKUNGAN


Dengan "-e" 1, 2 atau 3, skrip ini dapat berkonsultasi dengan variabel lingkungan "LC_CTYPE, LC_ALL,
LANG" untuk menyimpulkan pengkodean saat ini. Tidak ada variabel lingkungan lain yang langsung dibaca oleh
skrip ini.

Namun perhatikan, modul MP3::Tag memiliki kumpulan default yang kaya untuk pengaturan penyandian
dapat diatur oleh variabel lingkungan; lihat "LINGKUNGAN" di MP3::Tag. Jadi variabel ini
mempengaruhi (secara tidak langsung) cara kerja skrip ini.

USANG INTERFACE


Jika Anda tidak mengerti tentang apa itu, Anda dapat mengabaikan pengumuman ini:

Cara lama, pra-versi=1.05 (dengan penggandaan pemisah, tanpa pengulangan
options) untuk memberikan beberapa perintah ke opsi "-F" dan <-P> masih didukung, tetapi ini
sangat putus asa. (Itu tidak bertentangan dengan antarmuka saat ini.)

Gunakan mp3info2p online menggunakan layanan onworks.net


Server & Workstation Gratis

Unduh aplikasi Windows & Linux

Perintah Linux

Ad




×
iklan
❤️Berbelanja, pesan, atau beli di sini — tanpa biaya, membantu menjaga layanan tetap gratis.