অডিও ফাইল চশমা সনাক্ত করতে কমান্ড লাইন সরঞ্জাম


12

আমি চিত্রম্যাগিকের সনাক্তকরণ কমান্ডের সমতুল্য একটি অডিও ফাইল সন্ধান করছি ।

উদাহরণস্বরূপ, এর সাথে identifyআমি একগুচ্ছ চিত্র সম্পর্কে সংক্ষিপ্ত তথ্য পেতে পারি:

% identify b*
banner1.jpg JPEG 134x614 134x614+0+0 8-bit DirectClass 38.4kb 
banner.jpg[1] JPEG 772x307 772x307+0+0 8-bit DirectClass 37.5kb 
bg2.jpg[2] JPEG 103x1500 103x1500+0+0 8-bit DirectClass 43kb 
bg_control_nav.png[3] PNG 13x39 13x39+0+0 8-bit DirectClass 1.73kb 
bg_direction_nav.png[4] PNG 104x52 104x52+0+0 8-bit DirectClass 3.3kb 

আমি আমার অডিও ফাইলগুলি সম্পর্কে অনুরূপ তথ্য পেতে চাই।

আমার শেষ লক্ষ্যটি হ'ল আমার পুরো এমপি 3 লাইব্রেরির মধ্য দিয়ে যাওয়ার জন্য একটি স্ক্রিপ্ট তৈরি করা এবং নিম্ন বিটরেটে ছিটিয়ে থাকা ব্যক্তিদের সনাক্ত করা এবং তারপরে আমার সিডিগুলি পুনরায় ছড়িয়ে দেওয়ার জন্য (বা অ্যামাজন বা আইটিউনস থেকে আরও ভাল মানের সংস্করণ কিনে) সেই ডেটা ব্যবহার করা।

ওএস এক্স / লিনাক্সের সমাধানগুলি উইন্ডোজ সমাধানগুলিতে পছন্দ করে



মেডিইনফো দুর্দান্ত এবং কমান্ড লাইন ইন্টারফেস রয়েছে।
মার্ক ২৩377

আকর্ষণীয় তবে একটি জিইউআই অ্যাপ্লিকেশন এই প্রয়োজনের জন্য কাজ করে না।
ডগ হ্যারিস

উত্তর:


10

ওএস এক্স-এ আপনি সম্ভবত ব্যবহার করতে পারেন mdlsবা mdfind

$ mdls 01\ Kindred.mp3 
kMDItemAlbum                   = "Kindred EP"
kMDItemAudioBitRate            = 320000
kMDItemAudioChannelCount       = 2
kMDItemAudioSampleRate         = 44100
kMDItemAudioTrackNumber        = 1
kMDItemAuthors                 = (
    Burial
)
kMDItemComment                 = "HDB059"
kMDItemContentCreationDate     = 2012-03-19 21:20:59 +0000
kMDItemContentModificationDate = 2012-06-04 16:07:09 +0000
kMDItemContentType             = "public.mp3"
kMDItemContentTypeTree         = (
    "public.mp3",
    "public.audio",
    "public.audiovisual-content",
    "public.data",
    "public.item",
    "public.content"
)
kMDItemDateAdded               = 2012-04-02 19:49:07 +0000
kMDItemDisplayName             = "01 Kindred.mp3"
kMDItemDurationSeconds         = 686.08
kMDItemFSContentChangeDate     = 2012-06-04 16:07:09 +0000
kMDItemFSCreationDate          = 2012-03-19 21:20:59 +0000
kMDItemFSCreatorCode           = ""
kMDItemFSFinderFlags           = 0
kMDItemFSHasCustomIcon         = 0
kMDItemFSInvisible             = 0
kMDItemFSIsExtensionHidden     = 0
kMDItemFSIsStationery          = 0
kMDItemFSLabel                 = 0
kMDItemFSName                  = "01 Kindred.mp3"
kMDItemFSNodeCount             = 27457838
kMDItemFSOwnerGroupID          = 20
kMDItemFSOwnerUserID           = 501
kMDItemFSSize                  = 27457838
kMDItemFSTypeCode              = ""
kMDItemKind                    = "MP3 audio"
kMDItemLogicalSize             = 27457838
kMDItemMediaTypes              = (
    Sound
)
kMDItemMusicalGenre            = "Dubstep"
kMDItemPhysicalSize            = 27459584
kMDItemRecordingYear           = 2012
kMDItemTitle                   = "Kindred"
kMDItemTotalBitRate            = 320000

mdfind -onlyin ~/Music 'kMDItemFSName==*.mp3&&kMDItemAudioBitRate<=192000'


2
এখনও অবধি সমস্ত উত্তরের জন্য আপব্যাটস, তবে এটি একটি চেকমার্ক পেয়েছে কারণ (ক) এটি ওএস এক্স এর স্থানীয় এবং (খ) বিদ্যমান স্পটলাইট মেটাডেটা তথ্য ব্যবহার করে এবং সেই এমডিফাইন্ড কমান্ডটি দ্রুত পাগল।
ডগ হ্যারিস

উভয় সংমিশ্রণ এবং নিম্নমানের বিট হারের সাথে অ্যালবামের নামের একটি নাম উত্পাদন করে:mdfind -0 -onlyin ~/Music 'kMDItemFSName==*.mp3&&kMDItemAudioBitRate<=192000'| xargs -0 mdls -name kMDItemAlbum | sort | uniq
ডগ হ্যারিস

8

আউটপুট পার্স করা সহজ করার জন্য, ffprobe -show_format 2>/dev/nullএফএফম্পেগ থেকে চেষ্টা করুন ।

ওএস এক্স-এ, আপনি হোমব্রিউয়ের মাধ্যমে এটি ইনস্টল করতে পারেন brew install ffmpeg

f ffprobe * .mp3-show_ formatt 2> / dev / নাল
[বিন্যাসে]
ফাইলের নাম = 02। সালভাদোরো ডালি.এমপি 3
nb_streams = 2
format_name = থেকে mp3
ফর্ম্যাট_লং_নাম = এমপিইজি অডিও স্তর 2/3
START_TIME = 0.000000
সময়কাল = 300.254667
আকার = 7206112
bit_rate = 191999
ট্যাগ: শিরোনাম = সালভাদোরো ডালি
ট্যাগ: শিল্পী = Siela
ট্যাগ: ট্র্যাক = 2/10
ট্যাগ: অ্যালবাম = দলি
ট্যাগ: তারিখ = 2005
ট্যাগ: জেনার = গথিক শিলা
ট্যাগ: replaygain_album_peak = 1.188815
ট্যাগ: replaygain_track_peak = 1.178607
TAG: replaygain_track_gain = -9.00 ডিবি
ট্যাগ: রিপ্লেগেইন_আ্যালবাম_গেইন = -9.12 ডিবি
ট্যাগ: ALBUM_ARTIST = Siela
[/ বিন্যাসে]

একটি স্ক্রিপ্টে:

find -iname '*.mp3' | while read -r file; do
    bitrate=$(ffprobe "$file" -show_format 2>/dev/null |
              awk -F"=" '$1 == "bit_rate" {print $2}')
    if (( bitrate <= 128000 )); then
        echo "[$bitrate] $file"
    fi
done

5

সম্পাদনা: সবেমাত্র একটি লিনাক্স প্রোগ্রাম পাওয়া গেছে

লিনাক্সের আওতায়, এমপি 3 ইনফো :

mp3info -p "%Q %L %v %o %r" test.mp3
output:
48000 III 1.000000 joint stereo

আমি জানি আপনি একটি লিনাক্স সমাধান চান; যাইহোক, আপনি আপনার প্রশ্নটি যেভাবে বলেছিলেন তা দেখে মনে হচ্ছে একটি উইন্ডোজ সমাধান সম্পূর্ণরূপে শেষ নয় ...

উইন্ডোজ অধীনে, ট্যাগ.exe কাজ করবে।

উদাহরণ:

C:\mp3>tag.exe "test.mp3"
Tag - Automatic Tag from filename
Copyright (c) 2002-2003 Case.  Minor additions by Neil Popham, 2004-2007
Version 2.0.52, Compiled 2007-05-04

C:\dl\test.mp3
Format:  MPEG 1 Layer 3, Joint Stereo
Details: 44100 Hz Stereo, 128 kbps, playtime 05:24
Tag:     ID3v2

শুধু বিটরেট পেতে:

C:\mp3>tag.exe "test.mp3" 2>&1 | findstr /i "Details:"
Details: 44100 Hz Stereo, 128 kbps, playtime 05:24

4

একটি খুব সহজ ইউটিলিটি হল সক্স
মাইনটি লিনাক্স সিস্টেমে প্রাক ইনস্টল করা হয়েছিল।

 soxi auidofile.wav 

আউটপুট:

 Input File     : 'Yvette_Audin_F_70_7e.wav154.wav'
 Channels       : 2
 Sample Rate    : 44100
 Precision      : 24-bit
 Duration       : 00:00:10.01 = 441254 samples = 750.432 CDDA sectors
 File Size      : 2.65M
 Bit Rate       : 2.12M
 Sample Encoding: 24-bit Signed Integer PCM

এটি সম্পর্কে খুব দরকারী কিছু হ'ল এটি আমাকে স্টিরিও 2-চ্যানেলকে মনো চ্যানেলে রূপান্তর করার অনুমতি দেয়। অডিও ফাইলগুলির জন্য একটি মেশিন লার্নিং মডেলটি প্রশিক্ষণের জন্য আমার এটির দরকার ছিল।

সম্পাদনা: 2 চ্যানেল অডিওকে মনো সিগন্যালে রূপান্তর করা সহজতর পদ্ধতি :

 from pydub import AudioSegment  
 song = AudioSegment.from_wav("01.wav")
 song = song.set_channels(1)
 song.export("01.wav", format='wav')

সমস্ত ধরণের ফাইল পরিচালনা করে তবে এমপি 3 নয় !
not2qubit

.mp3 অনলাইন রূপান্তরকারী ব্যবহার করে সহজেই .wav এ রূপান্তর করা যায়। মাতলাব এরকম কিছু লাইব্রেরি থাকতে পারে। বা আপনার উইন্ডোজ একই জন্য একটি শব্দ রূপান্তরকারী আছে। হতে পারে কারখানার ফর্ম্যাট ...
প্রিয়ঙ্ক পাঠক

হ্যাঁ, তবে ওপি যা চেয়েছিল তা নয়।
not2qubit

সম্ভাব্য ভবিষ্যতের সাহায্যের জন্য এখানে চলে যাবে।
প্রিয়ঙ্ক পাঠক

1

mp3info লিনাক্সের অধীনে তৈরি হয়েছিল তবে বেশিরভাগ ইউএন * এক্স ভেরিয়েন্টে কাজ করা উচিত। ... এমপিথ্রি ইনফো একটি পূর্বনির্ধারিত বা ব্যবহারকারী-নির্দিষ্টকরণের আউটপুট ফর্ম্যাটে খেলার সময়, বিট-রেট, স্যাম্পলিং ফ্রিকোয়েন্সি এবং অন্যান্য বৈশিষ্ট্য সহ এমপি 3 ফাইলের বিভিন্ন প্রযুক্তিগত দিকগুলিও প্রদর্শন করতে পারে।

অথবা

এমপি 3 :: তথ্য - এমপি 3 অডিও ফাইলগুলি থেকে তথ্য / কৌশল এনেছে

সম্ভবত

  perl -MMP3::Info \
       -e 'print ($_, ": ",MP3::Info->new($_)->bitrate, "\n") for (@ARGV)' *.mp3

(অপরীক্ষিত)


1

ffprobe আপনার বন্ধু (এছাড়াও আপনি অ্যাভকনভ, এমপ্লেয়ার ব্যবহার করতে পারেন; এঁরা সবাই মিডিয়ার তথ্য ফিরিয়ে দেন, তবে ffprobe কেবল আপনার প্রয়োজনীয় তথ্য ফেরত দেয়)

স্ট্রিম সহ:

ffprobe http://96.127.183.74:8604/live

রিটার্নস

...
Stream #0:0: Audio: aac (HE-AACv2), 44100 Hz, stereo, fltp, 31 kb/s

স্থানীয় ফাইল সহ:

ffprobe some_file.mp3 

রিটার্নস

...
encoder         : LAME 64bits version 3.99.5
...
Stream #0:0: Audio: mp3, 44100 Hz, stereo, s16p, 320 kb/s
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.