ນີ້ແມ່ນຄໍາສັ່ງ mp3info2p ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator
ໂຄງການ:
NAME
mp3info2 - ໄດ້ຮັບ / ຕັ້ງແທັກ MP3; ໃຊ້ MP3::Tag ເພື່ອເອົາຄ່າເລີ່ມຕົ້ນ.
ສະຫຼຸບສັງລວມ
# ພິມຂໍ້ມູນໃນ tags ແລະຂໍ້ມູນອັດຕະໂນມັດ
mp3info2 *.mp3
# ນອກຈາກນີ້, ກຳນົດປີສະໜາມເປັນປີ 1981
mp3info2 -y 1981 *.mp3
# ຄືກັນໂດຍບໍ່ມີການພິມອອກຂໍ້ມູນ, recursively ໃນໄດເລກະທໍລີປະຈຸບັນ
mp3info2 -R -p "" -y 1981 .
# ຢ່າຫັກຄ່າພາກສະຫນາມໃດຫນຶ່ງ, ພິມ (ປົກກະຕິ) ຂໍ້ມູນຈາກ tags ເທົ່ານັ້ນ
mp3info2 -C autoinfo=ID3v2,ID3v1 *.mp3
# ດັ່ງຂ້າງເທິງ, ແຕ່ບໍ່ມີການປົກກະຕິ / ຕື່ມຂໍ້ມູນອັດຕະໂນມັດ, ຂໍ້ມູນດິບໃນ tags
mp3info2 -N *.mp3
# ດັ່ງຂ້າງເທິງ, ແຕ່ວ່າພຽງແຕ່ມີແທັກ ID2v1 ອ່ານ
mp3info2 -NC autoinfo=ID3v1 *.mp3
# ເອົາສິນລະປິນຈາກ CDDB_File, autodeduce ຂໍ້ມູນອື່ນໆ, ຂຽນມັນໃສ່ tags
mp3info2 -C artist=CDDB_File -u *.mp3
# ສໍາລັບຫົວຂໍ້, ຕ້ອງການຂໍ້ມູນຈາກໄຟລ໌ .inf; autodeduce ສ່ວນທີ່ເຫຼືອ, ປັບປຸງ
mp3info2 -C title=Inf,ID3v2,ID3v1,ຊື່ໄຟລ໌ -u *.mp3
# ຄືກັນ, ແລະໄດ້ຮັບສິລະປິນຈາກໄຟລ໌ CDDB
mp3info2 -C title=Inf,ID3v2,ID3v1,filename -C artist=CDDB_File -u *.mp3
# ຂຽນ script ສໍາລັບການປ່ຽນ .wav ເປັນ .mp3, autodeducing tags
mp3info2 -p "lame -h --vbr-new --tt '%t' --tn %n --ta '%a' --tc '%c' --tl '%l' --ty '% y' '%f'\n" *.wav >xxx.sh
ລາຍລະອຽດ
ໂຄງການພິມຂໍ້ຄວາມສະຫຼຸບຂໍ້ມູນໂຄດຄໍາສັ່ງ (ໄດ້ຮັບຜ່ານ MP3::Tag module) ສໍາລັບ
ໄຟລ໌ທີ່ລະບຸໄວ້.
ມັນຍັງອາດຈະປັບປຸງຂໍ້ມູນໃນ tags ID3. ນີ້ເກີດຂຶ້ນໃນສາມກໍລະນີທີ່ແຕກຕ່າງກັນ.
· ຖ້າຫາກວ່າຂໍ້ມູນທີ່ສະຫນອງໃຫ້ໃນທາງເລືອກໃນບັນຊີຄໍາສັ່ງ "talygcn" ແຕກຕ່າງຈາກ
ເນື້ອໃນຂອງແທັກ ID3 ທີ່ສອດຄ້ອງກັນ (ຫຼືບໍ່ມີແທັກ ID3 ທີ່ສອດຄ້ອງກັນ).
· ຖ້າຕົວເລືອກ "-d" ຫຼື "-F" ຖືກໃຫ້.
· ຖ້າ "MP3::Tag" ໄດ້ຮັບຂໍ້ມູນຈາກວິທີການອື່ນທີ່ບໍ່ແມ່ນແທັກ MP3, ແລະ "-u" ບັງຄັບໃຫ້
ອັບເດດແທັກ ID3.
(ວິທີການເຫຼົ່ານີ້ທັງຫມົດຖືກປິດໂດຍທາງເລືອກ "-D".) ແທັກ ID3v2 ຖືກຂຽນຖ້າຈໍາເປັນ, ຫຼືຖ້າ "-2"
ທາງເລືອກແມ່ນໃຫ້. (ການຕື່ມຂໍ້ມູນອັດຕະໂນມັດໃນຊ່ອງຂໍ້ມູນທີ່ສາມາດຫັກອອກໄດ້ (ຜ່ານວິທີການ
id3v2_frames_autofill()) ຖືກປະຕິບັດເວັ້ນເສຍແຕ່ "-d" ຫຼື "-N" ທາງເລືອກແມ່ນໄດ້ຮັບການໃຫ້.)
ຕົວເລືອກ "-u" ຂຽນ ("u"pdates) ຂໍ້ມູນທີ່ດຶງມາໃສ່ແທໍກ MP3 ID3. ນີ້
ທາງເລືອກແມ່ນສົມມຸດວ່າມີຕົວເລືອກແຖວຄໍາສັ່ງທີ່ກໍານົດອົງປະກອບ tag ຢ່າງຊັດເຈນ
("-a", "-t" ແລະອື່ນໆ, ແລະ "-F", "-d"). (ຜົນກະທົບຂອງທາງເລືອກນີ້ອາດຈະຖືກລົບລ້າງໂດຍການໃຫ້
"-D" ທາງເລືອກ.) ຖ້າ "-2" ທາງເລືອກຍັງຖືກມອບໃຫ້, ບັງຄັບໃຫ້ຂຽນແທັກ ID3v2 ເຖິງແມ່ນວ່າຂໍ້ມູນ.
ເຫມາະກັບແທັກ ID3v1 (ນອກຈາກນັ້ນ, ທາງເລືອກນີ້ເປີດໃຊ້ການອັບເດດ "ຊື່ສ່ວນຕົວ" ໂດຍອັດຕະໂນມັດ.
ຊ່ອງຂໍ້ມູນ, ແລະຫົວຂໍ້ທີ່ສອດຄ້ອງກັນຕາມຄ່າຂອງ "translate_person",
"person_frames" ແລະອື່ນໆ. ການຕັ້ງຄ່າການຕັ້ງຄ່າ; ເບິ່ງ "ການປົກກະຕິຂອງທົ່ງນາ"). ທາງເລືອກນີ້
ຖືກລະເລີຍຖ້າບໍ່ພົບການປ່ຽນແປງແທັກ; ແນວໃດກໍ່ຕາມ, ຄົນເຮົາສາມາດບັງຄັບໃຫ້ອັບເດດໄດ້ໂດຍການເຮັດຊ້ຳ
ຕົວເລືອກນີ້ (ເປັນປະໂຫຍດຖ້າທ່ານຄາດຫວັງວ່າການປ່ຽນແປງ "ຮູບແບບ" ຂອງແທັກ, ກົງກັນຂ້າມກັບມັນ
"ເນື້ອໃນ").
ຕົວເລືອກ "-p" ພິມຂໍ້ຄວາມໂດຍໃຊ້ argument ຕໍ່ໄປເປັນຮູບແບບ (ໂດຍຄ່າເລີ່ມຕົ້ນ "\\", "\t",
"\n" ຖືກແທນທີ່ດ້ວຍ backslash, ແຖບ ແລະແຖວໃໝ່; ຄຸ້ມຄອງໂດຍມູນຄ່າຂອງທາງເລືອກ "-E");
ເບິ່ງ "interpolate" ໃນ MP3::Tag ສໍາລັບລາຍລະອຽດຂອງຮູບແບບຂອງ sprintf()- ຄ້າຍຄືການຫນີ. ຖ້າບໍ່ມີ
ທາງເລືອກ "-p" ຖືກມອບໃຫ້, ຂໍ້ຄວາມໃນຮູບແບບເລີ່ມຕົ້ນຈະຖືກປ່ອຍອອກມາ. ມູນຄ່າທາງເລືອກ "-e"
ແມ່ນການເຂົ້າລະຫັດທີ່ໃຊ້ສໍາລັບຜົນຜະລິດ; ຖ້າຄ່າເປັນຕົວເລກ, ການເຂົ້າລະຫັດສະເພາະລະບົບແມ່ນ
guessed (ແລະໃຊ້ສໍາລັບຜົນຜະລິດຖ້າຫາກວ່າ bit 0x1 ຖືກຕັ້ງ); ຖ້າ bit 0x2 ຖືກຕັ້ງ, ຫຼັງຈາກນັ້ນ, ເສັ້ນຄໍາສັ່ງ
ທາງເລືອກແມ່ນສົມມຸດວ່າຢູ່ໃນການເຂົ້າລະຫັດທີ່ຄາດເດົາ; ຖ້າ bit 0x4 ຖືກຕັ້ງ, ຫຼັງຈາກນັ້ນ, ເສັ້ນຄໍາສັ່ງ
arguments ແມ່ນສົມມຸດວ່າຢູ່ໃນການເຂົ້າລະຫັດທີ່ຄາດເດົາ. ໃຊ້ຄ່າ "binary" ເພື່ອເຮັດ binary
ຜົນຜະລິດ.
ດ້ວຍທາງເລືອກ "-D" (ການແລ່ນແຫ້ງ) ບໍ່ມີການອັບເດດໃດໆ, ບໍ່ວ່າທາງເລືອກອື່ນແມ່ນຫຍັງ.
ດ້ວຍຕົວເລືອກນີ້, ບໍ່ມີການແຍກແຍະແທັກຖືກປະຕິບັດເວັ້ນເສຍແຕ່ຕ້ອງການ.
ໃຊ້ທາງເລືອກ
talygcn
ເພື່ອຂຽນທັບຂໍ້ມູນ (ຊື່ເພງອາລະບໍາປີປະເພດຄໍາຄິດຄໍາເຫັນຕິດຕາມຈໍານວນ) ທີ່ໄດ້ຮັບ
ຜ່ານ "MP3::Tag" heuristics ("-u" ສະຫຼັບແມ່ນຫມາຍເຖິງຖ້າຫາກວ່າຫນຶ່ງໃນການໂຕ້ຖຽງເຫຼົ່ານີ້ແຕກຕ່າງກັນ.
ຈາກສິ່ງທີ່ຈະພົບເຫັນຖ້າບໍ່ດັ່ງນັ້ນ; ໃຊ້ປຸ່ມ "-D" ເພື່ອປິດການອັບເດດອັດຕະໂນມັດ). ໂດຍຄ່າເລີ່ມຕົ້ນ,
ຄ່າຂອງຕົວເລືອກເຫຼົ່ານີ້ບໍ່ແມ່ນ "%"-interpolated; ນີ້ອາດຈະຖືກປ່ຽນແປງໂດຍທາງເລືອກ "-E".
ຕົວເລືອກ "-d" ຄວນມີລາຍການທີ່ແຍກດ້ວຍເຄື່ອງໝາຍຈຸດຂອງກອບ ID3v2 ທີ່ຈະລຶບ. ກ
ສະເພາະຂອງກອບແມ່ນຄືກັນກັບສິ່ງທີ່ອາດຈະຖືກມອບໃຫ້ກັບ "%{...}" frame interpolation
ຄໍາສັ່ງ, ຕົວຢ່າງ, "TIT3", "COMM03", "COMM(fra)[ຊື່ສັ້ນ]"; ຄວາມແຕກຕ່າງກັບການປັບປຸງແກ້ໄຂ
ການເຂົ້າເຖິງແມ່ນວ່າ ທັງຫມົດ (ແລະບໍ່ແມ່ນ ຄັ້ງທໍາອິດ of) ຂອບທີ່ກົງກັນຖືກລຶບ. (ທາງເລືອກ -d ອາດຈະເປັນ
ຊ້ຳໆ.)
ຕົວຢ່າງ, "-d APIC" ຈະເອົາກອບຮູບທັງໝົດອອກ. ນອກຈາກນັ້ນ, ຖ້າບັນຊີລາຍຊື່ປະກອບດ້ວຍ
"ID3v1" ຫຼື "ID3v2", tags ທັງຫມົດຈະຖືກລຶບອອກ.
ເຊັ່ນດຽວກັນ, ທາງເລືອກ "-F" ອະນຸຍາດໃຫ້ຕັ້ງຄ່າເຟຣມ "ID3v2" ທີ່ບໍ່ມັກ: ຖ້າຕ້ອງການຕັ້ງ
ຫນຶ່ງກອບ, ໃຊ້ຄໍາສັ່ງ "FRAME_spec=VALUE":
-F TIT2=The_new_Title
ອີກເທື່ອຫນຶ່ງ, ກ່ຽວກັບການດັດແກ້, ທັງຫມົດ ເຟຣມທີ່ກົງກັນຖືກລຶບກ່ອນ, ສະນັ້ນຈົ່ງລະມັດລະວັງ
-F COMM=ຄຳເຫັນຂອງຂ້ອຍ
ທາງເລືອກ "-F" ອາດຈະຖືກຊ້ໍາເພື່ອກໍານົດຫຼາຍກ່ວາຫນຶ່ງກອບ. ຖ້າການຕັ້ງຄ່າຕົວແປ
"empty-F-deletes" ແມ່ນ TRUE (ຄ່າເລີ່ມຕົ້ນ), arguments ຫວ່າງເປົ່າຈະລຶບກອບ.
ຫນຶ່ງສາມາດທົດແທນ "FRAME_spec=VALUE" ໂດຍ "FRAME_spec < FILE"; ໃນກໍລະນີດັ່ງກ່າວນີ້, ມູນຄ່າທີ່ກໍານົດໄວ້
ຖືກອ່ານຈາກໄຟລ໌ທີ່ມີຊື່ ເອກະສານ; ຖ້າກອບເປັນຂໍ້ຄວາມເທົ່ານັ້ນ (ຫມາຍຄວາມວ່າ: ຫຼາຍທີ່ສຸດ
"[ເຂົ້າລະຫັດ] ຊ່ອງຂໍ້ມູນຄໍາອະທິບາຍພາສາ URL" ມີຢູ່), ໄຟລ໌ຈະຖືກອ່ານເປັນຂໍ້ຄວາມ
ຮູບແບບ (ແລະດ້ວຍການເລີ່ມຕົ້ນ / ຕິດຕາມຊ່ອງຫວ່າງທີ່ຖືກລອກອອກ), ຖ້າບໍ່ດັ່ງນັ້ນມັນຈະຖືກອ່ານໃນສອງ
ໂໝດ. (ຕ້ອງໃຊ້ຊ່ອງຫວ່າງສຳລັບເຄື່ອງໝາຍ "<".) ຖ້າ "<" ຖືກແທນທີ່ດ້ວຍ "?<",
ຄ່າຖືກຕັ້ງພຽງແຕ່ຖ້າກອບຍັງບໍ່ທັນມີ, ແລະຖ້າໄຟລ໌ມີຢູ່; ຖ້າຖືກແທນທີ່ໂດຍ ">",
ຄ່າ (ຖ້າມີ) ຖືກຂຽນໃສ່ ເອກະສານ (ການສ້າງໄດເລກະທໍລີລະດັບປານກາງແມ່ນ
ຄວບຄຸມໂດຍຕົວເລືອກການຕັ້ງຄ່າ "frames_write_creates_dirs", ຄ່າເລີ່ມຕົ້ນແມ່ນ FALSE).
ນອກຈາກນັ້ນ, "FRAME_spec" ອາດຈະເປັນຫນຶ່ງໃນ "ID3v1" ຫຼື "ID3v2" ຫຼື "TAGS"; ໃນກໍລະນີນີ້, ທັງຫມົດ
tags ແມ່ນຂຽນຫຼືອ່ານ. ຕົວຢ່າງ, ສໍາລັບ "TAGS < FILE", "ຊື່ເພງອາລະບໍາປະເພດປີ
ຕິດຕາມຄໍາເຫັນ" ຂໍ້ມູນແມ່ນຄິດໄລ່ຈາກ ເອກະສານ, ເຊິ່ງອາດຈະເປັນ tags ວັດຖຸດິບ, ທີ່ຜະລິດດ້ວຍ ">",
ຫຼືໄຟລ໌ MP3 ທີ່ຖືກຕ້ອງ; ຖ້າຮູບພາບ::ExifTool ມີຢູ່, ຂໍ້ມູນອາດຈະຖືກອ່ານຈາກ arbitrary
ໄຟລ໌ມັນຕິມີເດຍ. (ເຊັ່ນດຽວກັນ, ສໍາລັບ "ID3v1 < FILE", ຂໍ້ມູນດຽວກັນແມ່ນສະກັດຈາກ "ID3v1"
tag ເທົ່ານັ້ນ.) ຫຼັງຈາກນີ້, ໃນກໍລະນີຂອງ "ID3v2" ຫຼື "TAGS", "ID3v2" ກອບແມ່ນຄັດລອກຈາກ
"ID3v2" ແທັກຫນຶ່ງຕໍ່ຫນຶ່ງ. (ມີການດັດແກ້ທີ່ເຫມາະສົມສໍາລັບ "?<".)
ໂດຍຄ່າເລີ່ມຕົ້ນ, "VALUE" ສໍາລັບ "-F" ແມ່ນ "%"-interpolated; ນີ້ສາມາດປ່ຽນແປງໄດ້ໂດຍທາງເລືອກ "-E".
ເພື່ອຄວາມສະດວກຂອງຜູ້ໃຊ້, ຮູບແບບທີ່ເປັນມິດກັບມະນຸດ "composer, text_by, orchestra, conductor,
disk_n" ສາມາດໃຊ້ແທນ "TCOM, TEXT, TPE2, TPE3, TPOS".
ທາງເລືອກ "-P RECIPE" ແມ່ນການເພີ່ມປະສິດທິພາບທົ່ວໄປຂອງສິ່ງທີ່ສາມາດເຮັດໄດ້ໂດຍທາງເລືອກ
"-F", "-d", ແລະ "-t -a -l -y -g -c -n". ມັນອາດຈະຊ້ໍາ; ຄ່າຄວນປະກອບດ້ວຍ
ແຍກສູດ. ພວກມັນກາຍເປັນລາຍການການຕັ້ງຄ່າ "parse_data" ຂອງ "MP3::Tag"; ໃນທີ່ສຸດ
ຂໍ້ມູນນີ້ແມ່ນໄດ້ຮັບການປະຕິບັດໂດຍ MP3 ::Tag::ໂມດູນ ParseData (ຖ້າຫາກວ່າຫຼັງແມ່ນມີຢູ່ໃນ
ລະບົບຕ່ອງໂສ້ຂອງ heuristics; ເບິ່ງຕົວເລືອກ "-C"). "RECIPE" ຖືກແບ່ງອອກເປັນ "$flags, $string,
@patterns" ຢູ່ໃນຕົວອັກສອນທີ່ບໍ່ແມ່ນຕົວພິມນ້ອຍ ໂຕທຳອິດຂອງມັນ; ຕົວທຳອິດຂອງ @patterns ທີ່ກົງກັນ
$string ຈະຖືກປະຕິບັດ (ສໍາລັບຜົນຂ້າງຄຽງ). (ເບິ່ງຕົວຢ່າງ: "ຕົວຢ່າງ: parse
ກົດລະບຽບ".)
ຖ້າຕົວເລືອກ "-G" ຖືກລະບຸ, ຊື່ໄຟລ໌ໃນແຖວຄໍາສັ່ງຖືກພິຈາລະນາເປັນ glob
ຮູບແບບ. ອັນນີ້ອາດຈະເປັນປະໂຫຍດຖ້າຄວາມຍາວແຖວຄໍາສັ່ງສູງສຸດຕໍ່າເກີນໄປ. ກັບ
ທາງເລືອກ "-R" arguments ສາມາດເປັນໄດເລກະທໍລີ, ເຊິ່ງຖືກຄົ້ນຫາ recursively ສໍາລັບສຽງ
(ຄ່າເລີ່ມຕົ້ນ *.mp3) ໄຟລ໌ທີ່ຈະປຸງແຕ່ງ; ໃຊ້ຕົວເລືອກ "-r" ເພື່ອຕັ້ງຄ່າການສະແດງອອກປົກກະຕິເພື່ອເບິ່ງ
ສໍາລັບ (ຄ່າເລີ່ມຕົ້ນແມ່ນ "(?i:\.mp3$)").
ຕົວເລືອກ "-E" ຄວບຄຸມການຂະຫຍາຍຕົວລະຄອນໜີ. ມັນຄວນຈະມີຕົວອັກສອນຂອງ
ຕົວເລືອກແຖວຄໍາສັ່ງທີ່ "\\, \n, \t" ຖືກ interpolated; ຄົນເຮົາສາມາດຕື່ມຕົວອັກສອນໄດ້
ຂອງ "talygcn F" ທາງເລືອກທີ່ຕ້ອງການ "%"-interpolation ຫຼັງຈາກຕົວແຍກ "/i:" (ສໍາລັບ
"-F", ມີພຽງແຕ່ຄ່າທີ່ຖືກ interpolated). ຄ່າເລີ່ມຕົ້ນແມ່ນ "p/i:Fp": ພຽງແຕ່ "-p" ແມ່ນ
"\"-interpolated, ແລະພຽງແຕ່ "-F" ແລະ "-p" ຂຶ້ນກັບ "%"-interpolation. ຖ້າຫາກວ່າທັງຫມົດ
ຕ້ອງການແມ່ນ ເພີ່ມ ໄປທີ່ຄ່າເລີ່ມຕົ້ນ, ກ່ອນໜ້າຄ່າຂອງ "-E" (ມີຕົວເລືອກເພີ່ມ) ໂດຍ
"+". (ບາງສ່ວນຂອງມູນຄ່າຂອງທາງເລືອກ "-P" ແມ່ນ interpolated, ແຕ່ນີ້ຄວນຈະເປັນ
ປົກຄອງໂດຍທຸງ, ບໍ່ແມ່ນ "-E"; ເຮັດ ບໍ່ ເອົາ "P" ເຂົ້າໄປໃນສ່ວນ "%"-interpolated ຂອງ "-E".)
ຖ້າຕົວເລືອກ "-@" ຖືກມອບໃຫ້, ຕົວອັກສອນ "@" ທັງໝົດໃນຕົວເລືອກຈະຖືກແທນທີ່ດ້ວຍ "%". ນີ້
ອາດຈະສະດວກຖ້າແກະປະຕິບັດຕໍ່ "%" ພິເສດ (ເຊັ່ນ: ແກະ DOSISH).
ຖ້າທາງເລືອກ "-I" ແມ່ນໃຫ້, ບໍ່ມີການຄາດເດົາສໍາລັບ ຈິດຕະນາການ ພາກ ສະ ຫນາມ ແມ່ນ ປະ ຕິ ບັດ ໃນ typeout.
ຕົວເລືອກ "-C CONFIG_OPT=VALUE1,VALUE2..." ຕັ້ງຄ່າ "MP3::Tag" ຂໍ້ມູນການຕັ້ງຄ່າຄືກັນ
ວິທີການເປັນ "MP3::Tag-"config()> ຈະເຮັດ (ຈື່ວ່າຄ່າແມ່ນ array; ອົງປະກອບແຍກຕ່າງຫາກ
ໂດຍເຄື່ອງໝາຍຈຸດຖ້າມີຫຼາຍກວ່າໜຶ່ງ). ທາງເລືອກອາດຈະຖືກຊ້ໍາເພື່ອກໍານົດຫຼາຍກ່ວາຫນຶ່ງຄ່າ. ຫມາຍເຫດ
ນັບຕັ້ງແຕ່ "ParseData" ຖືກໃຊ້ເພື່ອປຸງແຕ່ງສູດການແຍກ "-P", ມັນຄວນຈະຖືກເກັບໄວ້ດີກວ່າ.
ໃນການຕັ້ງຄ່າ "autoinfo" (ແລະຂົງເຂດທີ່ກ່ຽວຂ້ອງ "ຜູ້ຂຽນ" ແລະອື່ນໆ) ຢູ່ໃນ "-P".
ຖ້າຕົວເລືອກ "-x" ຖືກມອບໃຫ້, ຂໍ້ມູນດ້ານວິຊາການກ່ຽວກັບໄຟລ໌ສຽງຈະຖືກພິມອອກ
(ລະດັບ MP3, ໄລຍະເວລາ, ຈໍານວນຂອງກອບ, padding, ລິຂະສິດ, ແລະບັນຊີລາຍຊື່ຂອງກອບ ID3v2
ຊື່ໃນຮູບແບບທີ່ເຫມາະສົມກັບ "%{...}" escapes). ຖ້າ "-x" ຖືກຊ້ໍາ, ເນື້ອໃນຂອງເຟຣມແມ່ນ
ຍັງພິມອອກ (ອາດຈະອອກຕົວອັກສອນທີ່ບໍ່ສາມາດພິມໄດ້, ຖ້າມັນຖືກເຮັດຊ້ໍາຫຼາຍກວ່າສອງຄັ້ງ).
ຖ້າຕົວເລືອກ "-N" ຖືກມອບໃຫ້, "ອັດສະລິຍະ" ທັງຫມົດຖືກປິດໃຊ້ງານ - ບໍ່ມີການເຮັດໃຫ້ຊ່ອງຂໍ້ມູນປົກກະຕິ
ເກີດຂຶ້ນ, ແລະ (ຕາມຄ່າເລີ່ມຕົ້ນ) ບໍ່ມີຄວາມພະຍາຍາມທີ່ຈະຫັກຄ່າຂອງຊ່ອງຂໍ້ມູນຈາກທີ່ບໍ່ແມ່ນ ID3
ຂໍ້ມູນແມ່ນເຮັດໄດ້. ຕົວເລືອກນີ້ແມ່ນ (ປະຈຸບັນ) ເທົ່າກັບມີ "-C
autoinfo=ParseData,ID3v2,ID3v1" ເປັນຄໍາສັ່ງທໍາອິດ, ທີ່ບໍ່ມີ
ເຮັດໃຫ້ປົກກະຕິ::Text::Music_Fields.pm ປະຈຸບັນຢູ່ໃນເສັ້ນທາງ @INC, ແລະບໍ່ໂທຫາ ຕື່ມຂໍ້ມູນອັດຕະໂນມັດ() ວິທີການ.
ການ ທຳ ມະດາ of ທົ່ງນາ
(ການໂຫຼດຂອງໂມດູນ normalization ແລະການດໍາເນີນງານຕໍ່ໄປທັງຫມົດອາດຈະຖືກປິດໃຊ້ງານໂດຍ
ທາງເລືອກ "-N", ຫຼືໂດຍການຕັ້ງຄ່າຕົວແປສະພາບແວດລ້ອມ "MP3TAG_NORMALIZE_FIELDS" ເປັນ FALSE.
ຖ້າບໍ່ຫ້າມ, ໂມດູນຖືກພະຍາຍາມໂຫລດຖ້າໄດເລກະທໍລີ ~/.music_fields is
ປະຈຸບັນ, ຫຼື "MP3TAG_NORMALIZE_FIELDS" ຖືກຕັ້ງແລະຖືກຕ້ອງ.)
ຖ້າການໂຫຼດໂມດູນ "Normalize::Text::Music_Fields" ປະສົບຜົນສໍາເລັດ, ຕໍ່ໄປນີ້ແມ່ນ
ໃຊ້ໄດ້:
ຖ້າຄ່າຂອງ "MP3TAG_NORMALIZE_FIELDS" ຖືກກຳນົດ ແລະບໍ່ແມ່ນ 1, ຄ່ານີ້ຈະຖືກແບ່ງອອກເປັນ
ໄດເລກະທໍລີເປັນ PATH, ແລະເສັ້ນທາງການໂຫຼດຂອງ "Normalize::Text::Music_Fields" ຖືກຕັ້ງໃຫ້ເປັນອັນນີ້.
ບັນຊີລາຍຊື່ຂອງໄດເລກະທໍລີ. ຫຼັງຈາກນັ້ນ, MP3 ::Tag ແມ່ນແນະນໍາ (ຜ່ານການຕັ້ງຄ່າທີ່ສອດຄ້ອງກັນ
settings) ເພື່ອໃຊ້ "normalize_artist" (ແລະອື່ນໆ) ວິທີການທີ່ກໍານົດໂດຍໂມດູນນີ້. ວິທີການເຫຼົ່ານີ້
ອາດຈະເຮັດໃຫ້ຂໍ້ມູນແທັກທີ່ແນ່ນອນເປັນປົກກະຕິ. ສະບັບປະຈຸບັນກໍານົດວິທີການສໍາລັບ "ປົກກະຕິ"
ຊື່ສ່ວນບຸກຄົນ, ແລະຫົວຂໍ້ (ອີງຕາມນັກປະພັນ). ການເຮັດໃຫ້ປົກກະຕິນີ້ຖືກຂັບເຄື່ອນ
ຜ່ານຕາຕະລາງການຕັ້ງຄ່າທີ່ຜູ້ໃຊ້ສາມາດແກ້ໄຂໄດ້.
ນອກເຫນືອໄປຈາກການປົກກະຕິອັດຕະໂນມັດຂອງຂໍ້ມູນໂຄດຄໍາສັ່ງ MP3, ຫນຶ່ງສາມາດນໍາໃຊ້ "ໄຟລ໌ MP3 ປອມ" ກັບ
ເຂົ້າເຖິງບາງຄຸນສົມບັດຂອງໂມດູນນີ້ດ້ວຍຕົນເອງ. ສໍາລັບການນີ້, ໃຊ້ຊື່ໄຟລ໌ເປົ່າ, ແລະ "-D"
ທາງເລືອກ. ຕົວຢ່າງ:
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" ""
ຈະພິມຊື່ບຸກຄົນປົກກະຕິສໍາລັບ "beethoven", ສັ້ນປົກກະຕິທີ່ສອດຄ້ອງກັນ
ຊື່ບຸກຄົນ, ແລະຫົວຂໍ້ປົກກະຕິສໍາລັບ "sonata #28" ຂອງນັກປະພັນ "beethoven". ຕົວຢ່າງ:
ກັບຕາຕະລາງປົກກະຕິການຂົນສົ່ງ, ມັນຈະພິມ
Ludwig van Beethoven (1770-1827)
L. van Beethoven
Piano Sonata ສະບັບເລກທີ 28 ໃນທີ່ສໍາຄັນ; ໂອ. 101 (1816)
Allegreto ສໍາລັບ Piano Trio ໃນ B flat major; WoO 39 (1812)
Symphony No 8 ໃນ F major; ໂອ. 93 (comp. 1812, fp Vienna, 1814-02-27, cond. Beethoven; pubd. 1816)
ໄດ້ ຄໍາສັ່ງ of ປະຕິບັດງານ
ໃນປັດຈຸບັນ, ການດໍາເນີນງານແມ່ນເຮັດຕາມລໍາດັບຕໍ່ໄປນີ້
· ການລຶບ ID3v1 ຫຼື ID3v2 ທັງໝົດຜ່ານທາງ "-d" ທາງເລືອກ;
· ການຮັບຂອງທາງເລືອກ "-P" ໄດ້ຖືກສ້າງຕັ້ງຂຶ້ນ (ເພື່ອກະຕຸ້ນໂດຍ interpolation);
· ການຕັ້ງຄ່າເຮັດໄດ້ໂດຍຜ່ານ "-a/-t/-l/-y/-g/-c/-n" ທາງເລືອກ;
· ການຕັ້ງຄ່າເຮັດໄດ້ໂດຍຜ່ານ "-F" ທາງເລືອກ;
· ການລຶບເຟຣມບຸກຄົນຜ່ານທາງເລືອກ "-d";
· ການຕື່ມຂໍ້ມູນອັດຕະໂນມັດຂອງ ID3v2 (id) ກອບ;
·ປ່ອຍຂໍ້ມູນໂດຍອີງໃສ່ "-p" ແລະ "-x" ທາງເລືອກ;
· trigger recipies ຂອງ "-P" (ຖ້າບໍ່ triggered ໂດຍ interpolation);
· ອັບເດດ tags ຖ້າຕ້ອງການ.
ການນໍາໃຊ້ ຍຸດທະສາດ: escalation of ຄວາມສັບສົນ
ຈຸດປະສົງຂອງສະຄຣິບນີ້ແມ່ນເພື່ອເຮັດໃຫ້ການຈັດການແທັກ ID3 ງ່າຍດາຍ as ເປັນໄປໄດ້.
ໃນຂອບເຂດຫນຶ່ງຂອງຂະຫນາດ, ຫນຶ່ງສາມາດປະຕິບັດການຫມູນໃຊ້ທີ່ສັບສົນ arbitrarily ກັບ tags ການນໍາໃຊ້
"MP3::Tag" ໂມດູນ Perl.
ໃນທາງກົງກັນຂ້າມ, ມັນສະດວກກວ່າທີ່ຈະຈັດການການຫມູນໃຊ້ທີ່ງ່າຍດາຍທີ່ສຸດດ້ວຍແທັກ
ໃຊ້ຕົວເລືອກຂອງສະຄຣິບນີ້ "-t -a -l -y -g -c -n" ແລະ "-p -F -d". ສໍາລັບການເພີ່ມເຕີມເລັກນ້ອຍ
ວຽກງານສັບສົນ, ຫນຶ່ງອາດຈະຈໍາເປັນຕ້ອງໄດ້ນໍາໃຊ້ວິທີການລະອຽດຫຼາຍຂອງການ ແຍກ ກົດລະບຽບ, ສະຫນອງໃຫ້
ກັບສະຄິບນີ້ໂດຍທາງເລືອກ "-P"; ກົດລະບຽບແມ່ນຂຶ້ນກັບຫຼາຍ interpolation ທີ່, ເບິ່ງ
"interpolate" ໃນ MP3::Tag, "interpolate_with_flags" ໃນ MP3::Tag.
ເພື່ອຍົກລະດັບຄວາມງ່າຍດາຍຈາກ "ການຫມູນໃຊ້ທີ່ງ່າຍທີ່ສຸດ" ໄປເປັນ "ອັນທີ່ລະອຽດກວ່າ", ພວກເຮົາຢູ່ທີ່ນີ້.
ໃຫ້ "ກົດລະບຽບວິເຄາະ" synonyms ກັບທາງເລືອກທີ່ງ່າຍທີ່ສຸດ. ດັ່ງນັ້ນຖ້າທ່ານເລີ່ມຕົ້ນດ້ວຍ "-t -a -l -y
-g -c -n" ແລະ "-p -F -d" ທາງເລືອກທີ່ "ເກືອບເຮັດວຽກ" ສໍາລັບທ່ານ, ທ່ານມີໂອກາດທີ່ດີທີ່ຈະເປັນ.
ສາມາດບັນລຸເປົ້າຫມາຍຂອງທ່ານຢ່າງເຕັມສ່ວນໂດຍການດັດແກ້ຄໍາສັບຄ້າຍຄືທີ່ອະທິບາຍຂ້າງລຸ່ມນີ້.
(ຂ້າງລຸ່ມນີ້ພວກເຮົາສົມມຸດວ່າຕົວເລືອກ "-E" ຖືກກໍານົດເປັນຄ່າເລີ່ມຕົ້ນຂອງມັນ, ດັ່ງນັ້ນ "-F -p" ແມ່ນ.
"%"-interpolated, ທາງເລືອກອື່ນບໍ່ແມ່ນ. ໃຫ້ສັງເກດວ່າຖ້າການເຂົ້າລະຫັດ TTY ຂອງເຈົ້າແມ່ນ
ຮັບຮູ້ໂດຍ Perl, ແນະນໍາໃຫ້ຕັ້ງ "-e 3" ທາງເລືອກ; ໃນຫອຍ DOSISH,
ໃຊ້ "-@", ແລະປ່ຽນແທນ "%" ໂດຍ "@" ຂ້າງລຸ່ມນີ້.)
"-t VALUE"
-P "mz/VALUE/%t"
"-a -l -y -g -c -n"
ເຊັ່ນດຽວກັນ.
"-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]}"
(ເອົາ "bB" ອອກສໍາລັບເຟຣມຂໍ້ຄວາມເທົ່ານັ້ນ).
"-F" "APIC[myDescr] > FILE"
-P "bOi,%{APIC[myDescr]},FILE"
(ເອົາ "b" ອອກສໍາລັບເຟຣມຂໍ້ຄວາມເທົ່ານັ້ນ); ຫຼືໃຊ້ "-e binary -p "%{APIC[myDescr]}""
ດ້ວຍການປ່ຽນເສັ້ນທາງ, ເບິ່ງ "ຕົວຢ່າງ: parse rules".
"-d" TIT2
-P "m//%{TIT2}"
"-F" "TIT2 ?< FILE"
tricky ຫຼາຍ. ອັນນີ້ຈະບໍ່ໄດ້ກຳນົດຈຳແນກໄຟລ໌ເປົ່າຫວ່າງ ແລະອັນທີ່ບໍ່ມີຢູ່ແລ້ວ:
-P "mzi/%{TIT2:1}0%{I(fFim)FILE}/10/10%{TIT2}/0%{U1}"
(ເພີ່ມ "bB" ໃສ່ "fFim" ສໍາລັບກອບທີ່ບໍ່ແມ່ນຂໍ້ຄວາມເທົ່ານັ້ນ); ສ່ວນສຸດທ້າຍອາດຈະຖືກລະເວັ້ນ
ຖ້າຄົນຫນຶ່ງຍົກທຸງ "m" - ມັນເປັນການຈັບຕົວພິມຜິດເທົ່ານັ້ນ.
ສໍາລັບລາຍລະອຽດກ່ຽວກັບ "ກົດລະບຽບວິເຄາະ", ເບິ່ງ "ຕົວຢ່າງ: ກົດລະບຽບການແຍກ" ແລະ "ລາຍລະອຽດ" ໃນ
MP3::Tag::ParseData.
ຕົວຢ່າງ: ແຍກ ກົດລະບຽບ
ພຽງແຕ່ "-P" ທາງເລືອກແມ່ນສັບສົນພຽງພໍທີ່ຈະໄດ້ຮັບຄໍາເຫັນ ... ສໍາລັບລາຍລະອຽດຢ່າງເຕັມທີ່ກ່ຽວກັບການ
ແຍກ ກົດລະບຽບ, ເບິ່ງ "DESCRIPTION" ໃນ MP3::Tag::ParseData; ສໍາລັບລາຍລະອຽດເຕັມກ່ຽວກັບການ interpolation,
ເບິ່ງ "interpolate" ໃນ MP3::Tag, "interpolate_with_flags" ໃນ MP3::Tag.
ສໍາລັບຕົວຢ່າງ (ໂງ່), ຫນຶ່ງສາມາດທົດແທນ "-a Homer -t Iliad" ໂດຍ
-P mz=Homer=%a -P mz=Iliad=%t
ຕົວຢ່າງທີ່ໂງ່ຫນ້ອຍແມ່ນການບັງຄັບໃຫ້ວິທີການສະເພາະຂອງການວິເຄາະຊື່ໄຟລ໌ຜ່ານ
-P "im=%{d0}/%f=%a/%n %t.%e"
ມັນໄດ້ຖືກແຍກອອກເປັນ
flags string pattern1
"im" "%{0}/%f" "%a/%n %t.%e"
ຕົວອັກສອນທຸງຢືນສໍາລັບ ຕີຄວາມ ໝາຍ, must_match. ນີ້ interpolates ສະຕຣິງ
"%{d0}/%f" ແລະວິເຄາະຜົນໄດ້ຮັບ (ເຊິ່ງເປັນຊື່ໄຟລ໌ທີ່ມີລະດັບຫນຶ່ງຂອງໄດເລກະທໍລີ
ສ່ວນທີ່ຮັກສາໄວ້) ການນໍາໃຊ້ຮູບແບບທີ່ໄດ້ຮັບ; ດັ່ງນັ້ນຊື່ໄດເລກະທໍລີກາຍເປັນສິລະປິນ, ໄດ້
ສ່ວນຕົວເລກນໍາ - ຈໍານວນຕິດຕາມ, ແລະສ່ວນທີ່ເຫຼືອຂອງຊື່ໄຟລ໌ (ໂດຍບໍ່ມີການຂະຫຍາຍ)
- ຫົວຂໍ້. ໃຫ້ສັງເກດວ່ານັບຕັ້ງແຕ່ຫຼາຍຮູບແບບໄດ້ຖືກອະນຸຍາດ, ຫນຶ່ງສາມາດທີ່ຄ້າຍຄືກັນສໍາລັບການ
ມີຫຼາຍຮູບແບບຂອງຊື່, eg
-P "im=%{d0}/%f=%a/%n %t.%e=%a/%t (%y).%e"
ອະນຸຍາດໃຫ້ຊື່ພື້ນຖານຂອງໄຟລ໌ເປັນຮູບແບບ "TITLE (YEAR)". ເປັນວິທີທາງເລືອກທີ່ຈະ
ໄດ້ຮັບຜົນໄດ້ຮັບດຽວກັນແມ່ນ
-P "im=%{d0}=%a" -P "im=%f=%n %t.%e=%t (%y).%e"
ເຊິ່ງກົງກັບສອງສູດ:
ທຸງ string pattern1 pattern2
"im" "%{d0}" "%a"
"im" "%f" "%n %t.%e" "%t (%y).%e"
ແນ່ນອນ, ຄົນເຮົາສາມາດໃຊ້
"im" "%B" "%n %t" "%t (%y)"
ເປັນການທົດແທນທີ່ສອງ.
ໃຫ້ສັງເກດວ່າມັນອາດຈະສາມາດອ່ານໄດ້ຫຼາຍກວ່າທີ່ຈະຕັ້ງຄ່າ ຈິດຕະນາການ ໄປຫາ "%{d0}" ໂດຍການມອບໝາຍຢ່າງຈະແຈ້ງ, ກັບ
ການໂຕ້ຖຽງທີ່ຄ້າຍຄືກັນກັບ
-E "p/i:Fpa" -a "%{d0}"
(ຄ່າຂອງ "-E" ນີ້ຮ້ອງຂໍ "%" -interpolation ຂອງທາງເລືອກ "-a" ນອກເຫນືອໄປຈາກ
default "\"-interpolation ຂອງ "-p", ແລະ "%"-interpolation ຂອງ "-F" ແລະ "-p"; ຫນຶ່ງສາມາດ
ທາງລັດດ້ວຍ "-E +/i:a").
ເພື່ອໃຫ້ຕົວຢ່າງເພີ່ມເຕີມ,
-P "ຖ້າ=%D/.comment=%c"
ຈະອ່ານຄໍາເຫັນຈາກໄຟລ໌ .ຄໍາຄິດເຫັນ ໃນລະບົບຂອງໄຟລ໌ສຽງ;
-P "ifn=%D/.comment=%c"
ມີຜົນກະທົບທີ່ຄ້າຍຄືກັນຖ້າໄຟລ໌ .ຄໍາຄິດເຫັນ ມີຄໍາຄິດເຫັນແຖວດຽວ, ຫນຶ່ງຕໍ່ເພງ (ນີ້ສົມມຸດວ່າ
ຈໍານວນຕິດຕາມສາມາດພົບໄດ້ໂດຍວິທີອື່ນ).
ສົມມຸດວ່າໄຟລ໌ ພາກສ່ວນ ໃນໄດເລກະທໍລີຂອງໄຟລ໌ MP3 ມີຮູບແບບດັ່ງຕໍ່ໄປນີ້: ມັນມີ a
preamble, ຫຼັງຈາກນັ້ນມີຫຍໍ້ຫນ້າສັ້ນຂອງຂໍ້ມູນຕໍ່ໄຟລ໌ສຽງ, ນໍາຫນ້າໂດຍການຕິດຕາມ
ຈໍານວນແລະຈຸດ:
...
12. Rezitativ.
(Pizarro, Rocco)
13. Duett: jetzt, Alter, jetzt hat es Eile, (Pizarro, Rocco)
...
ຄໍາສັ່ງຕໍ່ໄປນີ້ເຮັດໃຫ້ຂໍ້ມູນນີ້ເຂົ້າໄປໃນຫົວຂໍ້ຂອງໂຄດຄໍາສັ່ງ ID3 (ສະຫນອງສຽງ
ຊື່ໄຟລ໌ແມ່ນໃຫ້ຂໍ້ມູນພຽງພໍດັ່ງນັ້ນ MP3 ::Tag ສາມາດຕັດຕົວເລກຕິດຕາມໄດ້):
mp3info2 -u -C parse_split='\n(?=\d+\.)' -P 'fl;Parts;%=n. %t'
ຖ້າຂໍ້ມູນວັກນີ້ມີແບບຟອມ "TITLE (COMMENT)" ກັບສ່ວນ "COMMENT".
ເປັນທາງເລືອກ, ຫຼັງຈາກນັ້ນໃຊ້
mp3info2 -u -C parse_split='\n(?=\d+\.)' -P 'fl;Parts;%=n. %t (%c);%=n. %t'
ຖ້າທ່ານຕ້ອງການເອົາຈຸດ ຫຼືເຄື່ອງໝາຍຈຸດເຂົ້າໄປທີ່ທ້າຍຂອງຫົວຂໍ້, ໃຫ້ໃຊ້
mp3info2 -u -C parse_split='\n(?=\d+\.)' \
-P 'fl;ສ່ວນ;%=n. %t (%c);%=n. %t' -P 'iR;%t;%t[.,]$'
ຮູບແບບທີສອງຂອງການຮຽກຮ້ອງນີ້ຖືກປ່ຽນເປັນ
['iR', '%t' => '%t[.,]$']
ເຊິ່ງໃຊ້ການປ່ຽນແທນ "s/.*)[.,]$/$1/s" ກັບຫົວຂໍ້.
ໃນປັດຈຸບັນສົມມຸດວ່ານອກຈາກນັ້ນ ພາກສ່ວນ, ພວກເຮົາມີໄຟລ໌ຂໍ້ຄວາມ ຄໍາຄິດຄໍາເຫັນ ກັບຂໍ້ມູນເພີ່ມເຕີມ;
ພວກເຮົາຕ້ອງການເອົາຂໍ້ມູນນີ້ເຂົ້າໄປໃນຊ່ອງຄໍາເຫັນ ຫຼັງຈາກ ສິ່ງທີ່ສະກັດມາຈາກ "TITLE
(ຄໍາຄິດເຫັນ)"; ແຍກສອງພາກສ່ວນນີ້ຂອງຄໍາຄິດເຫັນໂດຍເສັ້ນຫວ່າງເປົ່າ:
mp3info2 -EC -C 'parse_split=\n(?=\d+\.)' -C 'parse_join=\n\n' \
-P 'f;ຄໍາເຫັນ;%c' -P 'fl;ພາກສ່ວນ;%=n. %t' \
-P 'i;%t///%c;%t (%c)///%c' -P 'iR;%t;%t[.,]$'
ນີ້ສົມມຸດວ່າຫົວຂໍ້ແລະຄໍາເຫັນບໍ່ມີ '///' ເປັນ substring.
ຄໍາອະທິບາຍ: ຮູບແບບທໍາອິດຂອງ "-P",
['f', 'ຄຳເຫັນ' => '%c'],
ອ່ານຄໍາຄິດຄໍາເຫັນຈາກໄຟລ໌ "ຄໍາເຫັນ" ເຂົ້າໄປໃນຊ່ອງຄໍາເຫັນ; ທີ່ສອງ,
['fl', 'ຊິ້ນສ່ວນ' => '%=n. %t'],
ອ່ານ "ຊິ້ນສ່ວນ" ເຂົ້າໄປໃນຊ່ອງຫົວຂໍ້. ອັນທີສາມ
['i', '%t///%c' => '%t (%c)///%c']
ຈັດຮຽງຫົວຂໍ້ ແລະຄຳເຫັນຄືນໃໝ່ ສະຫນອງໃຫ້ ຫົວຂໍ້ແມ່ນໃນຮູບແບບ "TITLE (COMMENT)".
(ທາງເລືອກການຕັ້ງຄ່າ "parse_join" ໃຊ້ເວລາດູແລຂອງການແຍກສອງ chunks ຂອງຄໍາເຫັນ
ກົງກັນກັບສອງການເກີດຂຶ້ນຂອງ %c ຢູ່ເບື້ອງຂວາ.)
ສຸດທ້າຍ, ຮູບແບບທີສີ່ແມ່ນຄືກັນກັບໃນຕົວຢ່າງກ່ອນຫນ້າ; ມັນເອົາ spurious
ວັກຕອນທ້າຍຂອງຫົວຂໍ້.
ຕົວຢ່າງເພີ່ມເຕີມ: ການຖອນ string "ກັບ violin" ຈາກການເລີ່ມຕົ້ນຂອງຊ່ອງຄໍາເຫັນ (ການຖອນ
ຄໍາເຫັນທັງຫມົດຖ້າບໍ່ມີຫຍັງຍັງ):
mp3info2 -u -P 'iz;%c;ກັບ violin%c' *.mp3
ການຕັ້ງຄ່າພາກສະຫນາມສິນລະປິນໂດຍບໍ່ມີການປ່ອຍໃຫ້ຄຸນນະສົມບັດການປັບປຸງອັດຕະໂນມັດ deduce ພາກສະຫນາມອື່ນໆຈາກ
ແຫຼ່ງອື່ນໆ;
mp3info2 -C autoinfo=ParseData -a "AU Thor" *.mp3
ການຕັ້ງຄ່າຊ່ອງຄໍາເຫັນເວັ້ນເສຍແຕ່ວ່າມັນມີຢູ່ແລ້ວ:
mp3info2 -u -P 'i;%c///ກັບ piano;///%c' *.mp3
ຕົວຢ່າງສຸດທ້າຍສະແດງໃຫ້ເຫັນວິທີການຂຽນ "ໂຄງການ" ຕົວຈິງໃນພາສາຂອງ "-P"
ທາງເລືອກ: ຕົວຢ່າງໃຫ້ວຽກທີ່ມີເງື່ອນໄຂ. ດ້ວຍຕົວແປຂອງຜູ້ໃຊ້ (ຄືກັບ "%{U8}")
ສໍາລັບການຊົ່ວຄາວ, ແລະຄວາມເປັນໄປໄດ້ໃນການນໍາໃຊ້ການສະແດງອອກເປັນປົກກະຕິ, ຄົນເຮົາສາມາດສະຫນອງໂດຍຕົນເອງ
ຕາມເຫດຜົນໂຄງການ. ແນ່ນອນ, ໃນບາງລະດັບຂອງຄວາມສັບສົນ, ຄວນປ່ຽນໄປໃຊ້
ການຕິດຕໍ່ໂດຍກົງກັບ "MP3::Tag" ໂມດູນ Perl (ໃຊ້ລະຫັດຂອງສະຄິບ Perl ນີ້.
ຕົວຢ່າງ!).
ນີ້ແມ່ນການຕັ້ງຄ່າໜ້າວຽກແບບປົກກະຕິ "ຂັ້ນສູງ" id3v2 frames: composer ("TCOM"), orchestra
("TPE2"), conductor ("TPE3"). ພວກເຮົາສົມມຸດເປັນໄມ້ຢືນຕົ້ນລະບົບທີ່ມີໄຟລ໌ MP3 tagged
ກັບສົນທິສັນຍາດັ່ງຕໍ່ໄປນີ້: "ສິລະປິນ" ຕົວຈິງແລ້ວແມ່ນນັກປະພັນ; "ຄໍາເຫັນ" ແມ່ນຫນຶ່ງໃນ
ສອງຮູບແບບ:
ນັກສະແດງ; ວົງດົນຕີ; Conductor
ວົງດົນຕີ; Conductor
ເພື່ອກໍານົດກອບ MP3 ສະເພາະຜ່ານກົດລະບຽບ "-P", ໃຊ້
mp3info2 -@P "mi/@a/@{TCOM}" \
-P "mi/@c/@{U1}; @{TPE2}; @{TPE3}/@{TPE2}; @{TPE3}" -R .
ດ້ວຍຕົວເລືອກ "-F", ນີ້ສາມາດງ່າຍເປັນ
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 .
ເພື່ອຄັດລອກ ID3 tags ຂອງໄຟລ໌ MP3 ໃນໄດເລກະທໍລີປະຈຸບັນໄປຫາໄຟລ໌ໃນໄດເລກະທໍລີ /tmp/mp3 ກັບ
ການຂະຫຍາຍ .ແທັກ (ແລະພິມ "ບົດລາຍງານຄວາມຄືບຫນ້າ"), ການນໍາໃຊ້
mp3info2 -p "@N@E\n" -@P "bODi,@{ID3v2}@{ID3v1},/tmp/mp3/@N.tag" -DNR .
ເນື່ອງຈາກພວກເຮົາບໍ່ໄດ້ໃຊ້ທຸງ "z", ໄຟລ໌ MP3 ທີ່ບໍ່ມີແທັກຖືກຂ້າມໄປ.
ຕອນນີ້ສົມມຸດວ່າມີສອງລຳດັບໄຟລ໌ຂະໜານຂອງໄຟລ໌ສຽງ, ແລະເນື້ອເພງ:
ໄຟລ໌ສຽງຢູ່ໃນ audio/dir_name/audio_name.mp3 ກັບໄຟລ໌ເນື້ອເພງທີ່ສອດຄ້ອງກັນໃນ
text/dir_name/audio_name.mp3. ເພື່ອແນບເນື້ອເພງກັບໄຟລ໌ MP3 (ໃນ "COMM" ກອບກັບ
ຄໍາອະທິບາຍ "ເນື້ອເພງ" ໃນພາສາ "eng" - ນີ້ is a ບໍ່ແມ່ນມາດຕະຖານ ສະຖານທີ່, ເບິ່ງ ຂ້າງລຸ່ມນີ້!),
ໂທ
mp3info2 -@P "fim;../text/@{d0}/@B.txt;@{COMM(eng)[lyrics]}" -Ru .
ພາຍໃນໄດເລກະທໍລີ ສຽງ. (ປ່ຽນ "fim" ເປັນ "Ffim" ເພື່ອບໍ່ສົນໃຈໄຟລ໌ສຽງສໍາລັບອັນໃດ
ໄຟລ໌ຂໍ້ຄວາມທີ່ສອດຄ້ອງກັນບໍ່ມີ.
ຄົນເຮົາຄວນໃຊ້ຊ່ອງຂໍ້ມູນ "%{USLT(eng)[]}" ແທນ "%{COMM(eng)[lyrics]}"; ເບິ່ງ
ຂ້າງລຸ່ມນີ້ສໍາລັບການປ່ຽນແປງ).
ສໍາເລັດຮູບໂດຍຕົວຢ່າງທີ່ງ່າຍດາຍຫຼາຍ: ທັງຫມົດສິ່ງທີ່ຮູບແບບ
-P 'i;%t;%t'
does ແມ່ນການໂຍກຍ້າຍຂອງ trailing ແລະນໍາ blanks ຈາກຫົວຂໍ້ (ຊຶ່ງ deduced ໂດຍອື່ນໆ
ຫມາຍຄວາມວ່າ).
ເພີ່ມເຕີມ ຕົວຢ່າງ
ດ້ວຍທາງເລືອກ "-F", ຫນຶ່ງສາມາດກໍານົດກອບ "USLT" ເປັນ
mp3info2 -@F "USLT(eng)[] < ../text/@{d0}/@B.txt" -Ru .
ພິມອອກກອບດັ່ງກ່າວ (ໃນພາສາໃດກໍ່ຕາມ) ກັບ
mp3info2 -@p "@{USLT[]}\n" file.mp3
ເຊັ່ນດຽວກັນ, ເພື່ອພິມກອບ APIC ທີ່ມີຄໍາອະທິບາຍຫວ່າງເປົ່າ, ໃຫ້ໃຊ້
mp3info2 -e binary -@p "@{APIC[]}" file.mp3 > output_picture_file
ຫຼື (ມີຄໍາອະທິບາຍ "ປົກຫຸ້ມ")
mp3info2 -@P "bOi,@{APIC[cover]},output_picture_file.jpg" loading="lazy" audio_07.mp3
ເພື່ອກໍານົດກອບດັ່ງກ່າວຈາກໄຟລ໌ xxx.gif (ດ້ວຍຄ່າເລີ່ມຕົ້ນ "ປະເພດຮູບພາບ", "ປົກຫຸ້ມ (ດ້ານໜ້າ)",
ແລະຄໍາອະທິບາຍຫວ່າງເປົ່າ), ເຮັດຫນຶ່ງຂອງ
mp3info2 -F "APIC < xxx.gif" file.mp3
mp3info2 -@F "APIC[]=@{I(fimbB)xxx.gif}" file.mp3
ຄວາມແຕກຕ່າງຂອງ "APIC" ແລະ "APIC[]" ແມ່ນວ່າທໍາອິດເອົາກອບ "APIC" ທັງຫມົດອອກກ່ອນ,
ແລະອັນທີສອງເອົາພຽງແຕ່ກອບ "APIC" ທັງຫມົດທີ່ມີຄໍາອະທິບາຍຫວ່າງເປົ່າ - ແຕ່ຮູບພາບທີ່ມັກ
ປະເພດ. ສະນັ້ນມັນອາດຈະເໝາະສົມກວ່າທີ່ຈະໃຊ້ສະເພາະເຕັມຮູບແບບ, ຄືກັບໃນ "APIC(Cover
(ທາງຫນ້າ))[]".
ເພື່ອເອົາເຟຣມ "APIC" ທີ່ມີຄຳອະທິບາຍຫວ່າງເປົ່າ, "ປະເພດຮູບພາບ" ທີ່ກຳນົດເອງ (ແລະ "MIME"
type"s ທີ່ອາດຈະຖືກຄິດໄລ່ຢ່າງຖືກຕ້ອງໂດຍ mp3info2, ເຊັ່ນ: "TIFF/JPEG/GIF/PNG"), ໃຊ້
mp3info2 -d "APIC[]" file.mp3
(ໃຫ້ສັງເກດວ່າອັນນີ້ຈະບໍ່ເປັນພື້ນທີ່ຫວ່າງໃນດິສກ໌, ເວັ້ນເສຍແຕ່ "ຫຍໍ້" ຖືກບັງຄັບໂດຍການຕັ້ງຄ່າ
ຕົວແປ). ເພື່ອເຮັດເຊັ່ນດຽວກັນກັບປະເພດຮູບພາບ "Conductor" ເທົ່ານັ້ນ, ເຮັດ
mp3info2 -d "APIC(Conductor)[]" file.mp3
ເພື່ອສະແກນຜ່ານໄດເລກະທໍລີຍ່ອຍ, ແລະເພີ່ມໄຟລ໌ coverjpg ຈາກໄດເລກະທໍລີຂອງໄຟລ໌ເປັນ a
"default" "APIC" ກອບ, ແຕ່ວ່າພຽງແຕ່ຖ້າບໍ່ມີກອບ "APIC", ແລະໄຟລ໌ມີຢູ່, ເຮັດແນວໃດ.
mp3info2 -@F "APIC ?< @D/cover.jpg" loading="lazy" -R .
ນີ້ຈະລຶບຂອບຫວ່າງເປົ່າສຳລັບວັນທີ, "TCOP, TENC, WXXX[], COMM(eng)[]", ແລະລຶບ
ນຳ 0 ຈາກເລກຕິດຕາມຈາກໄຟລ໌ MP3 ໃນບັນຊີປະຈຸບັນ:
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
ຕົວຢ່າງ on ການຈັດການ ກັບ ຫັກ ການເຂົ້າລະຫັດ
ຫນຶ່ງໃນຈຸດອ່ອນຕົ້ນຕໍຂອງການຈໍາແນກ ID3 ແມ່ນວ່າມັນຕ້ອງການຂໍ້ມູນນັ້ນ
ສະໜອງໃຫ້ຢູ່ໃນການເຂົ້າລະຫັດ "ລາຕິນ-1". ເນື່ອງຈາກພາສາສ່ວນໃຫຍ່ໃນໂລກແມ່ນບໍ່ສາມາດສະແດງອອກໄດ້
"latin-1", ນີ້ນໍາໄປສູ່ການ (ສ່ວນໃຫຍ່?) ຂອງ tags ID3 ບໍ່ສອດຄ່ອງກັບມາດຕະຖານ. ໃໝ່ກວ່າ
ລຸ້ນຂອງ specs ໄດ້ແກ້ໄຂຂໍ້ບົກຜ່ອງນີ້, ແຕ່ຄວາມເສຍຫາຍແມ່ນແລ້ວ.
ໂຊກດີ, ສະຄຣິບນີ້ສາມາດໃຊ້ຄວາມສາມາດຂອງ "MP3::Tag" ເພື່ອປ່ຽນຈາກທີ່ບໍ່ສອດຄ່ອງກັນ.
ເນື້ອໃນທີ່ສອດຄ່ອງ.
ຕົວຢ່າງຕໍ່ໄປນີ້ຈະປ່ຽນແທັກ ID3v2 ທີ່ຖືກຂຽນໄວ້ໃນ (ບໍ່ມາດຕະຖານ)
ການເຂົ້າລະຫັດ "cp1251" ຢູ່ໃນການເຂົ້າລະຫັດມາດຕະຖານ. ສໍາລັບຈຸດປະສົງຂອງຕົວຢ່າງນີ້,
ສົມມຸດວ່າແທັກ ID3v1 ຢູ່ໃນການເຂົ້າລະຫັດດຽວກັນ (ແລະອັນນັ້ນຕ້ອງການປ່ອຍໃຫ້ພວກມັນຢູ່ໃນ
ການເຂົ້າລະຫັດ "cp1251"); ໄຟລ໌ທີ່ຈະດໍາເນີນການແມ່ນພົບເຫັນຢູ່ໃນໄດເລກະທໍລີປະຈຸບັນແລະ
(recursively) ໃນໄດເລກະທໍລີຍ່ອຍຂອງມັນ ("ກໍານົດ" syntax ສໍາລັບ DOSISH shells):
ຕັ້ງ MP3TAG_DECODE_V1_DEFAULT=cp1251
ຕັ້ງ MP3TAG_DECODE_V2_DEFAULT=cp1251
mp3info2 -C id3v2_fix_encoding_on_write=1 -u2R .
ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມ, ເບິ່ງ "ສະພາບແວດລ້ອມ" ໃນ MP3::Tag, "config" ໃນ MP3::Tag, ແລະ
"Custom" ໃນ MP3::Tag.
ຄວາມບໍ່ເຂົ້າກັນໄດ້ ກັບ mp3info
ເຄື່ອງມືນີ້ໄດ້ຖືກສ້າງແບບຢ່າງວ່າງໃນໂຄງການ mp3info; ມັນແມ່ນ "ສ່ວນໃຫຍ່" ກັບຄືນໄປບ່ອນທີ່ເຫມາະສົມ
(ໂດຍສະເພາະໃນເວລາທີ່ຢູ່ໃນຮູບແບບ "naive" ຜ່ານ "-N"), ແລະອະນຸຍາດໃຫ້ເປັນ superset ທີ່ສໍາຄັນຫຼາຍຂອງ
ການທໍາງານ. ຄວາມບໍ່ເຂົ້າກັນດ້ານຫຼັງທີ່ຮູ້ຈັກແມ່ນ:
-G -h -r -d -x
ຟັງຊັນທີ່ຂາດຫາຍໄປ:
-f -F -i
ບໍ່ເຂົ້າກັນໄດ້ "%"-ໜີ:
%e %E - ມີຄວາມໝາຍແຕກຕ່າງກັນຢ່າງແທ້ຈິງ
%v - ບໍ່ມີ 0s ຕິດຕາມ
%q - ມີສ່ວນເສດສ່ວນ
%r - ເປັນຕົວເລກ, ບໍ່ແມ່ນຄໍາສັບ "ຕົວແປ" ສໍາລັບ VBR
%u - ໜ້ອຍໜຶ່ງ (ຢູ່ໃນຂອບຂອງຕົວອະທິບາຍເທົ່ານັ້ນບໍ?)
ບໍ່ມີ "%"-ໜີ:
%b %G
Backslash ໜີ: ຮອງຮັບພຽງແຕ່ "\\", "\n", "\t" ເທົ່ານັ້ນ.
"-x" ພິມຂໍ້ມູນໃນຮູບແບບທີ່ແຕກຕ່າງກັນ, ບໍ່ແມ່ນທຸກຊ່ອງຂໍ້ມູນ, ແລະຊື່ແທັກ ID3v2
ແມ່ນຜົນຜະລິດ.
ENVIRONMENT
ດ້ວຍ "-e" 1, 2 ຫຼື 3, ສະຄຣິບນີ້ອາດຈະປຶກສາກັບຕົວແປສະພາບແວດລ້ອມ "LC_CTYPE, LC_ALL,
LANG" ເພື່ອຫັກການເຂົ້າລະຫັດປະຈຸບັນ. ບໍ່ມີຕົວແປສະພາບແວດລ້ອມອື່ນໃດຖືກອ່ານໂດຍກົງ
script ນີ້.
ຢ່າງໃດກໍຕາມ, ໃຫ້ສັງເກດວ່າ MP3::Tag module ມີຊຸດຄ່າເລີ່ມຕົ້ນທີ່ອຸດົມສົມບູນສໍາລັບການຕັ້ງຄ່າການເຂົ້າລະຫັດ
ຕັ້ງຄ່າໂດຍຕົວແປສະພາບແວດລ້ອມ; ເບິ່ງ "ສະພາບແວດລ້ອມ" ໃນ MP3::Tag. ດັ່ງນັ້ນຕົວແປເຫຼົ່ານີ້
ມີຜົນກະທົບ (ທາງອ້ອມ) ວິທີການ script ນີ້ເຮັດວຽກ.
ຢຸດການ ນຳ ໃຊ້ແລ້ວ INTERFACE
ຖ້າຫາກວ່າທ່ານບໍ່ເຂົ້າໃຈວ່າມັນແມ່ນກ່ຽວກັບການ, ມັນເປັນການປອດໄພທີ່ຈະລະເລີຍການປະກາດນີ້:
ແບບເກົ່າ, ຮຸ່ນກ່ອນ = 1.05 ວິທີ (ໂດຍ triplication ຂອງຕົວແຍກ, ໂດຍບໍ່ມີການຊໍ້າຊ້ອນຂອງ
options) ເພື່ອສະຫນອງຄໍາສັ່ງຫຼາຍ "-F" ແລະ <-P> ທາງເລືອກແມ່ນຍັງສະຫນັບສະຫນູນ, ແຕ່ແມ່ນ
ທໍ້ຖອຍໃຈຢ່າງແຮງ. (ມັນບໍ່ຂັດກັບການໂຕ້ຕອບໃນປັດຈຸບັນ.)
ໃຊ້ mp3info2p ອອນໄລນ໌ ໂດຍໃຊ້ບໍລິການ onworks.net