शुरू करेंमुफ़्त में शुरू करें

टाइम स्टैम्प्स खोजना

हमें अपनी sound wave की फ़्रीक्वेंसी 48 kHz पता है, लेकिन अगर यह न पता हो तो? हम इसे sound wave array की लंबाई को उसकी अवधि से भाग देकर निकाल सकते हैं. हालाँकि, Python के wave मॉड्यूल में इससे बेहतर तरीका है. किसी wave ऑब्जेक्ट पर getframerate() कॉल करने से उस ऑब्जेक्ट का frame rate मिलता है.

इसके बाद हम NumPy की linspace() मेथड का उपयोग करके, sound wave array के हर integer का time stamp निकाल सकते हैं. यह आगे चलकर sound wave को विज़ुअलाइज़ करने में मदद करेगा.

linspace() मेथड start, stop और num पैरामीटर्स लेती है और start और stop के बीच num समान दूरी वाले मान लौटाती है.

हमारे केस में, start शून्य होगा, stop होगा sound wave array की लंबाई को frame rate से भाग देने पर मिलने वाला मान (यानी ऑडियो फ़ाइल की अवधि), और num होगा sound wave array की लंबाई.

यह अभ्यास पाठ्यक्रम का हिस्सा है

Python में Spoken Language Processing

पाठ्यक्रम देखें

अभ्यास निर्देश

  • sound wave bytes को integers में कन्वर्ट करें.
  • getframerate() का उपयोग करके good morning ऑडियो फ़ाइल का frame rate लीजिए.
  • stop को soundwave_gm की लंबाई को frame rate से भाग देकर सेट करें.
  • num को soundwave_gm की लंबाई के बराबर सेट करें.

इंटरैक्टिव व्यावहारिक अभ्यास

इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।

# Read in sound wave and convert from bytes to integers
good_morning = wave.open('good_morning.wav', 'r')
signal_gm = good_morning.readframes(-1)
soundwave_gm = np.frombuffer(____, dtype='int16')

# Get the sound wave frame rate
framerate_gm = good_morning.____

# Find the sound wave timestamps
time_gm = np.linspace(start=0,
                      stop=____/____,
					  num=____)

# Print the first 10 timestamps
print(time_gm[:10])
कोड संपादित करें और चलाएँ