پروژه استخراج صدا از موسیقی با متلب

یک سینت سایزر دیجیتال پایه را پیاده سازی کنید و از آن برای پخش یک آهنگ سنتی در تنظیم سه صدایی استفاده کنید. نرخ نمونه ۲ کیلوهرتز را مشخص کنید. آهنگ را به عنوان جدول زمانی MATLAB®️ ذخیره کنید.

"fs = 2e3;
t = 0:1/fs:0.3-1/fs; fq = [-Inf -9:2]/12;
note = @(f,g) [1 1 1]*sin(2*pi*440*2.^[fq(g)-1 fq(g) fq(f)+1]'.*t);
mel = [5 3 1 3 5 5 5 0 3 3 3 0 5 8 8 0 5 3 1 3 5 5 5 5 3 3 5 3 1]+1;
acc = [5 0 8 0 5 0 5 5 3 0 3 3 5 0 8 8 5 0 8 0 5 5 5 0 3 3 5 0 1]+1;
song = [];
for kj = 1:length(mel)
    song = [song note(mel(kj),acc(kj)) zeros(1,0.01*fs)];
end
song = song'/(max(abs(song))+0.1);
% To hear, type sound(song,fs)
tune = timetable(song,SampleRate=fs);"
t,song,SampleRate=fs);

Signal Analyzer را باز کنید و جدول زمانی را از «Workspace Browser» به جدول سیگنال بکشید. برای ایجاد یک شبکه نمایشگر دو به دو، روی Display Grid کلیک کنید. یک نمای طیفی به دو نمایشگر بالا و نمایشگر پایین سمت چپ اضافه کنید. نمایشگر پایین سمت راست را انتخاب کنید، روی Time-Frequency کلیک کنید تا نمای طیف‌گرام اضافه شود، و روی Time کلیک کنید تا نمای زمانی حذف شود. آهنگ را به هر چهار نمایش بکشید. صفحه نمایش پایین سمت راست را انتخاب کنید و در برگه Spectrogram، وضوح زمانی ۰٫۳۱ ثانیه و ۰٪ همپوشانی بین بخش‌های مجاور را مشخص کنید. محدودیت‌های توان را روی ۵۰-دسی‌بل و -۱۰ دسی‌بل تنظیم کنید.

نمایشگر دو و پایین سمت چپ
هر سه سیگنال تکراری را در جدول سیگنال انتخاب کنید و روی پیش پردازش کلیک کنید تا وارد حالت پیش پردازش شوید.
با کلیک کردن روی نام آن در جدول سیگنال، سیگنال بالا را انتخاب کنید. گذرگاه را از گالری توابع انتخاب کنید. در پانل پارامترهای تابع، فرکانس باند عبور ۴۵۰ هرتز را وارد کنید و شیب را به ۰٫۹۵ افزایش دهید. روی اعمال کلیک کنید.
سیگنال متوسط ​​را با کلیک کردن روی نام آن در جدول سیگنال انتخاب کنید. گذر باند را از گالری توابع انتخاب کنید. در پانل پارامترهای تابع، به ترتیب ۲۳۰ هرتز و ۴۵۰ هرتز را به عنوان فرکانس باند عبور پایین و بالا وارد کنید. شیب را به ۰٫۹۵ افزایش دهید. روی اعمال کلیک کنید.
سیگنال کم را با کلیک کردن روی نام آن در جدول سیگنال انتخاب کنید. پایین گذر را از گالری توابع انتخاب کنید. در پانل پارامترهای تابع، فرکانس باند عبور ۲۳۰ هرتز را وارد کنید و شیب را به ۰٫۹۵ افزایش دهید. روی اعمال کلیک کنید.
برای ذخیره نتایج پیش‌پردازش و خروج از حالت، روی پذیرش همه کلیک کنید.

در هر یک از سه نمایشگر حاوی سیگنال های فیلتر شده، طیف نگاری را مشاهده کنید.
سیگنال اصلی را با پاک کردن کادر کنار نام آن حذف کنید.
در برگه نمایش، روی زمان-فرکانس کلیک کنید تا نمای طیف‌گرام اضافه شود و زمان برای حذف نمای زمان کلیک کنید.
در برگه طیف‌گرام، وضوح زمانی ۰٫۳۱ ثانیه و ۰ درصد همپوشانی بین بخش‌های مجاور را مشخص کنید. محدودیت‌های توان را روی ۵۰-db و -۱۰ db تنظیم کنید.

با کلیک روی ستون نام آنها در جدول سیگنال، سه سیگنال فیلتر شده را انتخاب کنید. در برگه تحلیلگر، روی صادرات کلیک کنید و سیگنال‌ها را در فایلی به نام «music.mat» ذخیره کنید. در متلب، فایل را در فضای کاری بارگذاری کنید. طیف سه سیگنال را رسم کنید.

"load music
pspectrum(low)
hold on
pspectrum(medium)
pspectrum(high)
hold off"
"% To hear the different voices, type % sound(low.low,fs), pause(5), sound(medium.medium,fs), pause(5), sound(high.high,fs)

0 پاسخ

دیدگاه خود را ثبت کنید

تمایل دارید در گفتگو شرکت کنید؟
نظری بدهید!

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

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