बाइट्स से इंटीजर
आपने देखा कि Python के wave मॉड्यूल और readframes() मेथड का उपयोग करके किसी ऑडियो फ़ाइल को कैसे इम्पोर्ट और पढ़ा जाता है. लेकिन ऐसा करने पर आउटपुट एक बाइट्स की array होता है.
इन बाइट्स को ज़्यादा उपयोगी रूप में बदलने के लिए, हम NumPy के frombuffer() मेथड का उपयोग करेंगे.
frombuffer() को हमारे साउंड वेव के bytes पास करके और dtype 'int16' बताकर, हम bytes को integers में बदल सकते हैं. इंटीजर, bytes की तुलना में काम करने में कहीं आसान होते हैं.
Python की wave लाइब्रेरी पहले से इम्पोर्ट की गई है, साथ ही good_morning.wav audio file भी उपलब्ध है.
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में Spoken Language Processing
अभ्यास निर्देश
numpyपैकेज को उसके प्रचलित उपनामnpके साथ इम्पोर्ट करें.- good morning ऑडियो फ़ाइल को खोलें और पढ़ें.
signal_gmbytes कोint16इंटीजर में कन्वर्ट करें.- पहले 10 sound wave मान देखें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
import ____ as ____
# Open good morning sound wave and read frames as bytes
good_morning = wave.open(____, 'r')
signal_gm = good_morning.readframes(-1)
# Convert good morning audio bytes to integers
soundwave_gm = np.frombuffer(____, dtype=_____)
# View the first 10 sound wave values
print(soundwave_gm[:____])