• 音乐发生器的原理


    音乐发生器的基本知识:

      

     

    分频系数K = Fc/(Fo*2)  

    如果最大分频系数为n位2进制数,则计算最大的计算值的位数:N = n’b1111…;

    则计数范围为:置位初始值 --- 》 N

    输出为每次计数到N则翻转一次。

    每个音节的频率为:

     

    如果使用6Mhz时钟来产生音频,使用4hz时钟来产生音拍,则分频系数k,,计算初始值,计算终值列表如下:

    计数初始值 = 计数终值 -  分频系数;

    音频

    分频系数

    计数初始值

    计数终值

    低音1

    261.6

    11468

    4915

    14’h3fff

     =16383

    低音2

    293.7

    10215

    6168

    低音3

    329.6

    9102

    7281

    低音4

    349.2

    8591

    7792

    低音5

    392

    7653

    8730

    低音6

    440

    6818

    9565

    低音7

    493.9

    6073

    10310

    中音1

    523.3

    5736

    10647

    中音2

    587.3

    5111

    11272

    中音3

    659.3

    4552

    11831

    中音4

    698.5

    4289

    12094

    中音5

    784

    3827

    12556

    中音6

    880

    3409

    12974

    中音7

    987.8

    3037

    13346

    高音1

    1046.5

    2867

    13516

    高音2

    1174.7

    2554

    13829

    高音3

    1318.5

    2274

    14109

    高音4

    1396.9

    2148

    14235

    高音5

    1568

    1913

    14470

    高音6

    1760

    1705

    14678

    高音7

    1975.5

    1519

    14864

    休止音

    0

    0

    16383

    音长的控制:

    音符的持续时间根据乐曲的速度及每个音符的节拍数来确定。本次演奏的送

    别片段,最短的音符为四分音符,如果将全音符的持续时间设为1s的话,则只

    需要再提供一个4Hz的时钟频率即可产生四分音符的时长。根据乐曲演奏电路

    的原理框图可知,乐谱产生电路用来控制音乐的音调和音长。控制音调通过设计

    计数器的预制数来实现,预置不同的数值就可以使计数器产生不同频率的信号,从

    而产生不同的音调。控制音长是通过控制计数器预置数的停留时间来实现的,预置

    数停留的时间越长,该音符演奏的时间久越长。每个音符的演奏时间都是0.25s

    的整数倍,对于节拍较长的音符,如二分音符,在记谱时将该音名连续记录两次

    即可。

  • 相关阅读:
    Django-下载文件设置响应头和兼容中文
    django-strftime日期格式化问题
    API集成管理平台YAPI的搭建和使用
    dubbo 的 spi 思想是什么?
    关于
    Python接口自动化之unittest单元测试
    Python接口自动化之requests请求封装
    Python接口自动化之Token详解及应用
    Python接口自动化之cookie、session应用
    Python接口自动化-requests模块之post请求
  • 原文地址:https://www.cnblogs.com/fhyfhy/p/4544525.html
Copyright © 2020-2023  润新知