亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何在Python3項目中利用PySynth制作音樂

發布時間:2021-03-23 16:55:23 來源:億速云 閱讀:231 作者:Leah 欄目:開發技術

如何在Python3項目中利用PySynth制作音樂?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

樂理

  •  聲音:物體振動產生,振動次數越多,音越高;振動次數越少,音越低

  • 可聞:人耳可以聽到的聲音在每秒16-2000此左右 樂音:振動規則產生,聽起來高低明顯

  • 噪音:振動不規則產生,聽起來高低不明顯

  • 音樂:將聲音通過藝術形象表達人們的思想感情

  • 音階:do、re、mi、sol、la、(do)

  • 調性:C、D、E、F、G、A、B

安裝

pip3 install pysynth

示例

import pysynth
# 例1:C大調
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")

在當前目錄下生成linuxidc.com.wav文件。

如何在Python3項目中利用PySynth制作音樂

在Linux終端輸入以下命令試聽一下

[linuxidc@localhost www.linuxidc.com]$ aplay -D plughw:0,0 linuxidc.com.wav

如何在Python3項目中利用PySynth制作音樂

試下周杰倫的晴天,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")

如何在Python3項目中利用PySynth制作音樂

隨機生成中國風音樂旋律

import pysynth
import numpy as np
import re
#先限定音符12356 中國風五聲調式 這樣聽起來比較自然
notes=np.array(["c4","d4","e4","g4","a4",])
#音符時值
durations=np.array([1,2,4,-2,-4,-8])
#隨機生成音符 重音穿插其中
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)
#隨機生成音符時值序列 形成長短參差變幻的節奏
dn=[]
for i in range(len(sn)):
duration=durations[np.random.randint(0,len(durations))]
nn=sn[i]
dn.append(duration)
#將音符和時值合并成旋律
melody=tuple(zip(sn,dn))
print(melody)
#將樂譜合成到聲音文件
pysynth.make_wav(melody,fn =r"linuxmi.com.wav")
print("ok")

備注:

'song' 是一個被定義的列表或元組,格式是這樣 ['音', 長度]

音符是'a','g'這些; 升半音以 '#' 表示,降半音以 'b' 表示;以octave 結束 (默認為四分音符);asterisk 在最后代表重音; 'r' 是空.

音的長度用數字表示:1=全音符; 2=二分音符; 4=四分音符, 等.

浮點音符寫法:

1.33 = -2 = 二分浮點音符

2.66 = -4 = 四分浮點音符

5.33 = -8 = 八分浮點音符

一些參數:

節奏:每分鐘節拍數;  bpm = 95

八度轉變 (neg. 降八度; pos. 升八度); transpose = 0

音符間停頓 (0. = 連音 ;  0.5 = 斷音); pause = 0.05

Volume boost:音量變高 (1. = 音量無變化);  boost = 1.2

Output file name 輸出文件名;fn = 'pysynth_output.wav'

其他參數:

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.

看完上述內容,你們掌握如何在Python3項目中利用PySynth制作音樂的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

会理县| 合水县| 澄迈县| 夏邑县| 孟津县| 安多县| 广州市| 永定县| 厦门市| 林西县| 山阴县| 南华县| 饶河县| 永胜县| 宜兴市| 揭西县| 东光县| 鄄城县| 嘉义市| 廉江市| 新闻| 无锡市| 龙里县| 右玉县| 盐城市| 田阳县| 乌苏市| 万全县| 阿拉善右旗| 桃源县| 玉门市| 新营市| 且末县| 柞水县| 礼泉县| 个旧市| 惠安县| 阜城县| 永德县| 增城市| 赣榆县|