sox विफल प्रारूप: इनपुट फ़ाइल '* .wav' नहीं खोल सकता: अमान्य तर्क


0

मैं कुछ ऑडियो प्रोसेसिंग कार्यों को करने के लिए खुद को sox से परिचित करने की कोशिश कर रहा हूं । अंत में, मैं अपनी सभी WAV फ़ाइलों को लेना चाहता हूं और सिर्फ एक चैनल को निकालना चाहता हूं, और उन्हें सहेजना, आदर्श रूप से संशोधित नाम (जैसे इनपुट 55_55.wav left_55_55.wav बन जाएगा)। ठीक है, अब, हालांकि मैं सिर्फ कुछ बुनियादी सामान की कोशिश कर रहा हूं और समस्याओं का सामना कर रहा हूं।

उदाहरण के लिए, केवल एक फ़ाइल की अवधि को देखना ठीक काम करता है:

sox --i -D 55_55.wav
10.840000

लेकिन निर्देशिका में सभी। Wav फ़ाइलों पर कमांड चलाने की कोशिश नहीं की जाती है:

sox --i -D *.wav
sox FAIL formats: can't open input file '*.wav': Invalid argument

यहाँ क्या गलत हो रहा है?

मैंने कई बदलावों की कोशिश की (जैसे ./*.wavरिश्तेदार स्थान बदलना *.wav) लेकिन इसे हल नहीं कर पाया। मैं अपने लक्ष्य को पूरा करने के लिए हर .wav फ़ाइल के लिए कुछ करने का तरीका जानने की उम्मीद कर रहा हूं, और ऐसा लगता है *.wavकि इनपुट का उपयोग करना सही दृष्टिकोण हो सकता है, लेकिन यह इतनी अच्छी तरह से काम नहीं कर रहा है। कोई विचार?

मैंने सोचा था कि निम्नलिखित झूठ की तरह कुछ काम करेगा कि हर फ़ाइल से एक चैनल निकाला जाए और उस एक चैनल को संशोधित नाम के साथ बचाया जाए, लेकिन ऐसा लगता है कि मैं थोड़ा बहुत आशावादी था:

sox *.wav -c 1 left*.wav remix 1 0
sox FAIL formats: can't open output file `left*.wav`: Invalid argument

sox --i -D *.wavयहाँ काम करता है, क्या आप सही निर्देशिका में हैं? क्या गूंजता है * .वव कहते हैं?
थोर

1
एकाधिक फ़ाइलों से बाएं चैनल को निकालने के लिए और इसे अलग से बचाने के लिए आपको एक लूप, उदाहरण के लिए उपयोग करने की आवश्यकता है for wavfile in *.wav; do sox "$wavfile" "left_$wavfile" remix 1; done
थोर

मुझे पूरा यकीन है कि मैं सही निर्देशिका में हूं। lsउन सभी फ़ाइलों को लौटाता है जिनकी मुझे उम्मीद है, मैं व्यक्तिगत फ़ाइलों पर कमांड का उपयोग कर सकता हूं, और इससे पहले पाठ >सही निर्देशिका है।
जोता

तो आपकी समस्या यह है कि *.wavइसका विस्तार नहीं हो रहा है, आप इसे किस खोल में चला रहे हैं? पाश को बैश शेल में चलाने का प्रयास करें।
थोर

1
क्षमा करें, मैं इस गलतफहमी में था कि आप इसे एक अलग शेल में चला रहे हैं। cmd.exeलूप के लिए भी समर्थन करता है, उदाहरण के लिए इस वेबसाइट को देखें । कुछ इस तरह काम करना चाहिए for %wavfile in (*.wav) do sox %wavfile left_%wavfile remix 1:।
थोर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.