NI產品與技術 討論區

取消
顯示結果 
搜尋替代 
您的意思是: 

錄音 時間端點

已解決!
前往解決方案

我想要錄一段聲音,以array儲存,和相似波形進行比對,計算相異度

問題是我每次同樣的聲音錄下來波形類似,可是時間起點卻不同

如下圖所示

我有設定振幅的閥值,但也無法解決這個問題

請問各位前輩有何方法可以解決這個問題?

下列是我的程式,請參考!  謝謝!

0 積分
1 條訊息(共 9 條)
8,397 檢視

當您開始按 run 執行 labview 程式碼, 電腦開始擷取聲音。

 

問題是您何時播放聲音?

 

有可能labview執行後0.5秒,您才開始播放聲音。

 

有可能播放聲音後,才開始執行 labview 程式。

 

解決方法:

 

您透過聲霸卡無法透過硬體觸發方式擷取聲音。

 

您必須找一個可以支援類比觸發 ( analog trigger ) 的DAQ資料擷取卡來完成您的專案。

 

 

 

0 積分
2 條訊息(共 9 條)
8,388 檢視

謝謝您的回答!

 

問題就是我沒有這樣的設備

 

如果單純只靠LV內建的程式無法完成類似的功能嗎

 

譬如說電壓超過0.1V才開始擷取波形

 

或者計算音框能量或過零率之類

 

基本的LV可以做到這些嗎?

 

 

0 積分
3 條訊息(共 9 條)
8,381 檢視

透過軟體判斷的結果當然可以,

 

但是必須透過軟體將時間起點修正回去。

 

 

0 積分
4 條訊息(共 9 條)
8,376 檢視

不好意思

 

那再請教一下

 

LV裡面有相關的vi  or  example

 

可以完成這樣的功能嗎?

0 積分
5 條訊息(共 9 條)
8,374 檢視

其實您擷取到的信號會是一維陣列,可以透過 array subset 將信號=0 的部分移除。

 

不知道有沒有解決您的問題?

0 積分
6 條訊息(共 9 條)
8,372 檢視

感覺還是回到問題的起點

 

因為array subsect只能決定要從哪個index開始取值

 

但每次起點的index都不同

 

所以問題的根源還是在如何判斷起點

 

 

0 積分
7 條訊息(共 9 條)
8,369 檢視

譬如說電壓超過0.1V才開始擷取波形

或參考這個網址,

http://forums.ni.com/ni/board/message?board.id=5170&thread.id=4629

裡面有 threshold 1D array, search 1D array 的工具,

 

 

0 積分
8 條訊息(共 9 條)
8,366 檢視
解決方案
由主題作者所接受 angelason

剛剛試了一下

 

看起來效果還不錯

 

謝謝您的幫忙!

0 積分
9 條訊息(共 9 條)
8,351 檢視