zoukankan      html  css  js  c++  java
  • Python-生成音乐-pyshnth

    Pyshnth

    音乐生成模块

    乐理

    • 声音:物体振动产生,振动次数越多,音越高;振动次数越少,音越低
    • 可闻:人耳可以听到的声音在每秒16-2000此左右
    • 乐音:振动规则产生,听起来高低明显
    • 噪音:振动不规则产生,听起来高低不明显
    • 音乐:将声音通过艺术形象表达人们的思想感情
    • 音阶:do、re、mi、sol、la、(do)
    • 调性:C、D、E、F、G、A、B

    安装

    pip install pysynth

    原装示例

    import pypsynth
    
    # Example 1: The C major scale
    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 = "pysynth_scale.wav")
    

    随机轻音乐

    import pypsynth
    import random
    
    def randsong():
    	D='cdefgab'
    	T=range(1, 7)
    	R = lambda a,b:random.randint(a,b)
    	M = lambda :f'{D[R(0, len(D))]}{R(1,6)}*'
    	N = lambda :T[R(0, len(T))]
    	song = tuple((M(), N()) for i in range(32))
    	print(song)
    	pysynth.make_wav(song,fn =r"song.wav")
    
    randsong()
    
    

    博学之、审问之、慎思之、明辨之、笃行之

  • 相关阅读:
    eclipse常用快捷键
    .net操作Excel快速
    treeview使用sort以后取消排序
    行转列,参数是文本类型
    easyui分页控件汉化扩展
    在子页面中获取父frameset中元素
    easyui-datagrid自定义分页控件样式
    字符串和图片转换
    VS2012设置随笔
    DevExpress之GridControl
  • 原文地址:https://www.cnblogs.com/cofear/p/11481069.html
Copyright © 2011-2022 走看看