辨音識鍵奏樂系統(K 題) 【高職高專組】 一、 任務 設計并制作一個辨音識鍵的電子琴演奏系統,如圖 1 所示,包含:5 個水杯當作琴鍵,1 個演奏用的敲擊棒,1 個識別控制器,具有拾音、分析識別、顯示、音樂發聲等功能。演奏過程中系統根據水杯被敲擊時發出的聲音識別出琴鍵(以與位置標號一致的杯號來標識),由識別控制器發出對應音高(聲音頻率)的聲音。5 個琴鍵(杯號)與不同音高間的對應關系由選手自定。
104803onmitn4mmv9zn44n.png (21.83 KB, 下載次數: 32)
下載附件
2023-8-4 11:04 上傳
圖 1 系統構成示意圖
一、 要求
1. 基本要求 (1)一鍵啟動識別控制器自動演奏簡單樂曲(如:起床號、兩只老虎等),時長不超過 15s。 (2)分別敲擊放置在 1、3、5 號位置上的 3 個空水杯進行識別學習訓練,然后逐個敲擊杯子將杯號顯示在識別控制器上,用時≤90s。 (3)在 3 個空水杯(2、4、5 號)中各倒入 50、100、150ml 的水,分別進行敲擊識別學習訓練,然后逐個敲擊杯子將杯號顯示在識別控制器上,用時≤90s。隊員敲擊水杯,識別控制器同時發出對應音高的聲音。
2. 發揮部分 (1)在 5 個空水杯中由隊員注入不同容量的水,各杯中水容量之差不小于20ml,分別進行敲擊識別學習訓練,然后逐個敲擊杯子將杯號顯示在識別控制器上,用時≤120s。隊員敲擊水杯演奏簡單樂曲(如:起床號),由識別控制器發出樂曲聲。 (2)在完成發揮部分任務(1)的基礎上,再增加 3 個加有不同水量(30、100、150ml)的杯子,按要求打亂 8 個杯子排序后并排放置,從其中敲擊識別出打亂排序前的 1~5 號杯子,并在敲擊的同時顯示其杯號,敲到新增杯子后顯示數字 0,總用時≤90s。 (3)其他。
二、 說明
(1)水杯采用外觀相同的 8 個容量為 180~220ml 的無柄玻璃杯,由參賽隊自備。杯子上不能有任何標記和附加物。測試時杯子隨機放置。 (2)敲擊棒自選,要求實心無附加裝置,棒上標明長度為 3cm 的敲擊區范圍。測試時統一要求敲擊杯子靠近操作隊員一側的上沿。 (3)識別時由隊員在 3s 內敲擊同一杯子不超過 3 次進行識別。 (4)測試發揮部分之前按要求用白板筆在杯底外部隨機標記編號,按編號放置好杯子后啟動測試。基本要求部分杯號為位置號,發揮部分杯號為杯底編號。 (5)識別控制器演奏音樂的聲強和音色無特殊要求,供電方式無要求。 (6)有時間要求的任務,超時以 0 分計。 (7)注水時可用注射器或量杯計量操作。
131431ydrpqkwtqely747w.png (55.53 KB, 下載次數: 29)
下載附件
2023-8-4 11:06 上傳
捕獲聲音信號,做fft,計算幅值換算距離 應該就是用普通的咪頭,靈敏度高。
學習訓練時,做ADC并FFT后,獲取最高的幾條譜線,并計算其比例關系。
識別時,也是ADC后做FFT,計算最高的幾條譜線的比例關系,在一定范圍內,則為對應的杯子的聲音。
K題求助stc32g單片機能用的fft函數
改成STC32G的了,主頻30MHz,先發程序,使用說明還沒來得及改。 MCU:STC32G12K128,例子使用實驗箱9.61驗證。 主頻:30MHz。 FFT: 256點采樣,128點頻譜顯示,USB-CDC傳給STC-ISP里的示波器界面顯示頻譜。
采樣頻率最高25.6KHz,下面的程序已按樓主要求用12.8KHz采樣,分辨率50Hz。
|