کلیدستان

نسخه‌ی کامل: کار با dsp.AudioRecorder در متلب
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
سلام 
من میخوام برای پردازش Realtime فایل صوتی از بلوک dsp.AudioRecorder استفاده کنم
کسی میدونه queueDuration چیه و دقیقا چیو تعیین میکنه؟؟ 
به SamplePerFrame چه ربطی داره؟؟
ممنون

 
سلام
با جستجویی که در سایت mathworks.com کردم نوشته بود که ،  queueDuration یک پارامتری هست که میاد بر حسب زمان اندازه بلوک ها رو بصورت کلی مشخص میکنه که زیرش یک دیاگرامی هم کشیده بود که پیوست کردم
همین طور مثالی از  dsp.AudioPlayer System object را پیدا کردم میزارم شاید بهتون کمک کنه که میاد یک فایل صوتی avi رو پردازش میکنه
کد پی‌اچ‌پی:
AFR dsp.AudioFileReader; % points to a default audio file
AP 
dsp.AudioPlayer('SampleRate',AFR.SampleRate, ...
            
'QueueDuration',2, ...
            
'OutputNumUnderrunSamples',true);
while ~
isDone(AFR)
  
audio step(AFR);
  
nUnderrun step(AP,audio);
  if 
nUnderrun 0
    fprintf
('Audio player queue underrun by %d samples.\n'...
         ,
nUnderrun);
  
end
end
pause
(AP.QueueDuration); % wait until audio is played to the end
release
(AFR);            % close the input file
release
(AP);             % close the audio output device 
موفق باشید
  

 
(۱۳۹۴/۰۵/۱۲, ۱۲:۳۴ ب.ظ)'MATLAB' نوشته: [ -> ]سلام
با جستجویی که در سایت mathworks.com کردم نوشته بود که ،  queueDuration یک پارامتری هست که میاد بر حسب زمان اندازه بلوک ها رو بصورت کلی مشخص میکنه که زیرش یک دیاگرامی هم کشیده بود که پیوست کردم
 همین طور مثالی از  dsp.AudioPlayer System object را پیدا کردم میزارم شاید بهتون کمک کنه که میاد یک فایل صوتی avi رو پردازش میکنه
کد پی‌اچ‌پی:
AFR dsp.AudioFileReader; % points to a default audio file
AP 
dsp.AudioPlayer('SampleRate',AFR.SampleRate, ...
            
'QueueDuration',2, ...
            
'OutputNumUnderrunSamples',true);
while ~
isDone(AFR)
  
audio step(AFR);
  
nUnderrun step(AP,audio);
  if 
nUnderrun 0
    fprintf
('Audio player queue underrun by %d samples.\n'...
         ,
nUnderrun);
  
end
end
pause
(AP.QueueDuration); % wait until audio is played to the end
release
(AFR);            % close the input file
release
(AP);             % close the audio output device 
موفق باشید
  

 


 

سلام ممنون از کمکتون مشکل اون حل شد 
ولی الان یه مشکل دیگه دارم که چند وقته به شدت سرمو گرم کرده ولی نتیجه نمیده
من یه پردازش Realtime با استفاده از کارت صدا باید انجام بدم یعنی موج آنالوگ از طریق صدا دو کاناله دریافت میکنم و تحلیل و سپس با استفاده از imagesc شکل میکشم
من وقتی فایل را کامل ضبط میکنم و سپس پردازش میکنم همه چیز درسته ولی وقتی بلادرنگ میکنم و تعدادی فریم برمیدارم پردازش میکنم  و دوباره مقداری دیگر برمیدارم
ولی اصلا نتایج یکسان نیست میشه کمکم کنین
ممنون