From ab4925036812d4686aec3071c53acbbadaa7d4f3 Mon Sep 17 00:00:00 2001 From: yomguy Date: Thu, 13 Dec 2007 02:01:10 +0000 Subject: [PATCH] Hack RME9652 crash git-svn-id: http://svn.parisson.org/svn/CNAQ/trunk@136 5fc3e0e6-29bc-4d03-b52b-c088cb822bde --- CNAQ.m | 13 ++++++++++--- tools/get_latency.m | 12 ++++++------ 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/CNAQ.m b/CNAQ.m index 0399b12..b8853ba 100644 --- a/CNAQ.m +++ b/CNAQ.m @@ -498,10 +498,12 @@ function gen_on_off_Callback(hObject, eventdata, handles) % %delete(ao); % PA way but can't work with monitor !... - % pa_wavplay(sig_out',f_s,0,'asio'); - + %pa_wavplay(sig_out',f_s,0,'asio'); + % Winsoud way... sound(sig_out',f_s); + pause(0.1); + %============================================ @@ -516,9 +518,13 @@ function mes_type_CreateFcn(hObject, eventdata, handles) end function mes_on_Callback(hObject, eventdata, handles, device) +% [device, latency] = ASIO(); +% set(handles.in_on_off,'UserData',device); +% set(handles.save_button,'UserData',latency); + pause(0.2); device = get(handles.in_on_off,'UserData'); latency = get(handles.save_button,'UserData'); - nfft = 16384; + nfft = 32768; f_min = str2double(get(handles.f_gen_min,'String')); f_max = str2double(get(handles.f_gen_max,'String')); f_s = get_fs(handles); @@ -576,6 +582,7 @@ function mes_on_Callback(hObject, eventdata, handles, device) % [recdevice], [devicetype]) % Resynchro + pause(0.1); len_sig_mes = length(sig_mes); size_sig_mes = size(sig_mes); n_col_sig_mes = size_sig_mes(2); diff --git a/tools/get_latency.m b/tools/get_latency.m index 1ee1d67..4819418 100644 --- a/tools/get_latency.m +++ b/tools/get_latency.m @@ -13,16 +13,16 @@ function [delay, mfv,ecart] = get_latency(device, n) f_max=20000; lt=5; t=0:1/44100:lt; - sig=0.9*chirp(t,f_min,lt,f_max,'logarithmic'); - len_sig = length(sig); + sig=0.5*chirp(t,f_min,lt,f_max,'logarithmic'); + len_sig = length(sig) %playrecord signal for it = 1:n - pause(0.1); + pause(1); inputbuffer = pa_wavplayrecord(sig',device,[44100],0,[1],[1],device,['asio']); - Co=xcorr(inputbuffer',sig'); - [Y(it),I(it)] = max(Co); - delay(it)=I(it)-len_sig; + Co = xcorr(inputbuffer',sig'); + [Y(it), I(it)] = max(Co); + delay(it) = I(it)-len_sig; end -- 2.39.5