一種利用音頻控制馬達震動的方法及裝置的制造方法
【技術領域】
[0001]本發明涉及終端馬達震動技術,特別涉及一種利用音頻控制馬達震動的方法及相關裝置。
【背景技術】
[0002]移動終端的馬達震動和音頻播放是相對獨立的功能。圖1是現有技術提供的音頻和馬達模塊結構圖,如圖1所示,通常,音頻模塊結構包含用戶層111 (用戶播放器等應用以及框架層和硬件適配層)、音頻驅動112、音頻硬件123 (編譯碼器codec,耳機,揚聲器等硬件)。馬達模塊結構包含用戶層121 (馬達相關應用及框架層和硬件適配層)、馬達驅動122、馬達硬件層123。
[0003]傳統的終端馬達震動方法和體驗單一,或者依賴于音頻編解碼硬件的支持驅動馬達多樣化震動,本發明通過軟件方式實現音頻對終端馬達的控制。
【發明內容】
[0004]本發明的目的在于提供一種利用音頻控制馬達震動的方法及裝置,能更好地通過軟件方式實現音頻對終端馬達的控制。
[0005]根據本發明的一個方面,提供了一種利用音頻控制馬達震動的方法,包括:
[0006]建立音頻特征信息與馬達震動時長的對應關系;
[0007]獲取用來控制馬達震動的音頻數據;
[0008]通過解析所述音頻數據,得到相應的音頻特征信息,并確定所述音頻特征信息對應的馬達震動時長;
[0009]按照所確定的馬達震動時長,控制馬達震動。
[0010]優選地,所述音頻特征信息包括音頻振幅和/或音頻頻率,所述的建立音頻特征信息與馬達震動時長的對應關系的步驟包括:
[0011]按照已知音頻振幅和/或音頻頻率及相應得到的馬達震動時長,確定音頻振幅權值系數和/或音頻頻率權值系數;
[0012]利用所述音頻振幅權值系數和/或音頻頻率權值系數,得到音頻振幅和/或音頻頻率與馬達震動時長的對應關系。
[0013]優選地,所述的獲取用來控制馬達震動的音頻數據的步驟包括:
[0014]實時檢測終端的震動事件,并當檢測到震動事件時,獲取所述音頻數據;
[0015]其中,所述震動事件包括終端來電事件、終端麥克實時錄制音頻文件的事件;
[0016]其中,所述音頻數據來自終端的預存音頻文件或終端麥克實時錄制的音頻文件。
[0017]優選地,所述的通過解析所述音頻數據,得到相應的音頻特征信息的步驟包括:
[0018]對所述音頻數據的某一時域內的音頻振幅進行采樣,得到多個采樣音頻振幅;
[0019]利用所述多個采樣音頻振幅進行多項式插值計算,得到所述時域內的關于音頻振幅的多項式函數;
[0020]利用所述多項式函數,將所述時域內的中間時間點對應的音頻振幅作為所述音頻數據在所述時域內的音頻振幅;和/或
[0021]利用快速傅里葉算法,獲取所述時域內的音頻頻率,并將出現次數最多的音頻頻率作為所述音頻數據在所述時域內的音頻頻率。
[0022]優選地,還包括:
[0023]將馬達震動強度預先劃分為對應于不同音頻振幅的若干等級,形成所述音頻振幅與馬達震動強度之間的映射表;
[0024]通過解析所述音頻數據而得到相應的音頻振幅后,在所述映射表中查找對應于所述音頻振幅的馬達震動強度;
[0025]按照所得到的馬達震動強度,控制馬達震動。
[0026]根據本發明的另一方面,提供了一種利用音頻控制馬達震動的裝置,包括:
[0027]關系建立模塊,用于建立音頻特征信息與馬達震動時長的對應關系;
[0028]數據采樣適配模塊,用于獲取用來控制馬達震動的音頻數據;
[0029]數據處理模塊,用于通過解析所述音頻數據,得到相應的音頻特征信息,并確定所述音頻特征信息對應的馬達震動時長;
[0030]馬達控制模塊,用于按照所述馬達震動時長,控制馬達震動。
[0031]優選地,所述音頻特征信息包括音頻振幅和/或音頻頻率,所述關系建立模塊按照已知音頻振幅和/或音頻頻率及相應得到的馬達震動時長,確定音頻振幅權值系數和/或音頻頻率權值系數,并利用所述音頻振幅權值系數和/或音頻頻率權值系數,得到音頻振幅和/或首頻頻率與馬達震動時長的對應關系。
[0032]優選地,所述數據采樣適配模塊實時檢測終端的震動事件,并當檢測到震動事件時,獲取所述音頻數據,其中,所述震動事件包括終端來電事件、終端麥克實時錄制音頻文件的事件,所述音頻數據來自終端的預存音頻文件或終端麥克實時錄制的音頻文件。
[0033]優選地,所述數據處理模塊對所述音頻數據的某一時域內的音頻振幅進行采樣,得到多個采樣音頻振幅,利用所述多個采樣音頻振幅進行多項式插值計算,得到所述時域內的關于音頻振幅的多項式函數,利用所述多項式函數,將所述時域內的中間時間點對應的音頻振幅作為所述音頻數據在所述時域內的音頻振幅;和/或利用快速傅里葉算法,獲取所述時域內的音頻頻率,并將出現次數最多的音頻頻率作為所述音頻數據在所述時域內的音頻頻率。
[0034]優選地,所述關系建立模塊還用于將馬達震動強度預先劃分為對應于不同音頻振幅的若干等級,形成所述音頻振幅與馬達震動強度之間的映射表,使所述數據處理模塊在通過解析所述音頻數據而得到相應的音頻振幅后,在所述映射表中查找對應于所述音頻振幅的馬達震動強度,以供所述馬達控制模塊按照所得到的馬達震動強度,控制馬達震動。
[0035]與現有技術相比較,本發明的有益效果在于:
[0036]本發明通過軟件方式實現音頻對終端馬達的控制,實現馬達多樣化震動,提升終端震動的用戶體驗。
【附圖說明】
[0037]圖1是現有技術提供的音頻和馬達模塊結構圖;
[0038]圖2是本發明實施例提供的利用音頻控制馬達震動的方法原理框圖;
[0039]圖3是本發明實施例提供的利用音頻控制馬達震動的裝置框圖及其在系統中的位置示意圖;
[0040]圖4是本發明實施例提供的利用音頻控制馬達震動的軟件流程圖。
【具體實施方式】
[0041]以下結合附圖對本發明的優選實施例進行詳細說明,應當理解,以下所說明的優選實施例僅用于說明和解釋本發明,并不用于限定本發明。
[0042]圖2是本發明實施例提供的利用音頻控制馬達震動的方法原理框圖,如圖2所示,包括:
[0043]步驟S201:建立音頻特征信息與馬達震動時長的對應關系。
[0044]所述音頻特征信息包括音頻振幅和/或音頻頻率。
[0045]具體地說,按照已知音頻振幅和/或音頻頻率及相應得到的馬達震動時長,確定音頻振幅權值系數和/或音頻頻率權值系數,并利用所述音頻振幅權值系數和/或音頻頻率權值系數,建立音頻振幅和/或音頻頻率與馬達震動時長的對應關系。換句話說,首先通過實驗數據確定音頻振幅權值系數和/或音頻頻率權值系數,然后再利用所確定的音頻振幅權值系數和/或音頻頻率權值系數,得到音頻振幅和/或音頻頻率與馬達震動時長的對應關系。
[0046]步驟S202:獲取用來控制馬達震動的音頻數據。
[0047]具體地說,實時檢測終端的震動事件,例如終端來電事件(例如來電呼叫、接收到短信/彩信/即時消息、鬧鐘提醒等)、終端麥克實時錄制音頻文件的事件等,并當檢測到震動事件時,獲取所述音頻數據。本發明不拘泥于音頻數據的來源,所述音頻數據的來源可以是終端預存的音頻文件,也可以是終端麥克實時錄制的音頻文件。
[0048]進一步地,需要判斷所述音頻數據是否是單聲道數據,如果是單聲道數據,則直接進行后續處理,否則提取其中一個聲道的數據作為控制馬達震動的音頻數據,然后進行后續處理。
[0049]步驟S203:通過解析所述音頻數據,得到相應的音頻特征信息,并確定所述音頻特征信息對應的馬達震動時長。
[0050]所述音頻振幅的獲取步驟包括:對所述音頻數據的某一時域(例如0.5S、1S、
1.5S、2S內)內的音頻振幅進行采樣,得到多個采樣音頻振幅,并利用所述多個采樣音頻振幅進行多項式插值計算,得到所述時域內的關于音頻振幅的多項式函數,最后將所述多項式函數中所述時域內的中間時間點對應的音頻振幅作為所述音頻數據在所述時域內的音頻振幅。
[0051