කෙටි ශ්රව්ය නියැදියක් විශ්ලේෂණය කිරීමට SoXsox
වෙතින් භාවිතා කරන්න :
sox -t .wav "|arecord -d 2" -n stat
සමග -t .wav
අප ඩබ්ලිව්ඒවී වර්ගය සැකසීමට නියම, "|arecord -d 2"
එම මරන arecord
, තත්පර දෙකක් වැඩසටහන -n
විධානය ක්රියාත්මක ශූන්ය ගොනුව හා සමග stat
අපි සංඛ්යා ලේඛන අවශ්ය නියම කරන්න.
පසුබිම් කථාවක් සහිත මගේ පද්ධතියේ මෙම විධානයේ ප්රතිදානය:
Recording WAVE 'stdin' : Unsigned 8 bit, Rate 8000 Hz, Mono
Samples read: 16000
Length (seconds): 2.000000
Scaled by: 2147483647.0
Maximum amplitude: 0.312500
Minimum amplitude: -0.421875
Midline amplitude: -0.054688
Mean norm: 0.046831
Mean amplitude: -0.000044
RMS amplitude: 0.068383
Maximum delta: 0.414063
Minimum delta: 0.000000
Mean delta: 0.021912
RMS delta: 0.036752
Rough frequency: 684
Volume adjustment: 2.370
එවිට උපරිම විස්තාරය උපුටා ගත හැක්කේ:
grep -e "RMS.*amplitude" | tr -d ' ' | cut -d ':' -f 2
අපි grep
අපට අවශ්ය රේඛාව සඳහා, භාවිතා tr
ඉවතට අවකාශය චරිත පසුව සිඳීම හා cut
එය විසින් :
ස්වභාවය හා අපට ලබා දෙන දෙවන සහභාගි 0.068383
මෙම උදාහරණය තුල. අදහස් දැක්වීම් වලට අනුව, ආර්එම්එස් යනු උපරිම විස්තාරයට වඩා ශක්තිය මැනීමකි.
bc
විධාන රේඛාවෙන් පාවෙන ලක්ෂ්ය අගයන් සංසන්දනය කිරීමට ඔබට අවසානයේ ප්රති result ලය භාවිතා කළ හැකිය :
if (( $(echo "$value > $threshold" | bc -l) )) ; # ...
ඔබ මිනිත්තු 1 ක් නින්දට කැඳවන , පරිමාව පරික්ෂා කර, නැවත නැවත කරන ලූපයක් ( බාෂ් උදාහරණ බලන්න ) ගොඩනඟන්නේ නම් , ඔබට එය පසුබිමේ ධාවනය කළ හැකිය. අවසාන පියවර වන්නේ එය ආරම්භක ස්ක්රිප්ට් හෝ සේවා ලිපිගොනු වලට එකතු කිරීමයි (ඔබේ මෙහෙයුම් පද්ධතිය / ඩිස්ට්රෝ මත පදනම්ව), ඔබට එය අතින් දියත් කිරීමට පවා අවශ්ය නොවේ.