【8bitsynth】一个有毒的合成器
caustic吧
全部回复
仅看楼主
level 8
Sallee- 楼主
与其他合成器不同的是,8bitsynth没有很多的旋钮,已有的旋钮也与合成器本身无关(通道平衡,八度旋钮,音高旋钮,微调旋钮,电平旋钮,都是对已调制波形的宏观调整),而占据面积最大的就是一个电子屏幕和两排键盘,这就让小白够晕的了,虽然3.2版增加了随机生成函数按钮,但随机生成的函数大部分是无法使用的(频率过低导致只能听见电流声或频率过高导致采样损毁)
本贴就对于这个合成器的原理提出自己的看法
2019年07月01日 09点07分 1
level 8
Sallee- 楼主
首先,这个合成器的资料几乎没有
官方说明书仅说明这个合成器是通过函数生成8位波形的合成器,并没有说明函数的语法。
官方视频简单的过了一下键盘的含义,并演示了一个实例(预设方案为“SAMPLE SHIFTY”),并没有讲述实际的语法是什么。
维基百科也对这个合成器一笔带过,仅有外国的caustic论坛才有极少量的资料。
但我在油管上看到过一个使用该合成器创作音乐的视频,这个油管主仅通过函数的变化,合成出了一个乐曲(连音序器都没用),我并没有联系上他,而且这个视频只有2个人观看(也许是我还有那个油管主)
(其实caustic在国外也很冷门)
我根据极少量的资料研究了半个月,总算有了一部分进展,以下是我对这个合成器的函数的看法
2019年07月01日 09点07分 2
能否发一下那个视频连接 我想看看
2019年07月04日 12点07分
@姜楠iii youtube上“caustic app”的频道是caustic的官方频道,你可以在这个频道找一找(注:这个频道已经停止更新)
2019年07月04日 14点07分
level 8
Sallee- 楼主
首先,“t”应该是一个函数的缩写,众所周知,声音是一种波形,而波形可以用函数表示。
而键盘上,除了“t”之外都是常数或者运算符,所以,“t”一定是个函数,我们把“t”输入到屏幕中,合成的结果是一个锯齿波。
预设方案和随机生成表达式也证明了这一点,不存在不含有“t”的表达式,否则将不会发声。
2019年07月01日 10点07分 3
level 8
Sallee- 楼主
结合说明书和官方论坛的资料,这个合成器的发声原理是将函数表达式的结果转换为电平信号,0对应电平最小值,255对应电平最大值,如果结果大于255,则不停的减去256直到小于等于255,如果结果小于0,则不停的加256直到大于等于0
函数“t”的含义是从0开始,每过一个时间刻会加1,最终的结果会是0,1,2,3,4,5,6,7,8,···,252,253,254,255,0,1,2,3,4,···,252,253,254,255,0,1,2,3,4,···
转化为电平信号为锯齿波
2019年07月01日 12点07分 4
如果结果出现了小数,则向下取整
2019年07月01日 12点07分
256用专业一点的说法叫做整数数值模数
2020年03月31日 14点03分
level 8
Sallee- 楼主
“时间刻”的长度是不确定的,但可以进行推算。
比如C4对应440Hz,每一个周期有256个时间刻,则每秒有112640个时间刻,当“t”为表达式时,从0开始每一个时间刻都会加1,超过255归0重计,形成锯齿波,但实际上由于采样的关系(caustic的默认采样率为44100Hz,远小于112640Hz),所以这个关系并不会在波形中体现出来,只能看到大致的形状
也是因为采样率不足的原因,其锯齿波并不标准(如图,上方为8bitsynth的锯齿波,下方为subsynth的锯齿波
2019年07月01日 15点07分 6
level 8
Sallee- 楼主
t在不同时间刻得到的值均符合四则运算法则,即加减乘除均可满足,但是除会向下取整,所以除法运算是有损的。
而%是求余符号,可以求表达式的余数。
2019年07月04日 02点07分 7
level 8
Sallee- 楼主
四则运算示例(以C4的时间刻速度为例):
t*2
0,2,4,6,8,10,12,14,16···248,250,252,254,0,2,4,6,8···
计算结果是C5的锯齿波
t/2
0,0,1,1,2,2,3,3,4,4···253,253,254,254,255,255,0,0,1,1,2,2,3,3···
计算结果是C3的锯齿波
t+64
64,65,66,67,68···253,254,255,0,1,2,3
计算结果是C4的锯齿波,但相位向左移动了四分之一周期。
t-64
192,193,194,195···251,252,253,254,255,0,1,2,3,4,5···
计算结果是C4的锯齿波,但相位向右移动了四分之一周期。
t%128
计算结果为(仅取余数)
。商:0,0,0,0,0,0··· 0 , 0 , 0 ,1,1,1···
余数:0,1,2,3,4,5···125,126,127,0,1,2···
最后的结果更像是将波形等比缩小了,为50%响度的C5锯齿波
2019年07月04日 03点07分 8
level 8
Sallee- 楼主
<<和>>是乘与除的缩略形式
分别表示乘以2的几次方或者除以2的几次方
比如t<<3等效于t*8
t>>5等效于t/32
2019年07月04日 03点07分 9
level 8
Sallee- 楼主
暂时不知道^,|,&的作用机理,官方视频介绍为乘方符号,或逻辑,与逻辑
但我感觉貌似并没有太大的关联
@水蔓云天 你怎么看呢?
2019年07月04日 03点07分 11
level 8
Sallee- 楼主
这里有自己发现的两个表达式,供参考
矩形波:t>>7<<7
很好理解,先除2的七次方,因为向下取整,会出现128个0,128个1,128个2,128个3,再乘2的七次方,0还是0,1会变成128,2因为溢出会跳回0,3会变成128,4溢出跳回0,就出现0,128,0,128,0,128···的脉冲变化。
但因采样的关系,方波并不是标准的。
白噪音:t*t*t*···*t*t/t
(t越多效果越好)
由于存在溢出问题,导致t与自身相乘会输出杂乱无章的波形,t越多溢出越严重,但这个波形周期很短,不符合随机数发生的条件。而由于除法运算是有损的,会将周期打乱,形成较好的随机数发生器
2019年07月04日 15点07分 12
level 2
[真棒]
2019年07月04日 16点07分 13
level 13
本数学**表示,看的头大[呼~]
2019年07月06日 17点07分 14
我也懵的很,尤其是或逻辑与逻辑我压根就没看出是什么算法
2019年07月07日 06点07分
level 5
是逻辑,用t * (a |/^/& b)这样看的,但很复杂,有点像256*256的表格,每两个数代表一个数。
2019年07月07日 14点07分 15
感谢提醒,我在试一下
2019年07月09日 00点07分
另外^是什么逻辑
2019年07月09日 00点07分
(t+64)^t也是方波
2019年07月09日 00点07分
@Sallee- 是a^b,比如 0^0=0 0^1=1 0^2=2 0^3=3 1^0=1 1^1=0 1^2=3 1^3=2 2^0=2 2^1=3 2^2=0 2^3=1 3^0=3 3^1=2 3^2=1 3^3=0 .......
2019年07月09日 03点07分
level 9
tql,码了
2019年07月13日 05点07分 18
level 3
[滑稽]所以怎么玩?
2019年07月20日 17点07分 19
我也想知道。
2019年07月23日 10点07分
1 2 尾页