當前位置:首頁 » 編程語言 » 十二個音符音樂c語言
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

十二個音符音樂c語言

發布時間: 2022-12-18 10:55:22

Ⅰ 如何用c語言編寫音樂歌曲

貌似很抽象,,有相關的硬體配置不

Ⅱ 急求高手啊,怎麼在c語言程序中寫一段音樂啊!!!!

編譯能通過---------- 編譯時把注釋去掉

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

struct song{ //定義一個歌曲結構
int id; //歌曲號
char title[20]; //歌曲名
char singer[20]; //歌手名
};

typedef struct song SONG; //把結構命名為 SONG

int main( void )
{
SONG songlist[100]; //定義一個存儲歌曲信息的列表,長100
int i=0,j;
int c;

clrscr();

while (i<=100) {
printf( "please enter the song's id, title and singer:\n" );

//輸入歌曲號 然後空格 輸入歌曲名 然後空格 輸入歌手名 然後回車

scanf( "%d%s%s", &songlist[i].id, songlist[i].title, songlist[i].singer);
i++;

//每次輸入完一條信息後,把列表中的歌曲信息全部列印出來看一下
printf("the songlist is below:\n\n");
for( j=0; j<=i; j++){
printf( "%d %s %s\n", songlist[j].id, songlist[j].title, songlist[j].singer );
}

printf("\n");

}

getch();
return 0;
}

或者是
#include "dos.h"
#include "stdio.h"
#define time 10000 /*預定義節拍長度 time(一拍)*/
#define time0 5000 /*預定義半節拍長度 time0*/
#define time1 15000 /*預定義1.5節拍長度 time1*/
#define time2 20000 /*預定義2節拍長度 time2*/
#define time3 30000 /*預定義3節拍長度 time3*/
#define _a 262 /*預定義低音音符1~7*/
#define _b 294
#define _c 330
#define _d 349
#define _e 392
#define _f 440
#define _g 494
#define a 523/*預定義中音音符1~7*/
#define b 587
#define c 659
#define d 698
#define e 784
#define f 880
#define g 988
#define a_ 1047/*預定義高音音符1~7*/
#define b_ 1175
#define c_ 1319
#define d_ 1397
#define e_ 2568
#define f_ 1760
#define g_ 1976
main()
{
int i=0,j;
unsigned milliseconds;
int music[1000]={
f,time,
f,time,
g,time0,
f,time,
f,time,
g,time0,
f,time,
g,time,
a_,time,
g,time,
f,time,
g,time0,
f,time0,
d,time,
c,time,
a,time,
c,time,
d,time,
c,time,
c,time0,
a,time0,
_g,time,
f,time,
g,time,
a_,time,
g,time,
f,time,
g,time0,
f,time0,
d,time1,
c,time,
a,time,
c,time,
d,time,
c,time,
c,time0,
a,time0,
g,time1,
f,time,
f,time,
g,time1,
f,time,
f,time,
g,time1,
c,time,
d,time,
g,time0,
f,time0,
c,time,
d,time,
g,time0,
f,time0,
d,time0,
d,time,
c,time3
}
;
while(music[i]!='\0')
{
if(music[i]<=494) /*判斷不是低音*/
{
milliseconds=music[i+1];

for(j=1;j<8;j++)
{
switch(j)
{
case 1: sound(a);
delay(milliseconds);break;
case 2: sound(b);
delay(milliseconds);break;
case 3: sound(c);
delay(milliseconds);break;
case 4: sound(d);
delay(milliseconds);break;
case 5: sound(e);
delay(milliseconds);break;
case 6: sound(f);delay(milliseconds);break;

case 7: sound(g);
delay(milliseconds);break;
}
nosound();
}
}
if(music[i]>494&&music[i]<988) /*判斷不是中音*/
{
milliseconds=music[i+1];
for(j=1;j<8;j++)

{
switch(j)
{
case 1: sound(_a);
delay(milliseconds);break;
case 2: sound(_b);
delay(milliseconds);break;
case 3: sound(_c);
delay(milliseconds);break;
case 4: sound(_d);
delay(milliseconds);break;
case 5: sound(_e);
delay(milliseconds);break;
case 6: sound(_f);
delay(milliseconds);break;
case 7: sound(_g);
delay(milliseconds);break;
}
nosound();
}
}
if(music[i]>988) /*判斷不是高音*/
{
milliseconds=music[i+1];
for(j=1;j<8;j++)
{
switch(j)
{
case 1: sound(a_);
delay(milliseconds);break;
case 2: sound(b_);
delay(milliseconds);break;
case 3: sound(c_);
delay(milliseconds);break;
case 4: sound(d_);
delay(milliseconds);break;
case 5: sound(e_);
delay(milliseconds);break;
case 6: sound(f_);
delay(milliseconds);break;
case 7: sound(g_);
delay(milliseconds);break;
}
nosound();
}
}
nosound();
i=i+2;
}
}

Ⅲ 如何用c語言編出能用鍵盤敲出音樂的的程序

下面用beep函數發音,按鍵 1,2,3,4,5,6,7,8 對應 多來米發少。。。
按換行鍵結束。0.3秒一個音,不要按得太快。

#include <windows.h>
#include <stdio.h>
#include <stdlib.h>

void main()
{
char p;
int i=0;
printf("input 12345678..\n");
while ( i < 50 ){
p = getch();
if (p == '\r') break;
switch(p-'0'){
case 1: Beep(523,300);break;
case 2: Beep(587,300);break;
case 3: Beep(659,300);break;
case 4: Beep(698,300);break;
case 5: Beep(784,300);break;
case 6: Beep(880,300);break;
case 7: Beep(980,300);break;
case 8: Beep(1060,300);break;
default: break;
}
i++;
}
exit(0);
}

Ⅳ 十二音符是哪些

學音樂必備,基礎樂理知識詳解
樂音體系
1. 四種性質:高低,長短,強弱和音色
2. 振動不規則,音的高低聽起來不明顯,叫做「噪音」。
3. 樂音體系:音樂中所使用的基本的樂音的總和。
4. 音級:樂音體系中的各音。(專指樂音)
5. 音列:按一定的音高關系和高低次序,由低到高或由高到低排列。
6. 半音:樂音體系中,音高關系的最小計量單位。
7. 全音:半音和半間之和
8. 音名:CDEFGAB 也叫基本音級,(在中世紀已經形成,當時差不多是唯一的音級。現在發展到八十多個。鋼琴五十二個白鍵,一個音級到下一個的距離為「八度」,do re mi fa sol la si (這些音名多用於歌唱,故叫唱名。
9. 變化音級:將基本音級加以升高或降低得來的音
10. 升級音:將基本音級升高半音,如升C、升D、相反是降級音
11. 重升音級:將基本音級升高全音,如重升C、重升D,等,反之為重降。
12. 音組:樂音體系中八十多個音用來區分音分為若干組,它的標記是用小寫字母並在右上方加數字「1」來表示。如:c1,d1,e1,f1,比小字一組高的各組,由低到高名為「小字二組」、「小字三組」、「小字四組」、「小字五組」。依次寫上數字「2」、「3」、「4」、「5」。比小字一組低的各組,由高到低依次定名為「小字組」、「大字組」、「大字一組」、「大字二組」。小字組用小寫字母,大字組用大寫字母。P10 圖
13. 標准音:目前國際通用的標准高度是每秒鍾振動440次的a音,即以小字一組的a 為「標准音」。樂音體系中的各音級,其高度都有一定的標准。
14. 中央C:位於樂音體系總音到中央的小字一組的c1。每秒振動約261次。
15. 定律法:確定樂音體系中各音的絕對准確高度,人們在實踐中創造了各種定律法。如十二平均律,五度相生津、純律等。
16. 十二平均律:將一個純八度(如c1-c2)分成十二個均等的部分。
17. 等音:音高相同而記法和意義不同的音。如升C、降D,重升B,這三個音在鋼琴上音高是完全相同的。但記法和意義不同。可以看出,除了升G和降A只有一個等音外,其他各音都有兩個等音。
18. 復合音:平時聽到某一音,一般由許多個音組合而成的。它的產生是由於發音體(以弦為例)振動時,不僅全段振動,它的各部分(二、三、四、五段等)也同時在振動。
19. 基音:由全弦振動產生的音,聽的最清楚的
20. 泛音:由發音體各部分振動而產生,不易被聽出的
21. 分音:構成復合音的各音
22. 音域:從低音到高音,音列的總范圍。
23. 音區:音域中的一部分。根據音色的不同分為高音區、中音區和低音區。小字組、小字一組、小字二組被認為是中音區,小字三,小字四,五為高音區,大字組,大字一組和二組為低音區。
二. 五線譜
1. 記譜法:用書面的形式將音樂記錄下來。
2. 音符:表示音的進行的符號。
3. 休止符:表示音的休止的符號。
4. P19缺。
5. 音符和休止符的時值關系:較大的音符或休止符,和它最近的較小的音符或休止符之間的時值比例是2:1,也就是一個全音符等於兩個二分音符,一個四分休止符等於兩個八分休止符
6. 增長基本音符
7. 附點:記在音符和休止符右邊的小圓點。一個附點表示增長原有音符或休止符值的二分之一;帶有兩個附點叫雙附點,表示增長原音符和休止符時值的四分之三。
8. 延長記號:半圓形弧線中央加一小圓點。表示按作品的風格或演奏者的意圖自由增長該音符或休止符的時值。在多符干記譜法中,延長號也可以記在音符或休止符下面。弧背下彎。
9. 延音線:記在音高相同的兩個音符上的弧線。表示將兩個音唱成一個音。延音線可以連續使用。
10. 五線譜:在五線譜上音的高低是根據音符符頭在五線譜上的位置而定,位置越高音越高,位置越低音越低。音符符頭可以記在線上和間內。
11. 加線:為了記錄更高或更低的音,在五線譜的上面和下面還要加上許多短線。分為:上加線和下加線。
12. 連譜號:如果音樂作品需要寫在數行五線譜上,那麼數行五線譜還要用「連譜號」連結起來。包括起線和括線兩個部分。
13. 譜號:G譜號,表示五線譜上的二線等於g1.其它各線,音名如圖P21。F譜號,它表示五線譜的第四線等於F。其它各線,間音名如圖P20.C譜號,五線譜的第三線等於代表C1,記在五線譜的第四線上叫做「次中音譜號。」
14. 變音記號:表示音的升高或降低的記號。長半音,降半音,升全音,降全音。還原音。(都是針對基本音來升降的)可以記在線上和間內。
15. 調號:記在譜號後面的變音記號。在一個調號後對所有的音組都有效。例:P23所有的F都升高半音,所有的B和E都要降半音。
16. 臨時變音記號:記在音符前的變音記號,它的作用僅表示變音記號後面,一小節之內同高度的音有效。但用延音線連接起來的下一小節例外。在多個聲部中只對一個聲部有效。
17. 音符的正確寫法:單符干記譜時,在三線以上,符干下。反之上。在第三線上,上下都可以。多符頭的情況下,以離第三線最遠的為准。(單聲部永遠用單符干記譜,在多聲部音樂中,只有在節奏相同情況才用單符干記。雙符干記時,高聲部干朝上。低聲部朝下。
18. 休止符的寫法,在單符乾的記法中,休止符永遠寫在靠近三線的地方。
19. 符點音符和符點休止符的符點:永遠記在五線譜的間內。符點音符的附點要靠近符頭。
20. 省略記號:移高八度和移低八度用記號8——,記在五線譜的上面,表示虛線以內的音,移高八度。記在下面則表示降低八度。讀譜方便,避免多加線。
21. 重復八度記號
22. 長休止記號:記在五線譜的第三線上,上面的數目字表示休止的小節數。多在管弦樂分譜中使用。
23. 震音記號:用斜線標記,有兩種情況,表示一個音或和弦迅速均勻重復時,斜線記在符幹上。斜線的數目與演奏時音符符尾的數目相一致。
24. 反復記號:表示樂曲的某一部分或全部重復演奏。某一旋律型重復時,用斜線表示。斜線數目與符尾數目相同。一次或多次重復某一小節時,用記號除法的詞來表示。從一小節到整首樂曲的重復,可用︱: :︱來表示。表示記號以內的部分要重復演奏。不同的部分,可以用括弧括出,並記心阿拉伯數字。表示第幾次反復時使用。一
25. 連音奏法:
26. 斷音奏法:
27. 保持音奏法:
28. 琵琶音奏法:
29. 滑音奏法:
三. 節奏 節拍
1. 節拍:有強有弱的相同時間片斷,按照一定的次序循環重復(例:列隊行進中的步伐,體現了這特點;左腳強,右腳弱,每一步時間片斷相等,按照一強一弱的次序循環重復。每一時間片斷,叫做「單位拍」就是一拍。帶強音的單位拍,叫做「強拍」。
2. 節奏:用強弱組織起來的音的長短關系。列隊行進中的鼓點,體現了有強、有弱、有長、有短的許多音的序列組合。
3. 拍子:節拍的單位拍,用固定的音符來代表,叫做「拍子」。單位拍可以用各種不同的單純音符來代表。如二分音符,四分音符等等。
4. 拍號:表示拍子的記號。拍號用分數的形式標記。分子表示幾拍,分母表示以什麼音符為一拍。
5. 小節:在樂曲中,由一個強拍到次一強拍之間的部分。
6. 小節線:永遠作為強拍的標記寫在強拍的前面。穿過五線譜使小節彼此分開的垂直線。7. 弱起小節:樂曲由弱拍部分開始。是不完全小節。結尾一般也是不完全小節,兩個不完全小節合在一起成為一個完全小節。
8. 單拍子:第小節有兩拍或三拍的拍子。特點是只有強拍和弱拍。
9. 復拍子:由完全相同的單拍子結合在一起。
10. 混合拍子:由單位拍相同的兩拍和三拍的單拍子,按照不同的次序結合。
11. 變換拍子:各種拍子交替出現。
12. 一拍子:是有強拍,沒有弱拍。
13. 散拍子:拍子的強音位置和單位拍的時值都不是十分明顯,也不固定。
14. 音值組合法:把各種時值的音符,按照拍子的結構特點進行組合。
15. 節拍中的強弱關系:拍子的強弱關系同樣體現在節奏中,兩個音,第一個強,第二個弱。三個音為強,弱,弱。四個音為強,弱,次強,弱。平均五個音有兩種可能:強,弱,次強,弱,弱;強,弱,弱,次強,弱。 (一個類似的三拍子,每拍分為平均兩個音,其強弱關系就遵循平均六個音的可能。強,弱,次強,弱,次強,弱。這些節奏的強弱關系可以出現在一拍中,也可以出現在更小的部分中。如半拍、四分之一拍之中。
16. 音的強弱也用文字、字母、記號標記。F\代表強、F越多代表音越強,P越多越弱。MF表示次強。MP表示次弱。漸強,漸弱。
17. 切分音:如一個音從拍子的弱部分開始,持續到後面較強的部分,這時後面的強音便移到前面的弱部分。切分音都要強奏。
四. 音程
1. 音程:在樂音體系中,兩音之間的高低關系
2. 冠音、根音:音程中,高的音叫冠音,低的叫根音。
3. 旋律音程:音程中的兩個音,先後發聲。依照方向,分上行、下行、平行三種。
4. 音程的度數:音程在五線譜上包括的線與間的數目。如:同一線上或間內構成的音程叫一度。相鄰與音構成的叫三度。
5. 單音程:八度以內的音程。
6. 復音程:超過八度的。
7. 自然音程:純音程、大音程、小音程、增四度和減五度。
8. 變化音程:由自然音程變化而來。
9. 協和音程:自然、純音程。
10. 不協和音程:大、小二、大、小七度、
11. 音程的轉位:音程的根音和冠音相互顛倒。
12. 等音程:兩個音程孤立聽時,音響效果完全相同,但在樂曲中的意義和寫法不同。
五. 和弦
1. 和弦:按照三度音程關系或非三度音程關系、三個以上的音的結合。
2. 三和弦:按照三度音程關系馬疊置起來的三個音所構成的和弦。
3. 音程排列用1、3、5 來表示 。
4. 七和弦:按照三度音程關系疊置起來的四個音所構成的和弦。用1、3、5、7來表示 。常用的和弦有:大小七和弦、小小開和弦、減小七和弦。減減七和弦。
5. 原位和弦:和弦的根音為低音的和弦
6. 轉位和弦:以和弦的三音、五音、或七音為低音的和弦。轉位時,原來的根音、三間、五音、七音等名稱不變。
7. 等和弦:兩個和弦孤立起來聽時,具有完全相同的音響效果,但在音樂中的意義不同,寫法也不同。
8. 構成和識別和弦的方法:構成和識別和弦,熟記各種原位和弦、轉位和弦的音程結構以及和弦中各音之間的相互關系是十分重要的。如:以D為低音構成大三和弦的原、轉位。按照和弦的音程結構,原位大三和弦是大三度加小三度。那麼以D為低音的大三和弦原位,應是D#FA。大三和弦第一轉位的音程結構是小三度加純四度P89
六. 調及調關系
1. 調:由基本音級所構成的音列的音高位置。
2. C調:由開個基本音級所構成的調。它的調號標記是沒有升降號。
3. G調:將七個基本音級的音,都移高純五度,也就是把C調中的音都移高純五度。由G音開始,將F音改為#F。就叫做G調。(為什麼要把F改為#F?從縱的關系看,B到F是減五度,必須把F升高半音,才能成為純五度;從橫的關系看,由C音開始,按高低次序排列起來的開個基本音級。相鄰之間的關系是:大二度、大二度、小二度、大二度、大二度、大二度。因此,在G調中,只有將F改為#F,才能符合基本音級所形成的音列的音程結構。4. D調:將C調移高一個大二度,也就是將G調移高一個純五度,由D音開始,這就是D調。D調的調號標記是兩個升號,# F和#C。
24. F調:假如將C調移低一個純五度,由F音開始,將B改為bB,其調號是一個降號,降B
25. 基本調:由七個基本音級構成的調,C調。由基本調開始,向下,按照純五度連續相生,依次可以產生F調/bB/P95
26. 降號調:所有用降號表示的調叫降號調。(其書寫有固定的位置和次序。都是照純五度向上或向下依次增加。出現的次序是對稱的、相反的。由於譜表的不同,調號在不同譜表上的位置也不同。如圖P96
27. 等音調:根據十二平均律所有半音相等的理論,不僅產生了等音、等音程、等和弦,還產生了等音調。就是兩個調之間的所有音都是等音關系。如前面說的#F調和b G、#C和 b D調、等都是等音調。(等音調雖然音高相同,但在音樂表現中,卻有著不同的表現作用)。
28. 調的五度循環:將各調按純五度關系排列起來。P100,可以無窮盡地繼續下去。但由於等音關系,有條件使調的五度循環通過等音調構成一個圓圈。從圖中可以看到,基本調、升號調、降號調,加在一起共有十七個之多,但就鋼琴上的音高而言,實際只有十二個。
29. 調關系:調與調之間的關系。有遠有近。區分調關系的遠近主要根據兩調之間共同音的多少。兩調之間共同音越多,調的關系就越近。
30. 近關系調、遠關系調:在調的五度循環中,除了相鄰的兩個調是近關系調外,其它各調都叫做遠關系調。
七. 調式
1.調式:幾個音(3-7個)按照一定的關系(高低、穩定,不穩定)聯結在一起,構成一個體系,並心某一個音為中心的體系。是音樂中音高關系的組織基礎,是音樂表現的重要手段。
2.穩定不穩定的關系:在一定條件下,某些音具有支柱的作用,給人心穩定的感覺。
調性:調式所具有的特性。
3.主音:調式中最穩定的音。(樂曲中的結束音,一般都是主音,很少例外。
4.音階:調式中的音,從主音到主音,按高低次序排列起來的。由低到高叫「上行」。由高到低,叫「下行」。
5.大調式:簡稱大調,是一種由七個音構成的一種調式,其穩定音合在一起構成一個大三和弦,不穩定音以二度音程關系傾向於穩定音,構成旋律進行的基本音調。根本特徵表現為主音上方的大三度。分為三種:自然大調、和聲大調和旋律大調。
6. 小調式:簡稱小調,也是由七個音構成的調式,但其穩定音合起來成為一個小三和弦。和大調一樣,不穩定音以二度音程關系傾向於穩定音。
7. C大調:是以C為主音,C是第1級。a 小調,是以a 為主音,a 是第1級。
8. 五聲調式:按照純五度排列起來的五個音構成的調式。這五個音由低到高依次定名為:宮徵商羽角
9. 調與調式:一各種調式,不管是大調、小、五聲,都可以在一種調中構成。
10. 關系大小調:調號相同的大小調,叫做關系大小調。
11. 同主音調:主音相同的大小調。同主音大小調屬於遠關系調,因為同主音大小調的調號,永遠差三個升降號。
12. 確定調式:首先依靠聽覺,但也可以利用客觀特徵。如旋律中的音組織及表示音組織的調號、和聲調式、旋律調式中臨時變音記號,以及樂曲的結束音、結束和弦等。
八. 調式中的音程及和弦
1. 調式中的音程:音程與調式的結合
2. 穩定音程與不穩定音程及不穩定音程的解決
3. 確定一個音程可能屬於哪些 調式
4. 音程在音樂中表現中的應用
5. 調式中的和弦:和弦和調式相結合
6. 屬七和弦:屬音上構成七和弦
7. 確定一個和弦可能屬於哪些大小調
九. 轉調
1. 轉調:從一個調轉換到另一個調或從一種調式換到另一種調式。2. 轉調的意義:根據音樂內容的需要,為了求得更為豐富的調與調式。這種不同的調和調式之間的相互作用,就象調式中的和弦一樣,主調(主和弦)起著中心的穩定作用,其他調(其它和弦)為不穩定調,起著不穩定作用。另外,不同的調和調式,有不同的色彩,轉調也起著改變調及調式色彩的重要作用。
3. 轉調的類別:過渡轉調:發生在音樂段落的結束處,使新調得到充分的鞏固和肯定。哲轉調:不是發生在音樂段落的結束處,而是在段落的中間,並且時間短暫,新調沒有得到充分鞏固,很快又轉回到原調和他調。近轉調、遠轉調。
4. 近關系調中的各調式。
十. 調式變音及半音音階
1. 調式變音:在七聲自然調式中,將調式的自然音級加以半音變化所獲得的音。
十一.移調
1.移調:將音樂作品的全部或部分,由一個調移到另一個調,叫做移調。
2.移調的方法:⑴按音和移調⑵更改調號⑶更改譜號
十二.裝飾音
1. 裝飾音:用來裝飾旋律主要音的某些特殊記號和小音符。大部分由時值較短的輔助音構成。
2. 倚音:
3. 迴音:
4. 波音:
5. 顫音:
十三.關於旋律的基本知識
1. 旋律:用調式關系和節奏、節拍關系組合起來的,具有獨立性的許多音的單聲部進行。
2. 分類:聲樂旋律與器樂旋律
3. 主調音樂:旋律在多聲部音樂中,是以不同的方式進行組合的。以一個聲部為主,其他聲部為副,叫做主調音樂。
4. 復調音樂:兩個以上具有獨立意義的旋律,協調地結合在一起
5. 旋律進行的方向及高潮分為上行、下行和平行,可以呈直線型或曲線型。發展中,情緒不斷高漲所達到的頂點,叫高潮。
6. 旋律的分段:和語言一樣,根據呼吸、停頓,分成許多個相互聯系的部分,這每一部分就叫做一個段落。段落有大有小。段落與段落之間,往往帶有休止符或長音。
7. 終止:用來結束段落的某幾個音或和弦,叫做終止。終止總是位於停頓之前。
8. 完全終止:旋律結束在主和弦的根音上。
9. 半終止:旋律結束在主和弦的三音或五音上。
10. 一段體、兩段體和三段體。

Ⅳ 音樂的十二個音是什麼音 十二個大三和弦又是啥

十二個音為c#cD#DE#FFG#GA#AB,十二個大三和弦這十二個音為根音構成的大三和弦

Ⅵ 如何用c語言編寫歌曲

很簡單的。
計算機發聲原理:
聲音有三個特性:響度、音調、音色。
響度,這個非常好理解。就是我們感覺到的聲音的大小。具體點說就是由「振幅」決定,振幅越大響度越大。一般計量響度的單位是分貝,dB。
音調,這個就是聲音的高低,由「頻率」決定,頻率越高音調越高。頻率單位是赫茲,符號Hz。
音色,在生活當中,我們會發現各種物品發出的聲音的特點是不一樣的,如二胡和笛子。聲音的特性就是音色。而決定聲音的音色是由於物體本身的材料、結構。
對於我們的計算機而言。發聲的設置都是固定了的。要麼要計算機上的那個喇叭,那麼是外接的音響等。
現在這里對計算機上的那個喇叭用TurboC2.0進行編程,使之發出動聽的音樂《梁祝》。
第一步:定義《梁祝》的每一個音符的頻率和時間,將定義好的頻率和時間寫入文件或者保存在數組裡面。如果僅僅是寫一兩個程序自己玩玩的話,那直接保存在數組裡面就可以了。如果你想自己寫個播放器的話,那你先自己定義一種音樂格式文件(類似.mp3、.wav這種文件,這里暫時把這個文件定為.mymusic),將《梁祝》每個音符的頻率、時間寫入這個自定義的音樂格式文件liangzhu.mymusic。
第二步:完成了liangzhu.mymusic文件的定義後,我們要做的事情就是讀文件,控制喇叭發聲。這個具體可以參照現有的資料。這里需要事先寫幾個函數,讀文件的函數,暫停函數,頻率對照函數等等。
第三步,將上面的程序鏈接起來,就OK了。
將上面的步驟優化下,一個DIY的音樂播放器就成功了。
我上面說的只是控制了聲音的頻率和時間,其實還可以控制響度。對於一些特殊的設備,控制音色也不是不可能。
這種程序我在大一的時候寫過。現在想起來不難的。
主要是對C語言是否熟練,當然,你想要實現一個播放器,那你途中會遇到很多困難的。
祝你好運!

Ⅶ c語言寫音樂,我要一個准確的源代碼,謝謝

能不能具體點呢?是像寫五線譜那種寫mid呢,還是??

#include<dos.h>
void main(void)
{
unsigned FREQUENCY[]={392,392,440,392,523,494,
392,392,440,392,587,523,
392,392,784,659,523,494,
440,698,698,659,523,587,523};
/*此處的FREQUENCY為樂譜每一個音符的頻率,替換成你的譜子即可*/
unsigned DELAY[]={375,125,500,500,500,1000,
375,125,500,500,500,1000,
375,125,500,500,500,1000,
375,125,500,500,500,1000};
/*此處DELAY為每個音符播放的時間,專業術語貌似是拍子速度吧!*/
int CIRCLE;/*譜子共有幾個音符*/
for(CIRCLE=0;CIRCLE<25;CIRCLE++)
{
sound(FREQUENCY[CIRCLE]);
delay(DELAY[CIRCLE]);
nosound();
}

}

TC 3.0編譯通過!

Ⅷ 你能用C語言寫出一首歌嗎

/*本文提供一個C語言音樂的音階?音名及頻率速查程序?運行時,
鍵入音階序號(0~6),屏幕即顯示該音階之下的音名及頻率對照表
,然後,第一遍演奏七個基本音符C?D?E?F?G?A?B,第二遍演奏
包含升降音在內的十二個音符C?C+?D?D+?E?F?F+?G?G+?
A?A+?B,每演奏一個音符均有圖標同步指示?本程序既可作為C語
言音樂編程的輔助工具,也對一般發聲採集頻率數據具有參考作用?
程序在Turbo C2.0下通過*/

#include <conio.h>
#include <dos.h>

int main()
{
int i, k;
long j;
static char m[] = "C C+ D D+ E F F+ G G+ A A+ B";
static unsigned n[][12] =
{
{65, 69, 73, 78, 82, 87, 92, 98, 103, 110, 116, 123},
{131, 139, 147, 156, 165, 175, 185, 196, 208, 220, 233, 247},
{262, 277, 294, 311, 330, 349, 370, 392, 415, 440, 466, 494},
{523, 554, 587, 622, 659, 698, 740, 784, 831, 880, 932, 988},
{1046, 1109, 1175, 1244, 1318, 1397, 1480, 1568, 1661, 1760, 1865, 1976},
{2039, 2160, 2288, 2422, 2565, 2716, 2877, 3047, 3226, 3417, 3618, 3832},
{4058, 4297, 4551, 4819, 5104, 5405, 5724, 6061, 6419, 6798, 7166, 7625}
};
redo1: clrscr();
gotoxy(22, 13);
printf("請鍵入音階序號(0~ 6,-1退出):");
scanf("%d", &k);
if (k < - 1 || k > 6)
goto redo1;
while (k != - 1)
{
clrscr();
gotoxy(26, 10);
printf("C語言音名及頻率對照表(音階%d)", k);
gotoxy(8, 12);
printf("音名 %s", m);
gotoxy(8, 13);
printf("頻率");
for (i = 0; i <= 11; i++)
{
gotoxy(14+5 * i, 13);
printf("%d", n[k][i]);
}
for (i = 0; i < 11; i += 2)
{
if (i == 6)
i--;
sound(n[k][i]);
gotoxy(14+5 * i, 15);
puts("↑");
for (j = 0; j < 1800000; j++)
;
}
for (i = 0; i <= 11; i++)
{
sound(n[k][i]);
gotoxy(14+5 * i, 16);
puts("↑");
for (j = 0; j < 900000; j++)
;
}
nosound();
getch();
redo2: clrscr();
gotoxy(22, 13);
printf("請鍵入音階序號0~ 6,-1~ 退出):");
scanf("%d", &k);
if (k <= 1 || k > 6)
goto redo2;
}
}

//***********************************************************************************

//***********************************************************************************

/*本文提供一個C語言音樂的音階?音名及頻率速查程序?運行時,
鍵入音階序號(0~6),屏幕即顯示該音階之下的音名及頻率對照表
,然後,第一遍演奏七個基本音符C?D?E?F?G?A?B,第二遍演奏
包含升降音在內的十二個音符C?C+?D?D+?E?F?F+?G?G+?
A?A+?B,每演奏一個音符均有圖標同步指示?本程序既可作為C語
言音樂編程的輔助工具,也對一般發聲採集頻率數據具有參考作用?
程序在Turbo C2.0下通過*/

#include <conio.h>
#include <dos.h>

int main()
{
int i, k;
long j;
static char m[] = "C C+ D D+ E F F+ G G+ A A+ B";
static unsigned n[][12] =
{
{65, 69, 73, 78, 82, 87, 92, 98, 103, 110, 116, 123},
{131, 139, 147, 156, 165, 175, 185, 196, 208, 220, 233, 247},
{262, 277, 294, 311, 330, 349, 370, 392, 415, 440, 466, 494},
{523, 554, 587, 622, 659, 698, 740, 784, 831, 880, 932, 988},
{1046, 1109, 1175, 1244, 1318, 1397, 1480, 1568, 1661, 1760, 1865, 1976},
{2039, 2160, 2288, 2422, 2565, 2716, 2877, 3047, 3226, 3417, 3618, 3832},
{4058, 4297, 4551, 4819, 5104, 5405, 5724, 6061, 6419, 6798, 7166, 7625}
};
redo1: clrscr();
gotoxy(22, 13);
printf("請鍵入音階序號(0~ 6,-1退出):");
scanf("%d", &k);
if (k < - 1 || k > 6)
goto redo1;
while (k != - 1)
{
clrscr();
gotoxy(26, 10);
printf("C語言音名及頻率對照表(音階%d)", k);
gotoxy(8, 12);
printf("音名 %s", m);
gotoxy(8, 13);
printf("頻率");
for (i = 0; i <= 11; i++)
{
gotoxy(14+5 * i, 13);
printf("%d", n[k][i]);
}
for (i = 0; i < 11; i += 2)
{
if (i == 6)
i--;
sound(n[k][i]);
gotoxy(14+5 * i, 15);
puts("↑");
for (j = 0; j < 1800000; j++)
;
}
for (i = 0; i <= 11; i++)
{
sound(n[k][i]);
gotoxy(14+5 * i, 16);
puts("↑");
for (j = 0; j < 900000; j++)
;
}
nosound();
getch();
redo2: clrscr();
gotoxy(22, 13);
printf("請鍵入音階序號0~ 6,-1~ 退出):");
scanf("%d", &k);
if (k <= 1 || k > 6)
goto redo2;
}
}

另外還有一個惡搞版的

===== 雙截棍(C語言版) =====
樓主hongyou(鴻猷)2002-04-01 01:01:33 在 擴充話題 / 灌水樂園 提問
軟考室的煙味彌漫 坐滿了程序員
室裡面的監考官 系分 已三年
出上午試題的老師 練CPU 耍單片機
硬體功夫最擅長 還會邏輯門三極體

他們學生我習慣 從小就耳濡目染
什麼軟體跟網路我都耍的有摸有樣
什麼語言最喜歡 C++面向對象
想要去英倫美帝 學圖靈諾伊曼

怎麼編 怎麼編 離散數學是關鍵
怎麼編 怎麼編 數值分析也較難
怎麼編 怎麼編 數據結構最重要
演算法不學莫後悔 死的難看

一段代碼寫好 一個左子樹 右子樹
一句不會遞歸有危險 不停調用
一個優秀的庫函 一用好多年 拷貝好帶身邊

怎麼編 怎麼編 我學會動態規劃
怎麼編怎麼編 分支限界的難關
怎麼編怎麼編 已被我一腳踢開
哼 快使用C語言 哼哼哈兮
快使用C語言 哼哼哈兮
編程之人切記 NP無敵
是誰在練匯編 背指令集

快使用C語言 哼哼哈兮
快使用C語言 哼哼哈兮
如果我會分治 快速解題
熟用堆棧隊列 系統分析

快使用C語言 哼
我用VB描述 哼

如果我的答案能解決您的問題,請採納為最佳答案,謝謝!

Ⅸ 簡譜12個基本符號

1、重升記號(×)表示將基本音級升高兩個半音(一個全音)。

2、重降記號(bb)表示將基本音級降低兩個半音(一個全音)。

3、升記號(#)表示將基本音級升高半音。

4、降記號(b)表示將基本音級降低半音。

5、還原記號(ヰ)表示將已經升高或降低的音還原。

6、pp(很弱)

7、 p(弱)

8、mp(中弱)

9、 mf(中強)

10、 f(強)

11、 ff(很強)

12、 sf(極強)

(9)十二個音符音樂c語言擴展閱讀

簡譜,有字母簡譜和數字簡譜兩種。其起源於18世紀的法國,後經德國人改良,遂成今日之貌。

一般所稱的簡譜,系指數字簡譜。數字簡譜以可動唱名法為基礎,用1、2、3、4、5、6、7代表音階中的7個基本級,讀音為do、re、mi、fa、sol、la、ti(中國為si),英文由C、D、E、F、G、A、B表示,休止以0表示。每一個數字的時值名相當於五線譜的4分音符。