رسم نمودار فایل صوتی با پایتون

تِندایو محصول جدید وب سایت پلتفرم بوی است که به میلیون ها پرسش دسته های مختلف حوزه فناوری دیجیتال پاسخ داده است. اعلامیه حریم خصوصی تِندایو - همچنین در انتهای همین صفحه از میزان رضایت خود از پاسخ ربات هوش مصنوعی تندایو را اعلام بفرمایید.

برای شروع پرسش جدید از این لینک اقدام کنید.

💬 سوال: کد پایتونی که نمودار یک فایل صوتی را مانند نمودار نوار قلب رسم و نشان دهد؟

برای رسم نمودار یک فایل صوتی مانند نمودار نوار قلب با پایتون، می توانید از کد زیر استفاده کنید:

import librosa
import matplotlib.pyplot as plt

# بارگذاری فایل صوتی
audio_path = "your_audio_file.wav"
y, sr = librosa.load(audio_path)

# محاسبه spectrogram
spectrogram = librosa.stft(y)

# محاسبه مقیاس فرکانس
frequencies = librosa.core.fft_frequencies(sr)

# محاسبه مقیاس زمان
times = librosa.core.frames_to_time(np.arange(spectrogram.shape[1]), sr, hop_length=512)

# رسم نمودار
plt.pcolormesh(times, frequencies, np.abs(spectrogram), cmap="viridis")
plt.xlabel("زمان (ثانیه)")
plt.ylabel("فرکانس (هرتز)")
plt.show()

توضیح کد

  • در ابتدا، کتابخانه های librosa و matplotlib.pyplot را با نام های مستعار librosa و plt ایمپورت می کنیم.
  • متغیر audio_path مسیر فایل صوتی را مشخص می کند.
  • با استفاده از تابع librosa.load، فایل صوتی بارگذاری شده و سیگنال صوتی (y) و نرخ نمونه برداری (sr) استخراج می شوند.
  • با استفاده از تابع librosa.stft، طیف کوتاه‌مدت فوریه (spectrogram) سیگنال صوتی محاسبه می‌شود.
  • مقیاس فرکانس (frequencies) با استفاده از تابع librosa.core.fft_frequencies محاسبه می شود.
  • مقیاس زمان (times) با استفاده از تابع librosa.core.frames_to_time محاسبه می شود.
  • از تابع plt.pcolormesh برای رسم نمودار طیف سیگنال صوتی استفاده می شود.
  • برچسب های محور x و y با استفاده از xlabel و ylabel تنظیم می شوند.
  • در نهایت، نمودار با استفاده از show نمایش داده می شود.

نکات:

  • می توانید از توابع librosa دیگر برای پردازش سیگنال صوتی قبل از رسم نمودار استفاده کنید.
  • می توانید از توابع matplotlib دیگر برای سفارشی سازی نمودار خود استفاده کنید.
  • می توانید از کد بالا برای رسم نمودار انواع سیگنال های دیگر نیز استفاده کنید.

موفق باشید!

هرچه بیشتر بدانید بهتر است🔸⚡❔❕

tendaiwo

تِندایو، پرسش از دنیای آی تی

خیلی سوالات زیادی داریم که باید به همه آنها پاسخ داده شود.سوالاتی بسیاری در زمینه نرم افزار، سخت افزار،سایت، سئو، برنامه نویسی و ... که تِندایو جوابشان را میداند.

"تندایو" (Tendaiwo) که به معنی "حرکت به سوی پیشرفت" در زبان شونا، یکی از زبان‌های محلی زیمبابوه است، یکی از اسامی آفریقایی با معنی بسیار جالب است. این نام، نشان دهنده روحیه‌ی پیشرفت، بهبود و تلاش در زندگی است.با بیشتر دانستن، تلاش کنید و به خواسته هایتان برسید.

شما هم میتوانید سوالتان را بپرسید تا پس از پاسخ دهی توسط تندایو در دسته موردنظر ثبت شود.برای ورود به بخش اصلی میتوانید بر روی دکمه زیر کلیک کنید.

تِندایو، پرسش از دنیای آی تی

آیا این مطلب برای شما مفید بود؟

بله
نه اصلا
از اینکه بازخورد خود را در اختیار ما گذاشته اید متشکریم. تا بعد 🙂

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *