GoGPT Best VPN GoSearch

온웍스 파비콘

mp3info2p - 클라우드 온라인

Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터를 통해 OnWorks 무료 호스팅 제공업체에서 mp3info2p 실행

이것은 Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터와 같은 여러 무료 온라인 워크스테이션 중 하나를 사용하여 OnWorks 무료 호스팅 제공업체에서 실행할 수 있는 mp3info2p 명령입니다.

프로그램:

이름


mp3info2 - MP3 태그 가져오기/설정; MP3::Tag를 사용하여 기본값을 가져옵니다.

개요


# 정보를 태그로 출력하고 자동으로 추론한 정보
mp3info2 *.mp3

# 또한 연도 필드를 1981로 설정합니다.
mp3info2 -y 1981 *.mp3

# 현재 디렉토리에서 재귀적으로 정보 출력 없이 동일
mp3info2 -R -p "" -y 1981 .

# 어떤 필드도 추론하지 않고 태그에서만 (정규화된) 정보를 인쇄합니다.
mp3info2 -C autoinfo=ID3v2,ID3v1 *.mp3

# 위와 같지만 정규화/자동 입력이 없으면 태그의 원시 정보가
mp3info2 -N *.mp3

# 위와 동일하지만 ID2v1 태그 읽기만 가능
mp3info2 -NC autoinfo=ID3v1 *.mp3

# CDDB_File에서 아티스트 가져오기, 다른 정보 자동 추론, 태그에 쓰기
mp3info2 -C 아티스트=CDDB_File -u *.mp3

# 제목의 경우 .inf 파일의 정보를 선호합니다. autodeduce 휴식, 업데이트
mp3info2 -C 제목=Inf,ID3v2,ID3v1,파일명 -u *.mp3

# 동일, CDDB 파일에서 아티스트 가져오기
mp3info2 -C 제목=Inf,ID3v2,ID3v1,파일명 -C 아티스트=CDDB_File -u *.mp3

# .wav를 .mp3로 변환하는 스크립트 작성, 태그 자동 추론
mp3info2 -p "절름발이 -h --vbr-new --tt '%t' --tn %n --ta '%a' --tc '%c' --tl '%l' --ty '%y' '%f'\n" *.wav >xxx.sh

기술


프로그램은 다음에 대한 태그 정보(MP3::Tag 모듈을 통해 얻음)를 요약하는 메시지를 인쇄합니다.
지정된 파일.

또한 ID3 태그의 정보를 업데이트할 수도 있습니다. 이것은 세 가지 다른 경우에 발생합니다.

· 명령줄 옵션 "talygcn"에 제공된 정보가
해당 ID3 태그의 내용(또는 해당 ID3 태그가 없음).

· 옵션 "-d" 또는 "-F"가 제공된 경우.

· "MP3::Tag"가 MP3 태그가 아닌 다른 수단에서 정보를 얻고 "-u"가
ID3 태그 업데이트.

(이러한 모든 방법은 "-D" 옵션으로 비활성화됩니다.) ID3v2 태그는 필요한 경우 또는 "-2"인 경우 작성됩니다.
옵션이 주어집니다. (추론 가능한 필드의 자동 채우기(방법을 통해)
id3v2_frames_autofill()) "-d" 또는 "-N" 옵션이 지정되지 않은 경우 수행됩니다.)

"-u" 옵션은 가져온 정보를 MP3 ID3 태그에 씁니다("u" 업데이트). 이것
태그 요소를 명시적으로 설정하는 명령줄 옵션이 있는 경우 옵션이 가정됩니다.
("-a", "-t" 등 및 "-F", "-d"). (이 옵션의 효과는
"-D" 옵션.) "-2" 옵션도 지정하면 정보가 없어도 ID3v2 태그를 강제로 씁니다.
ID3v1 태그에 적합(또한 이 옵션을 사용하면 "개인 이름"의 자동 업데이트가 활성화됩니다.
필드 및 "translate_person" 값에 따른 해당 제목,
"person_frames" 등 구성 설정; "필드 정규화" 참조). 이 옵션
태그 변경이 감지되지 않으면 무시됩니다. 그러나 반복하여 업데이트를 강제할 수 있습니다.
이 옵션(태그의 "형식"이 변경될 것으로 예상되는 경우 유용합니다.
"콘텐츠").

옵션 "-p"는 형식으로 다음 인수를 사용하여 메시지를 인쇄합니다(기본적으로 "\\", "\t",
"\n"은 백슬래시, 탭 및 줄 바꿈으로 대체됩니다. "-E" 옵션의 값에 의해 관리됨);
형식에 대한 자세한 내용은 MP3::Tag의 "보간"을 참조하십시오. sprintf ()-탈출과 같은 것. 아니오인 경우
옵션 "-p"가 주어지면 기본 형식의 메시지가 내보내집니다. 옵션 "-e"의 값
출력에 사용되는 인코딩입니다. 값이 숫자인 경우 시스템별 인코딩은
추측됨(그리고 비트 0x1이 설정된 경우 출력에 사용됨); 비트 0x2가 설정되면 명령줄
옵션은 추측된 인코딩에 있다고 가정합니다. 비트 0x4가 설정되어 있으면 명령줄
인수는 추측된 인코딩으로 간주됩니다. 바이너리를 수행하려면 "binary" 값을 사용하십시오.
출력.

옵션 "-D"(드라이 런)를 사용하면 다른 옵션에 관계없이 업데이트가 수행되지 않습니다.
이 옵션을 사용하면 필요하지 않은 경우 태그 구문 분석이 수행되지 않습니다.

옵션 사용

talygcn

획득한 정보(타이틀 아티스트 앨범 연도 장르 코멘트 트랙 번호)를 덮어쓰기
"MP3::Tag" 추론을 통해(이러한 인수 중 하나라도 다른 경우 "-u" 스위치가 암시됨)
그렇지 않으면 발견되는 것에서; 자동 업데이트를 비활성화하려면 "-D" 스위치를 사용하십시오). 기본적으로,
이 옵션의 값은 "%" 보간되지 않습니다. "-E" 옵션으로 변경할 수 있습니다.

"-d" 옵션에는 삭제할 ID3v2 프레임의 쉼표로 구분된 목록이 포함되어야 합니다. ㅏ
프레임 사양은 "%{...}" 프레임 보간에 주어질 수 있는 것과 동일합니다.
명령, 예: "TIT3", "COMM03", "COMM(fra)[짧은 제목]"; 수정과의 차이점-
액세스는 공통 (그리고 먼저 of) 일치하는 프레임이 삭제됩니다. (옵션 -d는
반복했다.)

예를 들어 "-d APIC"는 모든 사진 프레임을 제거합니다. 또한 목록에 포함된 경우
"ID3v1" ​​또는 "ID3v2", 전체 태그가 삭제됩니다.

마찬가지로 "-F" 옵션을 사용하면 임의의 "ID3v2" 프레임을 설정할 수 있습니다.
한 프레임, "FRAME_spec=VALUE" 지시문을 사용하십시오.

-F TIT2=The_new_Title

다시 말하지만, 수정 시, 공통 일치하는 프레임이 먼저 삭제되므로 주의하십시오.

-F COMM=내댓글

옵션 "-F"는 하나 이상의 프레임을 설정하기 위해 반복될 수 있습니다. 구성 변수인 경우
"empty-F-deletes"는 TRUE(기본값)이며, 빈 인수는 프레임을 삭제합니다.

"FRAME_spec=VALUE"를 "FRAME_spec < FILE"로 대체할 수 있습니다. 이 경우 설정할 값
이름이 지정된 파일에서 읽습니다. FILE; 프레임이 텍스트 전용인 경우(의미: 기껏해야
"[인코딩된]텍스트 URL 언어 설명" 필드가 있음) 파일을 텍스트로 읽습니다.
모드(및 시작/후행 공백이 제거된 상태), 그렇지 않으면 이진수로 읽힙니다.
방법. ("<" 기호에는 공백이 필요합니다.) "<"를 "?<"로 바꾸면
프레임이 아직 존재하지 않고 파일이 존재하는 경우에만 값이 설정됩니다. ">"로 대체된 경우,
값(존재하는 경우)이 기록됩니다. FILE (중간 디렉토리 생성은
구성 옵션 "frames_write_creates_dirs"에 의해 제어되며 기본값은 FALSE입니다).

또한 "FRAME_spec"은 "ID3v1", "ID3v2" 또는 "TAGS" 중 하나일 수 있습니다. 이 경우 전체
태그를 쓰거나 읽습니다. 예를 들어 "TAGS < FILE"의 경우 "타이틀 아티스트 앨범 연도 장르
comment track" 정보는 다음에서 계산됩니다. FILE, ">"로 생성된 원시 태그일 수 있습니다.
또는 유효한 MP3 파일; Image::ExifTool이 있으면 임의의 위치에서 데이터를 읽을 수 있습니다.
멀티미디어 파일. (마찬가지로 "ID3v1 < FILE"의 경우 "ID3v1"에서 동일한 정보가 추출됩니다.
태그만 해당) 이 후 "ID3v2" 또는 "TAGS"인 경우 "ID3v2" 프레임은
"ID3v2" 태그를 하나씩. ("?<"에 대한 적절한 수정이 있습니다.)

기본적으로 "-F"의 "VALUE"는 "%"-보간됩니다. 이것은 옵션 "-E"로 변경할 수 있습니다.
사용자 편의를 위해 "작곡가, text_by, 오케스트라, 지휘자,
disk_n"은 "TCOM, TEXT, TPE2, TPE3, TPOS" 대신 사용할 수 있습니다.

"-P RECIPE" 옵션은 옵션으로 수행할 수 있는 작업에 대한 매우 강력한 일반화입니다.
"-F", "-d" 및 "-t -a -l -y -g -c -n". 반복될 수 있습니다. 값은 다음을 포함해야 합니다.
레시피를 분석합니다. 이들은 "MP3::Tag"의 구성 항목 "parse_data"가 됩니다. 결국
이 정보는 MP3::Tag::ParseData 모듈에 의해 처리됩니다(후자가
휴리스틱 체인; 옵션 "-C" 참조). "RECIPE"는 "$flags, $string,
영숫자가 아닌 첫 번째 문자의 @patterns"; 일치하는 첫 번째 @patterns
$string이 실행될 것입니다(부작용을 위해). (예: "예: 구문 분석
규칙".)

옵션 "-G"가 지정된 경우 명령줄의 파일 이름은 glob으로 간주됩니다.
패턴. 이것은 최대 명령줄 길이가 너무 짧은 경우에 유용할 수 있습니다. 와 더불어
옵션 "-R" 인수는 오디오에 대해 재귀적으로 검색되는 디렉토리일 수 있습니다.
(기본 * .mp3) 처리할 파일 "-r" 옵션을 사용하여 정규식을 재설정합니다.
(기본값은 "(?i:\.mp3$)")입니다.

옵션 "-E"는 이스케이프 문자의 확장을 제어합니다. 의 문자를 포함해야 합니다.
"\\, \n, \t"가 보간된 명령줄 옵션; 하나는 문자를 추가 할 수 있습니다
구분 기호 "/i:" 뒤에 "%" 보간이 필요한 "talygcn F" 옵션(예:
"-F", 값만 보간됨). 기본값은 "p/i:Fp"입니다. "-p"만
"\"-보간되며 "-F" 및 "-p"만 "%"-보간 대상입니다. 모두 하나라면
원한다 더하다 기본값으로 "-E"(추가된 옵션 포함) 값 앞에
"+". (옵션 "-P" 값의 일부가 보간되지만 이는
"-E"가 아닌 플래그에 의해 관리됩니다. 하다 않습니다. "-E"의 "%" 보간 부분에 "P"를 입력합니다.)

"-@" 옵션을 지정하면 옵션의 모든 문자 "@"가 "%"로 대체됩니다. 이것
셸이 "%"를 특별히 취급하는 경우(예: DOSISH 셸) 편리할 수 있습니다.

옵션 "-I"가 주어지면 추측하지 않습니다. 예술가 필드는 typeout에서 수행됩니다.

"-C CONFIG_OPT=VALUE1,VALUE2..." 옵션은 "MP3::Tag" 구성 데이터를 동일하게 설정합니다.
"MP3::Tag-"로구성()> 할 것입니다(값이 배열이라는 점을 상기하십시오. 별도의 요소
둘 이상인 경우 쉼표로). 옵션을 반복하여 둘 이상의 값을 설정할 수 있습니다. 메모
"ParseData"는 "-P" 구문 분석 레시피를 처리하는 데 사용되므로 보관하는 것이 좋습니다.
"autoinfo" 구성(및 관련 필드 "author" 등)에서 "-P"가 있는 경우.

옵션 "-x"가 주어지면 오디오 파일에 대한 기술 정보가 인쇄됩니다.
(MP3 레벨, 지속 시간, 프레임 수, 패딩, 저작권 및 ID3v2 프레임 목록
"%{...}" 이스케이프에 적합한 형식의 이름). "-x"가 반복되면 프레임의 내용이
또한 인쇄됩니다(두 번 이상 반복되는 경우 인쇄할 수 없는 문자가 출력될 수 있음).

옵션 "-N"이 제공되면 모든 "스마트"가 비활성화됩니다. 필드의 정규화가 없습니다.
발생하고 (기본적으로) 비 ID3에서 필드 값을 추론하려는 시도가 없습니다.
정보가 이루어집니다. 이 옵션은 (현재) "-C
autoinfo=ParseData,ID3v2,ID3v1"을 첫 번째 지시문으로 사용하여
정규화::텍스트::Music_Fields.pm @INC 경로에 있고 호출하지 않음 자동 채우기() 방법.

표준화 of 분야


(정규화 모듈 로딩 및 모든 후속 작업은
옵션 "-N", 또는 환경 변수 "MP3TAG_NORMALIZE_FIELDS"를 FALSE로 설정합니다.
금지되지 않은 경우 모듈은 다음과 같은 경우 로드를 시도합니다. ~/.music_fields is
또는 "MP3TAG_NORMALIZE_FIELDS"가 설정되고 TRUE입니다.)

"Normalize::Text::Music_Fields" 모듈의 로딩이 성공하면 다음과 같다.
응용할 수 있는:

"MP3TAG_NORMALIZE_FIELDS" 값이 정의되고 1이 아닌 경우 이 값은
디렉터리를 PATH로 지정하고 "Normalize::Text::Music_Fields"의 로드 경로는 다음과 같이 설정됩니다.
디렉토리 목록. 그런 다음 MP3::Tag가 지시됩니다(해당 구성을 통해).
설정) 이 모듈에서 정의한 "normalize_artist"(등) 방법을 사용합니다. 이러한 방법
특정 태그 데이터를 정규화할 수 있습니다. 현재 버전은 "정규화" 방법을 정의합니다.
개인 이름 및 제목(작곡가 기준). 이 정규화가 구동됩니다.
사용자 편집 가능한 구성 테이블을 통해.

MP3 태그 데이터의 자동 정규화 외에도 "가짜 MP3 파일"을 사용하여
이 모듈의 일부 기능에 수동으로 액세스합니다. 이를 위해 빈 파일 이름과 "-D"를 사용하십시오.
옵션. 예를 들어,

mp3info2 -D -a 베토벤 -p "%a\n" ""
mp3info2 -D -a 베토벤 -p "%{shP[%a]}\n" ""
mp3info2 -D -a 베토벤 -t "소나타 #28" -p "%t\n" ""
mp3info2 -D -a 베토벤 -t "알레그레토, 베스" -@p "@t\n" ""
mp3info2 -D -a 베토벤 -t "op93" -@p "@t\n" ""

"베토벤"에 대한 정규화된 사람 이름을 인쇄합니다.
사람 이름, 작곡가 "베토벤"의 "소나타 28번"에 대한 정규화된 제목입니다. 예를 들어,
배송된 정규화 테이블과 함께 인쇄됩니다.

루트비히 판 베토벤(1770-1827)
L. 반 베토벤
피아노 소나타 28번 가장조; Op. 101 (1816)
B플랫장조 피아노 트리오를 위한 알레그레토; WoO 39 (1812)
교향곡 8번 F장조; Op. 93 (comp. 1812, fp Vienna, 1814-02-27, cond. Beethoven; pubd. 1816)

The 주문 of 조작


현재 작업은 다음 순서로 수행됩니다.

· "-d" 옵션을 통해 ID3v1 또는 ID3v2 전체 삭제;

· "-P" 옵션의 레시피가 설정됩니다(보간에 의해 트리거됨).

· "-a/-t/-l/-y/-g/-c/-n" 옵션을 통한 설정;

· "-F" 옵션을 통해 설정 완료;

· "-d" 옵션을 통한 개별 프레임 삭제;

· ID3v2(id) 프레임의 자동 완성;

· "-p" 및 "-x" 옵션을 기반으로 정보를 내보냅니다.

· "-P"의 트리거 레시피(보간에 의해 트리거되지 않은 경우);

· 필요한 경우 태그를 업데이트합니다.

용법 전략: 단계적 확대 of 복잡성


이 스크립트의 목적은 ID3 태그를 간단하게 처리하는 것입니다. as 가능한.

척도의 한쪽 끝에서 다음을 사용하여 태그를 사용하여 임의로 복잡한 조작을 수행할 수 있습니다.
"MP3::Tag" Perl 모듈.

반면에 태그를 사용하여 가장 간단한 조작을 처리하는 것이 훨씬 더 편리합니다.
이 스크립트의 옵션 "-t -a -l -y -g -c -n" 및 "-p -F -d"를 사용합니다. 조금 더
복잡한 작업의 경우 보다 정교한 방법을 사용해야 할 수도 있습니다. 해석하다 규칙제공
"-P" 옵션으로 이 스크립트에; 규칙은 크게 의존합니다 보간법참조
MP3::Tag에서 "interpolate", MP3::Tag에서 "interpolate_with_flags".

"가장 간단한 조작"에서 "더 정교한 조작"으로 업그레이드를 단순화하기 위해 여기에서
"구문 분석 규칙" 제공 동의어 가장 간단한 옵션까지. 따라서 "-t -a -l -y로 시작하면
-g -c -n" 및 "-p -F -d" 옵션은 "거의 작동"합니다.
아래에 설명된 동의어를 수정하여 목표를 완전히 달성할 수 있습니다.

(아래에서는 "-E" 옵션이 기본값으로 설정되어 있다고 가정하므로 "-F -p"는
"%"-보간, 다른 옵션은 그렇지 않습니다. 또한 TTY의 인코딩이
Perl에서 인식하므로 "-e 3" 옵션을 설정하는 것이 좋습니다. DOSISH 쉘에서,
"-@"를 더 잘 사용하고 "%"를 아래의 "@"로 바꾸십시오.)

"-t 값"
-P "mz/값/%t"

"-a -l -y -g -c -n"
마찬가지로.

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

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

or

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

(텍스트 전용 프레임의 경우 "bB" 제거).

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

(텍스트 전용 프레임의 경우 "b" 제거); 또는 "-e binary -p "%{APIC[myDescr]}""를 사용하십시오.
리디렉션을 사용하는 경우 "예: 구문 분석 규칙"을 참조하십시오.

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

"-F" "TIT2 ?< 파일"
매우 까다롭습니다. 빈 파일과 존재하지 않는 파일을 구분하지 않습니다.

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

(텍스트 전용이 아닌 프레임의 경우 "bB"를 "fFim"에 추가); 마지막 부분은 생략 가능
플래그 "m"을 생략하는 경우 - 잘못된 인쇄를 포착하기 위해서만 존재합니다.

"구문 분석 규칙"에 대한 자세한 내용은 "예: 구문 분석 규칙" 및 "설명"을 참조하십시오.
MP3::태그::ParseData.

예 : 해석하다 규칙


"-P" 옵션만 설명이 필요할 정도로 복잡합니다... 자세한 내용은
해석하다 규칙, MP3::Tag::ParseData의 "설명"을 참조하십시오. 보간에 대한 자세한 내용은
MP3::Tag의 "interpolate", MP3::Tag의 "interpolate_with_flags"를 참조하십시오.

(어리석은) 예를 들어 "-a Homer -t Iliad"를 다음으로 대체할 수 있습니다.

-P mz=호머=%a -P mz=일리아드=%t

덜 어리석은 예는 다음을 통해 파일 이름을 구문 분석하는 특정 방법을 강제하는 것입니다.

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

로 분해된다

플래그 문자열 패턴1
"im" "%{d0}/%f" "%a/%n %t.%e"

플래그 문자는 다음을 나타냅니다. 보간하다, 일치해야합니다. 이것은 문자열을 보간합니다
"%{d0}/%f" 그리고 결과(디렉토리의 한 수준이 있는 파일 이름)를 구문 분석합니다.
부분 보존) 주어진 패턴을 사용하여; 따라서 디렉토리 이름은 아티스트가 되고,
선행 숫자 부분 - 트랙 번호 및 나머지 파일 이름(확장자 없음)
- 제목. 여러 패턴이 허용되므로 유사하게 다음을 허용할 수 있습니다.
이름의 여러 형식, 예:

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

파일 기본 이름이 "TITLE (YEAR)" 형식이 되도록 허용합니다. 대체 방법
같은 결과를 얻는 것은

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

이는 두 가지 레서피에 해당합니다.

플래그 문자열 패턴1 패턴2
"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" 값은 "%"를 요청합니다.
기본 "\"-"-p"의 보간 및 "%"-"-F" 및 "-p"의 보간; 하나는 수
"-E +/i:a"로 바로 가기).

더 많은 예를 들자면,

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

파일에서 주석을 읽습니다. .논평 오디오 파일의 디렉토리에서;

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

파일이 .논평 트랙당 한 줄의 주석이 있습니다(이것은
트랙 번호는 다른 방법으로 찾을 수 있습니다).

파일을 가정 파트(부품) MP3 파일의 디렉토리에 있는 파일의 형식은 다음과 같습니다.
서문에는 오디오 파일당 짧은 정보 단락이 있으며 그 앞에는 트랙이 있습니다.
숫자와 점:

...

12. 레지타티브.
(피사로, 로코)

13. Duett: jetzt, Alter, jetzt hat es Eile, (피사로, 로코)

...

다음 명령은 이 정보를 ID3 태그의 제목에 넣습니다(오디오 제공
파일 이름은 MP3::Tag가 트랙 번호를 추론할 수 있도록 충분히 유익합니다.):

mp3info2 -u -C parse_split='\n(?=\d+\.)' -P 'fl;부품;%=n. %티'

이 정보 단락이 "COMMENT" 부분이 있는 "TITLE (COMMENT)" 형식인 경우
선택 사항이므로 다음을 사용하십시오.

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

제목 끝에 있는 점이나 쉼표를 제거하려면 다음을 사용하십시오.

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

이 호출의 두 번째 패턴은 다음으로 변환됩니다.

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

기본적으로 제목에 대체 "s/(.*)[.,]$/$1/s"를 적용합니다.

이제 파트(부품), 텍스트 파일이 있습니다 Comment 추가 정보와 함께;
이 정보를 댓글 필드에 입력하고 싶습니다. 시간 내에 "TITLE"에서 추출한 것
(COMMENT)"; 주석의 다음 두 부분을 빈 줄로 구분합니다.

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[.,]$'

이것은 제목과 주석이 하위 문자열로 '///'를 포함하지 않는다고 가정합니다.
설명: "-P"의 첫 번째 패턴,

['f', '설명' => '%c'],

"Comment" 파일에서 주석 필드로 주석을 읽습니다. 두번째,

['fl', '부품' => '%=n. %티'],

제목 필드에 "부품" 덩어리를 읽습니다. 세번째

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

제목과 설명을 재정렬합니다. 제공 제목은 "TITLE(COMMENT)" 형식입니다.
(구성 옵션 "parse_join"은 주석의 두 청크를 분리합니다.
오른쪽에 %c가 두 번 나타나는 것에 해당합니다.)

마지막으로 네 번째 패턴은 이전 예제와 동일합니다. 그것은 가짜를 제거합니다
제목 끝에 구두점.

추가 예: 주석 필드 시작 부분에서 "with violin" 문자열 제거(제거
아무 것도 남지 않으면 모두 주석):

mp3info2 -u -P 'iz;%c;with violin%c' *.mp3

자동 업데이트 기능이 다른 필드를 추론하지 않고 아티스트 필드 설정
기타 출처;

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

이미 존재하지 않는 한 주석 필드 설정:

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

마지막 예는 "-P" 언어로 "프로그램"을 실제로 작성하는 방법을 보여줍니다.
옵션: 예제는 조건부 할당을 제공합니다. 사용자 변수 사용("%{U8}"에서와 같이)
임시 및 정규식 사용 가능성에 대해 임의로 제공할 수 있습니다.
프로그래밍 논리. 물론 어떤 수준의 복잡성에서는 다음으로 전환하는 것이 좋습니다.
"MP3::Tag" Perl 모듈과 직접 인터페이스(이 Perl 스크립트의 코드를
예!).

다음은 "고급" id3v2 프레임을 설정하는 일반적인 작업입니다: 작곡가("TCOM"), 오케스트라
("TPE2"), 컨덕터("TPE3"). 태그가 지정된 MP3 파일을 포함하는 디렉토리 트리를 가정합니다.
다음 규칙을 따릅니다. "아티스트"는 실제로 작곡가입니다. "설명"은 다음 중 하나입니다.
두 가지 형태:

출연자; 오케스트라; 지휘자
오케스트라; 지휘자

"-P" 규칙을 통해 특정 MP3 프레임을 설정하려면 다음을 사용하십시오.

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 .

현재 디렉터리에 있는 MP3 파일의 ID3 태그를 디렉터리에 있는 파일로 복사하려면 /tmp/mp3
확장 .꼬리표 (및 "진행 보고서" 인쇄), 사용

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

"z" 플래그를 사용하지 않았기 때문에 태그가 없는 MP3 파일은 건너뜁니다.

이제 오디오 파일과 가사의 두 가지 병렬 파일 계층이 있다고 가정합니다.
오디오 파일은 오디오/dir_name/audio_name.mp3 해당 가사 파일을
텍스트/dir_name/audio_name.mp3. MP3 파일에 가사를 첨부하려면("COMM" 프레임에
언어 "eng"의 "가사" 설명 - is a 비표준 위치, 참조 아래!),
전화

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

디렉토리 내부 오디오. (오디오 파일을 무시하려면 "fim"을 "FFim"으로 변경하십시오.
해당 텍스트 파일이 존재하지 않습니다.) (물론 사양을 따르기 위해,
"%{COMM(eng)[lyrics]}" 대신 "%{USLT(eng)[]}" 필드를 사용해야 합니다. 보다
변형에 대해서는 아래).

매우 간단한 예제로 마무리: 패턴이 무엇인지

-P 'i;%t;%t'

제목에서 후행 및 선행 공백을 제거하는 것입니다(다른
수단).

더 보기


"-F" 옵션을 사용하면 "USLT" 프레임을 다음과 같이 설정할 수 있습니다.

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

다음을 사용하여 이러한 프레임(모든 언어로)을 인쇄합니다.

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

마찬가지로 빈 설명으로 APIC 프레임을 출력하려면 다음을 사용하십시오.

mp3info2 -e 바이너리 -@p "@{APIC[]}" 파일.mp3 > output_picture_file

또는 ("커버" 설명 포함)

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

파일에서 이러한 프레임을 설정하려면 xxx.gif (기본 "사진 종류", "표지(앞)",
및 빈 설명) 다음 중 하나를 수행합니다.

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

"APIC"와 "APIC[]"의 차이점은 첫 번째는 모든 "APIC" 프레임을 먼저 제거하고,
두 번째는 빈 설명이 있는 모든 "APIC" 프레임만 제거하지만 임의의 이미지는 제거합니다.
유형. 따라서 "APIC(Cover
(앞쪽))[]".

빈 설명이 있는 "APIC" 프레임을 제거하려면 임의의 "Picture Type"(및 "MIME
다음에 의해 올바르게 계산될 수 있는 유형 mp3info2, 예: "TIFF/JPEG/GIF/PNG"), 사용

mp3info2 -d "APIC[]" 파일.mp3

(구성에 의해 "축소"가 강제되지 않는 한 이렇게 하면 디스크 공간이 확보되지 않습니다.
변수). "컨덕터" 그림 유형에 대해서만 동일한 작업을 수행하려면 다음을 수행하십시오.

mp3info2 -d "APIC(컨덕터)[]" 파일.mp3

하위 디렉터리를 검색하고 파일을 추가하려면 년 COVER.jpg 파일의 디렉토리에서
"기본" "APIC" 프레임, 그러나 "APIC" 프레임이 없고 파일이 존재하는 경우에만 수행

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

이렇게 하면 날짜 "TCOP, TENC, WXXX[], COMM(eng)[]"에 대한 빈 프레임이 삭제되고
현재 디렉토리에 있는 MP0 파일의 트랙 번호에서 선행 3:

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 사양의 주요 약점 중 하나는 데이터가
"latin-1" 인코딩으로 제공됩니다. 세상의 대부분의 언어는 언어로 표현할 수 없기 때문에
"latin-1", 이로 인해 (대부분?) ID3 태그가 표준을 따르지 않습니다. 최신
사양 버전은 이 단점을 수정했지만 피해는 이미 발생했습니다.
다행히도 이 스크립트는 "MP3::Tag" 기능을 사용하여 부적합에서 변환할 수 있습니다.
준수하는 것에 대한 내용.

다음 예는 (비표준 준수)에 작성된 ID3v2 태그를 변환합니다.
"cp1251"을 표준 준수 인코딩으로 인코딩합니다. 이 예제의 목적을 위해
ID3v1 태그가 동일한 인코딩에 있다고 가정하고
인코딩 "cp1251"); 처리할 파일은 현재 디렉토리에 있고
(재귀적으로) 하위 디렉토리에서(DOSISH 셸의 경우 "set" 구문):

MP3TAG_DECODE_V1_DEFAULT=cp1251로 설정
MP3TAG_DECODE_V2_DEFAULT=cp1251로 설정
mp3info2 -C id3v2_fix_encoding_on_write=1 -u2R .

자세한 내용은 MP3::Tag의 "ENVIRONMENT", MP3::Tag의 "config" 및
MP3::Tag의 "사용자 정의".

비호환성 mp3정보
이 도구는 프로그램에서 느슨하게 모델링되었습니다. mp3정보; "대부분" 이전 버전과 호환됩니다.
(특히 "-N"을 통해 "순진한" 모드에 있을 때) 매우 중요한 상위 집합을 허용합니다.
기능. 알려진 이전 버전과의 비호환성은 다음과 같습니다.

-G -h -r -d -x

누락된 기능:

-f -F -i

호환되지 않는 "%"-탈출하다:

%e %E - 완전히 다른 의미 체계
%v - 뒤에 오는 0이 없습니다.
%q - 소수 부분이 있음
%r - VBR의 "변수"라는 단어가 아니라 숫자입니다.
%u - 하나 적습니다(설명자 프레임이 있는 경우에만?)

없어진 "%"-탈출하다:

%b %G

백슬래시 이스케이프: "\\", "\n", "\t"만 지원됩니다.

"-x"는 데이터를 다른 형식으로 인쇄하고 모든 필드가 존재하지 않으며 ID3v2 태그 이름을 표시합니다.
출력됩니다.

환경


"-e" 1, 2 또는 3을 사용하면 이 스크립트는 환경 변수 "LC_CTYPE, LC_ALL,
LANG"을 사용하여 현재 인코딩을 추론합니다. 다른 환경 변수는 직접 읽지 않습니다.
이 스크립트.

그러나 MP3::Tag 모듈에는 인코딩 설정에 대한 풍부한 기본값 세트가 있습니다.
환경 변수로 설정 가능; MP3::Tag의 "환경"을 참조하십시오. 그래서 이 변수들은
이 스크립트가 작동하는 방식에 (간접적으로) 영향을 미칩니다.

폐지 인터페이스


무슨 내용인지 이해가 되지 않으면 이 발표를 무시해도 안전합니다.

기존의 이전 버전=1.05 방식(구분 기호를 XNUMX번 반복하여
옵션) "-F" 및 <-P> 옵션에 여러 명령을 제공하는 것은 여전히 ​​지원되지만
강력하게 권장하지 않습니다. (현재 인터페이스와 충돌하지 않습니다.)

onworks.net 서비스를 사용하여 mp3info2p 온라인 사용


무료 서버 및 워크스테이션

Windows 및 Linux 앱 다운로드

Linux 명령

Ad




×
광고
❤️여기에서 쇼핑, 예약, 구매하세요. 비용이 들지 않아 서비스를 무료로 유지하는 데 도움이 됩니다.