اطلاعیه

Collapse
No announcement yet.

برنامه ضبط صوت با متلب

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    برنامه ضبط صوت با متلب

    سلام
    به کمکتون به شدت نیاز دارم
    من یه برنامه میخوام که صدا رو با یه فرکانس خاص که خودم باید تعیین کنم ضبط کنم و ازش نمونه برداری کنم و به صورت منحنی نشون بدم
    ممنون میشم کمکم کنید.

    #2
    پاسخ : برنامه ضبط صوت با متلب

    سلام
    یک جعبه ابزار در matlab هست به نام Data Acquisition Toolbox که در اون امکاناتی برای برقراری ارتباط با دستگاههای I/O (شامل کارت صوتی) قرار داده شده. میتونید از طریق کارت صدا، صوت رو نمونه برداری کنید و در منحنی نمایش بدید.
    مثال Acquiring Data with a Sound Card رو در راهنمای matlab ببینید.

    دیدگاه


      #3
      پاسخ : برنامه ضبط صوت با متلب

      سلام ..

      در کنار پست خوب بالا، شاید مطالب ایـن پست هم بتونن تا حدودی کمکتون کنن .. موفق باشید ..
      دوستان! مدتی کمتر به سایت میام ..

      دیدگاه


        #4
        پاسخ : برنامه ضبط صوت با متلب

        با سلام خدمت دوستان
        من تو این زمینه یک تحقیقاتی کردم ولی به یک مشکلاتی خوردم
        پروژه من اینه که صدا رو ضبط کنم بعد plot کنم تو حوزه زمان و حوزه فرکانس
        بعد بیام سیگنالی رو که گرفتم نویزدارش کنم بعد باز plot کنم بعد بیام از فیلر عبورش بدم باز پلاتش کنم
        حال من همینجوری که میرم جلو نتایج رو میزارم اگر دوستان دیدن اشتباهه بگن که درستش کنم
        با دستورات زیر صدا رو ضبط میکنم :
        [code=matlab]Phoenix=audiorecorder(8000,8,1);
        recordblocking(Phoenix,5);
        play(Phoenix);
        myPhoenix=getaudiodata(Phoenix);
        plot (myPhoenix);[/code]

        دستور اول1- میزان sampling rate رو به هرتز تعیین میکنه که میتونه 8000و11025و22050و44100و48000و96000 باشه 2-bit per sample هستش که 8و16و24 میتونه باشه3- شماره کاناله که میتونه 1 مونو یا 2 استریو باشه
        دستور دوم میاد صدارو ضبط میکنه که مدت ضبط رو به ثانیه باید تعیین کنید 5 ثانیه هست اینجا.
        دستور بعد صدای ضبط شده رو پخش میکنه
        دستور بعد هم که plot میکنه
        https://www.dropbox.com/s/qabcgpidm8wabm0/Screenshot%202015-02-04%2013.53.20.png?dl=0
        البته من مدت رو 10 زدم تو این شکل
        نمیدونم چرا تا 8 نشون داد
        این نمودار تو حوزه زمان
        برای اینه تو حوزه فرکانس نشون بدم باید ازش fft میگیرم .
        [code=matlab]plot (fft(Phoenix))[/code]
        بعد اینو میده
        https://www.dropbox.com/s/4lw2r1rczgabpn6/Screenshot%202015-02-04%2014.02.05.png?dl=0

        آنان که خاک را به نـــــظر کیمیا کنند
        آیا بود که گوشه چشمی به ما کنند

        دیدگاه


          #5
          پاسخ : برنامه ضبط صوت با متلب

          برای پلات کردن تبدیل فوریه سیگنال باید ازش abs یا real بگیری چون خروجی تبدیل فوریه در حالت کلی مختلطه و با پلات کردنش مولفه حقیقی در محور افقی و مولفه موهومی در محور عمودی قرار میگیره.
          لطفاً برای انجام پروژه های دانشجویی پیام خصوصی نفرستید.
          لطفاً سؤالاتی که در انجمن قابل طرح شدن هستند پیام خصوصی نکنید.
          با تمام وجود گناه کرديم اما نه نعمتش را از ما گرفت نه گناهان ما را فاش کرد اطاعتش کنيم چه مي کند؟"دکتر شريعتي"
          اگر جايي که ايستاده ايد را نمي پسنديد، عوضش کنيد شما درخت نيستيد!! "پاسكال"
          يا به اندازه ي آرزوهايت تلاش کن يا به اندازه تلاشت آرزو کن. "شکسپير"

          دیدگاه


            #6
            پاسخ : برنامه ضبط صوت با متلب

            ممنون بابت پاسختون
            دوتا سوال داشتم
            -من 10 ثانیه ریکورد کردم ولی تا 8 ثانیه نشون میده؟
            -دامنه ولتاژ تو نمودار زمان بر حسب چیه ؟

            انشاالله به این فایل یک نویز وارد میکنم بعد همین نمودارارو میزارم
            بعد از یک فیلترم عبورش میدم باز همین نمودارارو میزارم
            امیدوارم درست باشه


            راستی من با abs نموداررو رسم کردم فقط فرکانس و چطور تشخیص بدم.؟
            https://www.dropbox.com/s/2uy7l5veo2ni7ck/Screenshot%202015-02-06%2017.06.22.png?dl=0
            نمودار افقی عمودی چیه ؟
            اونجایی که دامنه زیاد شده چیه
            ممنون
            آنان که خاک را به نـــــظر کیمیا کنند
            آیا بود که گوشه چشمی به ما کنند

            دیدگاه


              #7
              پاسخ : برنامه ضبط صوت با متلب

              کجا نشون میده؟

              شدت صوت به صورت نرمالیزه شده ذخیره میشه و ولتاژ اینجا خیلی معنی نداره. (با فرمت double بین 1- و 1 یا هر فرمتی که توی دستور getaudiodata انتخاب کرده باشی).

              دستور fft رو توی راهنمای متلب ببین، یک مثال خوب داره.

              من تصویری از شکل موج ها ندارم.
              لطفاً برای انجام پروژه های دانشجویی پیام خصوصی نفرستید.
              لطفاً سؤالاتی که در انجمن قابل طرح شدن هستند پیام خصوصی نکنید.
              با تمام وجود گناه کرديم اما نه نعمتش را از ما گرفت نه گناهان ما را فاش کرد اطاعتش کنيم چه مي کند؟"دکتر شريعتي"
              اگر جايي که ايستاده ايد را نمي پسنديد، عوضش کنيد شما درخت نيستيد!! "پاسكال"
              يا به اندازه ي آرزوهايت تلاش کن يا به اندازه تلاشت آرزو کن. "شکسپير"

              دیدگاه

              لطفا صبر کنید...
              X