一个简单的虚拟模拟合成器。

synthesizer的Python项目详细描述


python合成器Build StatusDocumentation Status

  • 虚拟模拟合成器。

安装

$ pip install synthesizer

安装依赖项

ubuntu

$ apt install portaudio19-dev
$ pip install pyaudio

macOS

$ brew install portaudio
$ pip install pyaudio

基本用法

播放440Hz正弦波

>>>fromsynthesizerimportPlayer,Synthesizer,Waveform>>>player=Player()>>>player.open_stream()>>>synthesizer=Synthesizer(osc1_waveform=Waveform.sine,osc1_volume=1.0,use_osc2=False)# Play A4>>>player.play_wave(synthesizer.generate_constant_wave(440.0,3.0))

弹奏和弦

# Play C major>>>chord=[261.626,329.628,391.996]>>>player.play_wave(synthesizer.generate_chord(chord,3.0))

指定音频设备

>>>player.enumerate_device()# index: 00, name: "Built-in Microphone", rate: 44100# index: 01, name: "Built-in Output", rate: 44100# index: 02, name: "UA-25EX 44.1kHz", rate: 44100>>>player.open_stream(device_name="UA-25EX")

写入wav文件

>>>fromsynthesizerimportWriter>>>writer=Writer()>>>chord=[261.626,329.628,391.996]>>>wave=synthesizer.generate_chord(chord,3.0)>>>writer.write_wave("path/to/your.wav",wave)

支持的操作系统

  • MacOS 10.12及以上版本
  • ubuntu 16.04

支持的版本

  • python 2.7版
  • Python 3.4及以上版本

作者

许可证

  • GPL v3许可证

链接

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何通过解决错误“活动无法转换为片段”将片段传递给类构造函数?   Java中清理Code39条码数据的regex帮助   将java转换为C++   java无法在Android Studio中生成签名的apk,出现错误   从数学方程出发   MySQL和Java内存问题   如何强制Java抛出算术异常?   java为什么JDBC将零端口视为空(默认)端口?   java如何在没有“changelog主题”的情况下加入KStream和KTable   排序我尝试合并两个排序的数组,但得到的是java。lang.ArrayIndexOutofBounds异常:5无法找出原因   如何在java中求大长度矩阵的逆?   基于maven构建的java生成类路径字符串   java每20个字符分割一个字符串,然后将每个部分打印到控制台   将字符串数字字转换为字符串数字:Java   在特定区域使用混合类型的java填充字节数组   尽管java类在开关块中实例化,但它只能调用接口方法