如何在Python3項(xiàng)目中利用PySynth制作音樂(lè)?相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。

樂(lè)理
聲音:物體振動(dòng)產(chǎn)生,振動(dòng)次數(shù)越多,音越高;振動(dòng)次數(shù)越少,音越低
可聞:人耳可以聽(tīng)到的聲音在每秒16-2000此左右 樂(lè)音:振動(dòng)規(guī)則產(chǎn)生,聽(tīng)起來(lái)高低明顯
噪音:振動(dòng)不規(guī)則產(chǎn)生,聽(tīng)起來(lái)高低不明顯
音樂(lè):將聲音通過(guò)藝術(shù)形象表達(dá)人們的思想感情
音階:do、re、mi、sol、la、(do)
調(diào)性:C、D、E、F、G、A、B
安裝
pip3 install pysynth
示例
import pysynth # 例1:C大調(diào) song1 = [ ['c',4],['d',4],['e',4],['f',4],['g',4],['a',4],['b',4],['c5',2],['r',1], ['c3',4],['d3',4],['e3',4],['f3',4],['g3',4],['a3',4],['b3',4],['c4',2],['r',1], ['c1*', 1], ['c2*', 1], ['c3*', 1], ['c4*', 1], ['c5*', 1], ['c6*', 1], ['c7*', 1], ['c8*', 1], ] pysynth.make_wav(song1, fn = "linuxidc.com.wav")
在當(dāng)前目錄下生成linuxidc.com.wav文件。

在Linux終端輸入以下命令試聽(tīng)一下
[linuxidc@localhost www.linuxidc.com]$ aplay -D plughw:0,0 linuxidc.com.wav

試下周杰倫的晴天,bmp是67下每分鐘:
import pysynth
songx=(('e3',8),('d3',8),('f3',8),('e3',4),('c3',8),('g3',8),('b3',8),('c4',8),('b3',8),('c3',8),('c3',4),('c3',8),('a3',8),('a3',8),
('r',16),('a3',16),('g3',8),('g3',4),('g3',8),('f3',8),('e3',8),('d3',8),('e3',8),('f3',8),('e3',2.25),('e3',8),('f#3',8),('g#3',8),
('e3',4),('f3',8),('g3',8),('b3',8),('d4',8),('b3',8),('c4',8),('c4',6),('c4',16),('c4',8),('g3',8),('g3',8),('a3',8),('g3',8),('f3',8),
('a2',8),('b2',8),('c3',8),('d3',8),('e3',8),('d3',3),('e3',8),('c3',2))
pysynth.make_wav(songx, bpm=67, repeat=0, fn="linuxidc.wav")
隨機(jī)生成中國(guó)風(fēng)音樂(lè)旋律
import pysynth
import numpy as np
import re
#先限定音符12356 中國(guó)風(fēng)五聲調(diào)式 這樣聽(tīng)起來(lái)比較自然
notes=np.array(["c4","d4","e4","g4","a4",])
#音符時(shí)值
durations=np.array([1,2,4,-2,-4,-8])
#隨機(jī)生成音符 重音穿插其中
sn=[]
for t in range(16):
n=np.random.randint(0,len(notes))
note=notes[n]+"*"
sn.append(note)
for i in range(np.random.randint(3,5)):
note0=notes[np.random.randint(0,len(notes))]
sn.append(note0)
#隨機(jī)生成音符時(shí)值序列 形成長(zhǎng)短參差變幻的節(jié)奏
dn=[]
for i in range(len(sn)):
duration=durations[np.random.randint(0,len(durations))]
nn=sn[i]
dn.append(duration)
#將音符和時(shí)值合并成旋律
melody=tuple(zip(sn,dn))
print(melody)
#將樂(lè)譜合成到聲音文件
pysynth.make_wav(melody,fn =r"linuxmi.com.wav")
print("ok")備注:
'song' 是一個(gè)被定義的列表或元組,格式是這樣 ['音', 長(zhǎng)度]
音符是'a','g'這些; 升半音以 '#' 表示,降半音以 'b' 表示;以octave 結(jié)束 (默認(rèn)為四分音符);asterisk 在最后代表重音; 'r' 是空.
音的長(zhǎng)度用數(shù)字表示:1=全音符; 2=二分音符; 4=四分音符, 等.
浮點(diǎn)音符寫(xiě)法:
1.33 = -2 = 二分浮點(diǎn)音符
2.66 = -4 = 四分浮點(diǎn)音符
5.33 = -8 = 八分浮點(diǎn)音符
一些參數(shù):
節(jié)奏:每分鐘節(jié)拍數(shù); bpm = 95
八度轉(zhuǎn)變 (neg. 降八度; pos. 升八度); transpose = 0
音符間停頓 (0. = 連音 ; 0.5 = 斷音); pause = 0.05
Volume boost:音量變高 (1. = 音量無(wú)變化); boost = 1.2
Output file name 輸出文件名;fn = 'pysynth_output.wav'
其他參數(shù):
Influences the decay of harmonics over frequency. Lowering the value eliminates even more harmonics at high frequencies.
Suggested range: between 3. and 5., depending on the frequency response of speakers/headphones used
harm_max = 4.
看完上述內(nèi)容,你們掌握如何在Python3項(xiàng)目中利用PySynth制作音樂(lè)的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計(jì)公司行業(yè)資訊頻道,感謝各位的閱讀!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線(xiàn),公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。
分享名稱(chēng):如何在Python3項(xiàng)目中利用PySynth制作音樂(lè)-創(chuàng)新互聯(lián)
當(dāng)前網(wǎng)址:http://chinadenli.net/article6/hjpig.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動(dòng)網(wǎng)站建設(shè)、云服務(wù)器、自適應(yīng)網(wǎng)站、網(wǎng)站收錄、建站公司、軟件開(kāi)發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容