📜  Python中的 Beeply 模块(1)

📅  最后修改于: 2023-12-03 15:04:30.102000             🧑  作者: Mango

Python中的 Beeply 模块

Beeply是一个Python模块,用于在Linux和Windows中生成各种频率的声音。它使用了PyAudio库和NumPy库,可以生成多个波形和同步音乐。

安装

可以使用pip命令安装Beeply模块:

pip install beeply
用法

可以使用Beeply创建不同类型的音调,如正弦波、方波、三角波等。

from beeply import notes, melody

# 创建一些音符
C = notes.Note("C")
D = notes.Note("D")
E = notes.Note("E")
F = notes.Note("F")
G = notes.Note("G")
A = notes.Note("A")
B = notes.Note("B")

# 创建一些音符的旋律
m = melody.Melody([C,D,E,F,G,A,B], beats_per_minute=120)

# 播放旋律
m.play()

可以使用不同的参数来调整音符和旋律的延迟、音量、波形类型和声道。

from beeply import notes, melody
from beeply import WaveType, AudioClip

# 创建一些音符
C = notes.Note("C")
D = notes.Note("D")
E = notes.Note("E")
F = notes.Note("F")
G = notes.Note("G")
A = notes.Note("A")
B = notes.Note("B")

# 创建一个旋律
m = melody.Melody([C,D,E,F,G,A,B], beats_per_minute=120)

# 设置一些参数
m.set_decorator(AudioClip(volume=0.3, wave_type=WaveType.SQUARE, delay=100))

# 播放旋律
m.play()

可以创建简单的单音调或多声道的旋律。

from beeply import notes, melody
from beeply import WaveType, AudioClip

# 创建一些音符
C = notes.Note("C")
D = notes.Note("D")
E = notes.Note("E")
F = notes.Note("F")
G = notes.Note("G")
A = notes.Note("A")
B = notes.Note("B")

# 创建一个单音调旋律
s = melody.SingleSound(C, duration=500, volume=0.5, wave_type=WaveType.SINE, delay=100)

# 播放旋律
s.play()

# 创建一个两声道旋律
m = melody.Melody([C,D,E,F,G,A,B], beats_per_minute=120)
m.set_channels(2)

# 播放旋律
m.play()

可以通过改变Beeply对象的属性来创建颤音、音滑等效果。

from beeply import notes, melody
from beeply import WaveType, AudioClip

# 创建一些音符
C = notes.Note("C")
D = notes.Note("D")
E = notes.Note("E")
F = notes.Note("F")
G = notes.Note("G")
A = notes.Note("A")
B = notes.Note("B")

# 创建一个颤音旋律
m = melody.Melody([C,D,E,F,G,A,B], beats_per_minute=120)
m.set_vibrato(delay=100, frequency=4, depth=2)

# 播放旋律
m.play()

# 创建一个音滑旋律
m = melody.Melody([C,D,E,F,G,A,B], beats_per_minute=120)
m.set_glissando(delay=100, duration=500)

# 播放旋律
m.play()
结论

Beeply是一个非常有用的Python模块,可以用来生成各种类型的音符和旋律,帮助人们能够快速而轻松地创建音乐效果。它不仅易于使用,而且具有灵活性和效率,可以帮助人们更好地控制音乐的创建和播放。