2011-05-27 18 views
6

readframes() पाइथन में उपयोग किया जाता है, online documention का कहना है कि नमूना आवृत्ति वापस आती है, ऐसा लगता है कि यह 2 बाइट्स देता है। मुझे लगता है कि हर फ्रेम पर 4 बाइट देखते हैं:रीडफ्रेम पाइथन

left = 2 bytes 
right = 2 bytes 

मैं अगर यह मोनो या स्टीरियो है की जाँच करने के लिए है और अगर यह स्टीरियो है, एक बार में 2 फ्रेम पढ़ सकते हैं और अगर यह मोनो है, पर 1 फ्रेम को पढ़ते हैं एक वक़्त?

+1

मुझे लगता है कि आपको अधिक जानकारी प्रदान करनी होगी, जैसे कि आप किस लाइब्रेरी का उपयोग कर रहे हैं? यह सही वैव प्रारूप क्या है? – Keith

+0

@Keith कुछ संदर्भ जोड़ा गया। टैगिंग ने इसे दिया;) – phihag

+1

ओह क्षमा करें नहीं, यह एक फ्रेफ्रेम नहीं है, यह रीडफ्रेम क्षमा करें –

उत्तर

5

एक लहर फ़ाइल है:

  • नमूना प्रति सेकंड Wave_read.getframerate() की दर (उदाहरण, 44100 एक ऑडियो सीडी से है)। (16-बिट नमूनों के लिए यानी 1 8 बिट के नमूने के लिए, 2) Wave_read.getsampwidth() बाइट्स की
  • नमूना चौड़ाई
  • Wave_read.getnchannels() चैनलों (आमतौर पर मोनो के लिए 1, 2 स्टीरियो के लिए)

हर बार जब आप एक कर Wave_read.getframes(N), आपको N * sample_width * n_channels बाइट्स मिलते हैं।

तो, यदि आप 44100 हर्ट्ज, 16-बिट स्टीरियो फ़ाइल से 2048 फ्रेम पढ़ते हैं, तो परिणामस्वरूप आपको 8192 बाइट मिलते हैं।