loading...
انجام پروژه متلب

پردازش صوت

 

 بر روی لینک های زیر کلیک نمایید

 

 

در متلب توابعی وجود دارند که به منظور کار با صوت طراحی شده اند.در این مقاله طرز کار این توابع را با هم مرور می کنیم.

 

beep:

ساده ترین دستور تولید صدا در متلب دستورbeepاست که همانطوری که از اسمش پیداست یک صدای بیپ تولید می کند.این صدا برای اجرا به هنگام تولید پیامهای اخطار در برنامه هایتان می تواند مفید باشد.می توان حالت بیپ کامپیوتر را فعال و غیر فعال کرد.به این صورت:

beep on

beep off

 

اگر حالت بیپ کامپیوتر غیر فعال باشد دیگر دستورbeepتولید صدا نخواهد کرد.

 

 

 

wavrecord:

این تابع پس از فراخوانی،از یک دستگاه ورودی صدا مثلا میکروفون در زمان مشخصی تحت فرکانس تعیین شده ای صدا را ضبط می کند.توجه داشته باشید که برای ضبط صدا باید سیستم در حال ضبط باشد.برای این منظورvolume controlرا باز کنید.در ویندوزxpبه این آدرس بروید:

 

Start/All Programs/Accessories/Entertainment/Volume control

 

از منویOptionsگزینه یPropertiesرا انتخاب کنید.Mixer Deviceرا در یک حالتInputقرار داده و دکمه ی رادیوییRecordingرا انتخاب کنید.

ساختار تابع به این صورت است:

data=wavrecord(n,fs);

این تابع تعدادnنمونه از یک سیگنال صوتی را تحت فرکانسfsهرتز ضبط می کند و آن را در متغیرdataذخیره می کند.مقدار پیش فرضfsبرابر 11025هرتز است.حال به تناسب زیر توجه کنید:

1secàfs Hz

t secàt*fs Hz

همانطور که گفته شد تابعwavrecordتعدادnفرکانس را ضبط می کند.بنابراین اگر بخواهیمtثانیه صدا ضبط کنیم بایدt*fsفرکانس را ضبط کنیم.یعنی تابع را تحت این ساختار فراخوانی کنیم:

data=wavrecord(t*fs,fs);

wavwrite:

حال باید صدای ضبط شده را در یک فایل صوتی ذخیره کنیم.برای این منظور از تابعwavwriteاستفاده می شود.این تابع ماتریس حاوی صدای ضبط شده را در یک فایل با پسوند.wavذخیره می کند.فایل تولید شده قابل پخش در کلیه ی برنامه های پخش صداست.

wavwrite(data,fs,'filename');

به متغیرfsدر ساختار تابع توجه کنید.مقدار متغیرfsدر ساختار تابعwavwriteباید با مقدار متغیرfsدر ساختار تابعwavrecordبرابر باشد.در واقع باید صدا را با همان فرکانسی که ضبط کرده ایم در فایل ذخیره کنیم.در غیر این صورت صدا زیر یا بم می شود.

wavread:

این تابع یک فایل صوتی با پسوند.wavرا می خواند و آن را در متغیرdataو فرکانسش را در متغیرfsذخیره می کند.

[data fs]=wavread('filename');

wavplay:

این تابع ماتریس حاوی صوت را تحت فرکانس مشخصی پخش می کند.

wavplay(data,fs);

sound:

طرز کار این تابع مشابهwavplayاست.

sound(data,fs);

باز هم یادآور می شوم که برای پخش صدا باید فرکانس پخش با فرکانس ضبط برابر باشد.

 

 

اطلاعات کاربری
  • فراموشی رمز عبور؟
  • آمار سایت
  • کل مطالب : 2400
  • کل نظرات : 284
  • افراد آنلاین : 3
  • تعداد اعضا : 24559
  • آی پی امروز : 29
  • آی پی دیروز : 124
  • بازدید امروز : 183
  • باردید دیروز : 818
  • گوگل امروز : 2
  • گوگل دیروز : 51
  • بازدید هفته : 1,991
  • بازدید ماه : 5,718
  • بازدید سال : 120,444
  • بازدید کلی : 5,766,086