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

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第三方库


热门话题
关于JSP转发的java问题   强制Oracle驱动程序向java输出带有时区的时间戳。sql。使用getObject时的时间戳   Java中的配置单元UDF在创建表时失败   eclipse怀疑Java上下文加载器使用不再存在的文件   范围如何为我没有在JavaEE中编写的类定义单例对象?   java Eclipse未启动:JVM已终止。退出代码=14   仅存在于子类中的属性的java别名(Hibernate标准)   Java字符串插入错误   无法打开java@PropertySource,因为它不存在   java从多项目Maven配置生成WAR文件   java Hibernate@Lob注释不再有效:不能用几个字符串超过CLOB的总长度?   java jbutton的鼠标侦听器包含if/else循环阻塞的jvm?   java如何删除最近24小时安卓的通话记录   java Android服务+计数器不工作   java如何获取返回结果的服务器的数据,我希望将该结果更新到另一台服务器   java从javax获得“一切”是可能的。命名。初始上下文?   java Spring云门请求超时不适用于路径   java web应用程序会话缓存   java使用dialogflow的响应通过google助手打开我的应用程序   MongoDB添加createAt updatedAt字段java