單片機音樂中音調和節拍的確定方法

2020-12-25 電子產品世界

  單片機音樂中音調和節拍的確定方法:調號-音樂上指用以確定樂曲主音高度的符號。

本文引用地址:http://www.eepw.com.cn/article/201608/295754.htm

  很明顯一個八度就有12個半音。

  A、B、C、D、E、F、G。經過聲學家的研究,全世界都用這些字母來表示固定的音高。比如,A這個音,標準的音高為每秒鐘振動440周。

  升C調:1=#C,也就是降D調:1=BD;277(頻率)

  升D調:1=#D,也就是降E調:1=BE;311

  升F調:1=#F,也就是降G調:1=BG;369

  升G調:1=#G,也就是降A調:1=BA;415

  升A調:1=#A,也就是降B調:1=BB。466,

  C 262 #C277 D 294 #D(bE)311 E 330 F 349 #F369 G 392 #G415

  A 440. #A466 B 494

  所謂1=A,就是說,這首歌曲的「導」要唱得同A一樣高,人們也把這首歌曲叫做A調歌曲,或叫「唱A調」。1=C,就是說,這首歌曲的「導」要唱得同C一樣高,或者說「這歌曲唱C調」。同樣是「導」,不同的調唱起來的高低是不一樣的。

  各調的對應的標準頻率為:

  單片機演奏音樂時音調和節拍的確定方法

  經常看到一些剛學單片機的朋友對單片機演奏音樂比較有興趣,本人也曾是這樣。在此,本人將就這方面的知識做一些簡介,但願能對單片機演奏音樂比較有興趣而又不知其解的朋友能有所啟迪。

  一般說來,單片機演奏音樂基本都是單音頻率,它不包含相應幅度的諧波頻率,也就是說不能象電子琴那樣能奏出多種音色的聲音。因此單片機奏樂只需弄清楚兩個概念即可,也就是「音調」和「節拍」。音調表示一個音符唱多高的頻率,節拍表示一個音符唱多長的時間。

  在音樂中所謂「音調」,其實就是我們常說的「音高」。在音樂中常把中央C上方的A音定為標準音高,其頻率f=440Hz。當兩個聲音信號的頻率相差一倍時,也即f2=2f1時,則稱f2比f1高一個倍頻程, 在音樂中1(do)與 ,2(來)與 ……正好相差一個倍頻程,在音樂學中稱它相差一個八度音。在一個八度音內,有12個半音。以1—i八音區為例, 12個半音是:1—#1、#1—2、2—#2、#2—3、3—4、4—#4,#4—5、5一#5、#5—6、6—#6、#6—7、7—i。這12個音階的分度基本上是以對數關係來劃分的。如果我們只要知道了這十二個音符的音高,也就是其基本音調的頻率,我們就可根據倍頻程的關係得到其他音符基本音調的頻率。

  知道了一個音符的頻率後,怎樣讓單片機發出相應頻率的聲音呢?一般說來,常採用的方法就是通過單片機的定時器定時中斷,將單片機上對應蜂鳴器的I/O口來回取反,或者說來回清零,置位,從而讓蜂鳴器發出聲音,為了讓單片機發出不同頻率的聲音,我們只需將定時器予置不同的定時值就可實現。那麼怎樣確定一個頻率所對應的定時器的定時值呢?以標準音高A為例:

  A的頻率f = 440 Hz,其對應的周期為:

  T = 1/ f = 1/440 =2272μs

  由上圖可知,單片機上對應蜂鳴器的I/O口來回取反的時間應為:

  t = T/2 = 2272/2 = 1136μs

  這個時間t也就是單片機上定時器應有的中斷觸發時間。一般情況下,單片機奏樂時,其定時器為工作方式1,它以振蕩器的十二分頻信號為計數脈衝。設振蕩器頻率為f0,則定時器的予置初值由下式來確定:

  t = 12 *(TALL – THL)/ f0

  式中TALL = 216 = 65536,THL為定時器待確定的計數初值。因此定時器的高低計數器的初值為:

  TH = THL / 256 = ( TALL – t* f0/12) / 256

  TL = THL % 256 = ( TALL – t* f0/12) %256

  將t=1136μs代入上面兩式(注意:計算時應將時間和頻率的單位換算一致),即可求出標準音高A在單片機晶振頻率f0=12Mhz,定時器在工作方式1下的定時器高低計數器的予置初值為 :

  TH440Hz = (65536 – 1136 * 12/12) /256 = FBH

  TL440Hz = (65536 – 1136 * 12/12)%256 = 90H

  根據上面的求解方法,我們就可求出其他音調相應的計數器的予置初值。

  音符的節拍我們可以舉例來說明。在一張樂譜中,我們經常會看到這樣的表達式,如1=C 、1=G …… 等等,這裡1=C,1=G表示樂譜的曲調,和我們前面所談的音調有很大的關聯, 、 就是用來表示節拍的。以 為例加以說明,它表示樂譜中以四分音符為節拍,每一小結有三拍。比如:

  其中1 、2 為一拍,3、4、5為一拍,6為一拍共三拍。1 、2的時長為四分音符的一半,即為八分音符長,3、4的時長為八分音符的一半,即為十六分音符長,5的時長為四分音符的一半,即為八分音符長,6的時長為四分音符長。那麼一拍到底該唱多長呢?一般說來,如果樂曲沒有特殊說明,一拍的時長大約為400—500ms 。我們以一拍的時長為400ms為例,則當以四分音符為節拍時,四分音符的時長就為400ms,八分音符的時長就為200ms,十六分音符的時長就為100ms。

  可見,在單片機上控制一個音符唱多長可採用循環延時的方法來實現。首先,我們確定一個基本時長的延時程序,比如說以十六分音符的時長為基本延時時間,那麼,對於一個音符,如果它為十六分音符,則只需調用一次延時程序,如果它為八分音符,則只需調用二次延時程序,如果它為四分音符,則只需調用四次延時程序,依次類推。

  通過上面關於一個音符音調和節拍的確定方法,我們就可以在單片機上實現演奏音樂了。具體的實現方法為:將樂譜中的每個音符的音調及節拍變換成相應的音調參數和節拍參數,將他們做成數據表格,存放在存儲器中,通過程序取出一個音符的相關參數,播放該音符,該音符唱完後,接著取出下一個音符的相關參數……,如此直到播放完畢最後一個音符,根據需要也可循環不停地播放整個樂曲。另外,對於樂曲中的休止符,一般將其音調參數設為FFH,FFH,其節拍參數與其他音符的節拍參數確定方法一致,樂曲結束用節拍參數為00H來表示。

  下面給出部分音符(三個八度音)的頻率以及以單片機晶振頻率f0=12Mhz,定時器在工作方式1下的定時器高低計數器的予置初值 :

  C調音符

  頻率Hz 262 277 293 311 329 349 370 392 415 440 466 494

  TH/TL F88B F8F2 F95B F9B7 FA14 FA66 FAB9 FB03 FB4A FB8F FBCF FC0B

  C調音符 1 1# 2 2# 3 4 4# 5 5# 6 6# 7

  頻率Hz 523 553 586 621 658 697 739 783 830 879 931 987

  TH/TL FC43 FC78 FCAB FCDB FD08 FD33 FD5B FD81 FDA5 FDC7 FDE7 FE05

  C調音符

  頻率Hz 1045 1106 1171 1241 1316 1393 1476 1563 1658 1755 1860 1971

  TH/TL FB21 FE3C FE55 FE6D FE84 FE99 FEAD FEC0 FE02 FEE3 FEF3 FF02

相關焦點

  • 單片機演奏音樂原理與模擬實驗
    利用單片機演奏音樂大概是單片機愛好者感興趣的問題之一。這裡我們用網站提供的實驗板來做這個實驗,並且了解單片機演奏音樂的基本原理,和相關的源程序。本文引用地址:http://www.eepw.com.cn/article/172389.htm首先來完成必要的硬體部分,硬體部分比較簡單,如下圖:
  • 基於單片機設計的音樂馬桶
    我的:音樂馬桶。這次程序倒是不難,也才用了51單片機的兩個I/O口,不過方案思路卻是推倒老師自立的。假如以後回看有什麼問題,加以反思。若是行得通,那就最好。因為是從WORD複製而來,格式什麼的比較花時間,插圖錯誤也要以後慢慢改。
  • 超燃音樂馬拉松 2018年Run To The Beat悅節拍北京開跑
    這場好看、好聽、好吃又甜蜜的悅節拍音樂半程馬拉松以爆棚的人氣、空前的音樂盛宴、無法抗拒的美食誘惑及細緻入微的賽道服務開啟亞洲首秀,讓眾多路跑愛好者體驗到音樂馬拉松的獨特魅力。 七大音樂加油站包括了六個DJ站和一個鋼琴站,每一站播放的音樂都經過科學的方法精挑細選而來,音樂風格隨著跑者狀態而調整,為他們提供額外的動力。
  • 純音符節拍時值關係-學音樂必會基礎樂理 附樂譜
    節拍的定義:節拍是衡量節奏的單位,是在樂曲中表示固定單位時值的組織形式。節奏的定義:節奏是構成音樂前後連貫的有序整體。2、節拍的時值關係:一個全音符(四拍)等於兩個2分音符,一個二分音符等於兩個4分音符,一個四分音符等於兩個8分音符,一個八分音符等於兩個16分音符,以此成倍類推。
  • QQ音樂助眠節拍音效上線,黑科技在手,入眠無憂!
    最近,QQ音樂發布了全網首個助眠音效「助眠節拍」,通過音樂催眠黑科技,幫你快速邁進「速眠」時代。相比之前網絡上效果不佳,容易聽膩的白噪音、輕音樂,助眠音效可以讓你喜歡的任意歌曲,一秒變身「助眠神曲」,另外還附帶三大優勢,讓你快速進入睡眠狀態:一、獨有雙耳節拍功能,匹配睡眠腦波率首先要提的當然是QQ音樂獨有的助眠黑科技「雙耳節拍」,從生理層面解決問題!
  • 幫助寶寶唱歌時掌握節拍
    寶寶在唱歌中掌握不了節拍,究其原因有以下幾種:1、能力限制。寶寶年齡小,對音樂的感受能力較弱。對節拍的強弱、快慢、高低等抽象概念不理解。2、家庭影響。生長的家庭環境無音樂氛圍,成人缺乏指導意識。寶寶表現出唱歌的興趣,被成人扼殺,寶寶對音樂產生反感的情緒;成人雖發現寶寶對音樂有興趣,但苦於無能力指導,只能袖手旁觀。3、教育上的問題。(1)成人選曲不當,節拍過於複雜,難度太大。(2)單調枯燥的指導方法,寶寶不易接受。(3)成人急於求成,態度過於嚴厲,寶寶因懼怕而喪失原有能力,顯得手足無措。怎樣使寶寶在唱歌中掌握節拍呢?
  • 基於Arduino的電子音樂發聲器設計
    系統以ArduinoUNO開發平臺為控制核心,充分利用其內部Tone 庫,以數組形式組織樂曲的音高和節拍數據,通過串口和外圍無源蜂鳴器進行通信,實現了電子音樂播放,隨音樂節拍亮滅的LED為設計添加了溫馨感。本系統成本低廉,可靠性高,可實現樂曲DIY,有良好的擴展性。
  • 一種基於Proteus的單片機虛擬實驗室的建立方法
    0 引 言  單片機的學習是一個實踐性很強的過程,目前的單片機實驗室基本採用硬體仿真設備搭建,受資金和場地的限制,單片機實驗室配置的靈活性和完整性受到一定的限制。  2 系統硬體的建立  單片機系統的硬體在Proteus中實現,主要完成硬體平臺的搭建和仿真效果的觀察。
  • 抖音節拍功能怎麼用 抖音節拍功能使用方法
    抖音節拍功能怎麼用?在抖音上總是能看到一些非常有節奏感的視頻,那麼視頻節奏感要怎麼拍出來呢?其實是使用抖音卡節拍功能,抖音卡節拍功能在哪?要如何使用抖音卡節拍功能呢?下面就一起看看使用方法吧。抖音系列軟體最新版本下載抖音電腦版軟體版本:1.7.7手遊電腦版立即查看抖音短視頻軟體版本:1.7.7Android軟體立即查看抖音軟體版本:1.1iOS軟體立即查看抖音卡節拍功能卡節拍:把拍攝時間控制在某個點暫停,然後開始拍攝下一個動作,這樣銜接起來就可以達到電影中的蒙太奇特效,看起來非常的炫酷!
  • DIY一部夠炫酷的自由落體電子鼓之PIC單片機在LCD顯示器模擬
    本項目是自由落體電子鼓,順應了潮流,主要還是面向玩具開發、遊戲、演藝、音樂等娛樂領域。 項目的主要內容:本項目主要面對消費電子類以及娛樂類產品,主要利用PIC單片機在LCD顯示器上模擬實物有節奏地做自由落體,不同物體(如籃球、桌球、盤子、金屬等)做自由落體落在地上發出不同的聲音,對應物體模擬出對應類似樂器(如電子鼓、電子琴等)發出的聲音。
  • 51單片機C語言編程中對單片機絕對地址訪問的兩種方法
    在進行8051單片機應用系統程序設計時,編程都往往少不了要直接作業系統的各個存儲器地址空間。C51程序經過編譯之後產生的目標代碼具有浮動地址,其絕對地址必須經過BL51連接定位後才能確定。為了能夠在C51程序中直接對任意指定的存儲器地址進行操作,可以採用擴展關鍵字「at」、指針、預定義以及連接定位控制命令。在這些方法中,本人認為最簡單而有效的方法是用「 _at_ 」關鍵字來對指定變量存儲器空間絕對地址來指定。
  • 51單片機彙編指令的記憶方法
    這裡先介紹指令助記符及其相關符號的記憶方法。一、助記符號的記憶方法1 表格列舉法把44個指令助記符按功能分為五類,每類列表記憶。此處從略,請讀者自己總結。2 英文還原法單片機的操作碼助記符是該指令功能的英文縮寫,將縮寫還原成英語原文,再對照漢語有助於理解其助記符含義,從而加強記憶。
  • 關於單片機和嵌入式,它們的區別是什麼
    打開APP 關於單片機和嵌入式,它們的區別是什麼 信盈達科技 發表於 2020-03-06 16:42:00 單片機又是什麼?兩者有什麼區別和聯繫呢?針對兩者之間的問題小編整理了一篇文章,希望對大家理解兩者的基本概念,以及區別有所幫助。 1、從系統組成上區別,單片機由控制器、運算器、存儲器、輸入輸出設備構成,而嵌入式第一步需要結合具體的應用,考慮成本,性能,可擴展性,開發周期等各方面的要求,確定系統的主控器件後,加入微處理器,外圍硬體設備,嵌入式作業系統,應用程式組成。
  • 經驗分享:給孩子聽每分鐘60節拍的音樂
    益智音樂,除了大名鼎鼎的莫扎特,還有我喜歡的巴洛克音樂。巴洛克原意指形狀不規則的珍珠,是一種藝術形式,由於這種藝術風格的盛行後人稱之為巴洛克時期。這個時期出產的音樂作品就稱為巴洛克音樂。這個時期的代表人物有:巴赫、維瓦爾第和亨德爾。
  • JBL讓你感受每一個音樂節拍
    戴耳機聽歌和用其他聽音設備聽歌完全不同,因為大部分耳機都有隔音效果,當你帶上耳機之後,仿佛整個腦海中只剩下音樂旋律,聽不到更多嘈雜的聲音,因此我尤其喜歡在雨天聽歌,感覺那一瞬間,世界上只有我一個。也因為這樣,我選耳機的時候會格外注意,一定要挑選到品質上乘的,這樣才不會影響整個聽覺盛宴。
  • 一文看懂rtc實時時鐘和單片機時鐘的區別
    rtc實時時鐘和單片機時鐘的區別   實時時鐘是指給日期及時間計數器累加的時鐘,通常是32768Hz,系統時鐘是指單片機內部的主時鐘,給各個模塊提供工作時鐘的基礎,CPU時鐘是指經過CPU的PLL後將系統時鐘改變為CPU工作的時鐘。
  • 非正規的音樂節拍戰鬥:能量鼓點
    看過遊戲的背景介紹就知道這是一款音樂節拍戰鬥類遊戲,可在這裡奉勸大家別想得太高太遠,比如說聯繫到經典的《啪嗒砰》。抱著跟那款大作相比的心理的話,那只能是希望越大失望越大。
  • 睡覺也有黑科技,QQ音樂上線首個助眠音效「助眠節拍」
    最近,QQ音樂發布了全網首個助眠音效「助眠節拍」,通過音樂催眠黑科技,幫你快速邁進「速眠」時代。相比之前網絡上效果不佳,容易聽膩的白噪音、輕音樂,助眠音效可以讓你喜歡的任意歌曲,一秒變身「助眠神曲」,另外還附帶三大優勢,讓你快速進入睡眠狀態:一、獨有雙耳節拍功能,匹配睡眠腦波率首先要提的當然是QQ音樂獨有的助眠黑科技「雙耳節拍」,從生理層面解決問題!
  • 手把手教你用51單片機DIY音樂頻譜顯示器
    每當看到家裡的音箱功放上的幾排小燈,隨著播放的音樂如波浪般跳躍,或者在電腦上打開千千靜聽這個音樂播放軟體時,看到那動感的頻譜跟隨音樂節奏優美的舞動著時,不禁思緒萬千,要是自己某天能親手用普通的單片機DIY這麼一個東東,那將是多麼有成就感的事情,至少對我們電子愛好者來說
  • 單片機延時方法小結
    1 使用定時器/計數器實現精確延時本文引用地址:http://www.eepw.com.cn/article/201611/319842.htm單片機系統一般常選用11.059 2 MHz、12 MHz或6 MHz晶振。第一種更容易產生各種標準的波特率,後兩種的一個機器周期分別為1 μs和2 μs,便於精確延時。