声音合成器使用包络发生器来控制声音的某些参数(例如整体响度)如何随时间变化。在许多合成器中,信封是由四个参数定义的,如维基百科的下图所示:
- 起音时间(A):第一次按下该键时,信封从零开始达到最大电平所花费的时间。
- 衰减时间(D):包络达到指定维持水平所需的时间。
- 延音等级(S):在初始击打和衰减之后,只要按下琴键,该等级就保持不变。
- 释放时间(R):释放键时信封到达零的时间。
挑战
输入四个参数A,D,S,R并绘制包络线。
参数将是0到127之间的整数值。
的最高水平(在攻击阶段结束时达到)将被假定为127。
维持电平的水平片段将假定具有持续时间64(在实际声音中,该持续时间不是固定的,而是由按住琴键的时间决定的)。
格式和更多详细信息
输出应为光栅或矢量格式的图像。如果是栅格,则折线应在水平方向上至少占据50个像素。
图像可以以标准图像格式显示或生成为文件。可以将文件写入磁盘,也可以将其确切内容输出到STDERR或作为函数返回参数输出。
图形只需要包含定义信封的折线。每个轴的比例可以自由选择。其他元素(如轴线,数字标签或线条颜色)是可选的。
输入方式和格式像往常一样灵活。例如,您可以采用任意顺序的四个数字,也可以包含它们的数组。可以提供程序或功能。禁止出现标准漏洞。
以字节为单位的最短代码获胜。
测试用例
输入采用格式[A D S R]
。请注意,每个图中的比例都是不同的(根据比例可以自由选择的规则)
[15 30 70 40]
[64 64 64 64]
[0 10 50 80]
[0 0 90 80]
[5 50 0 0]
[5 50 0 80]
[24 32 127 48]