6690浏览
查看: 6690|回复: 7

[项目] 【minim应用】用斐波那契数列进行算法作曲

[复制链接]
本帖最后由 iooops 于 2016-4-2 13:51 编辑

前几天楼主不是开始连载C语言算法了嘛 - - 然后楼主就想着能不能用算法来作个曲 - -

然后就诞生了下面这个实验小项目。

最后录制的结果 - - 有点意料之外,由于内录外放的音响貌似出现了声反馈,出现了delay的效果 - -
原来没加的,但是后来发现有种特殊的效果…………其实我还是觉得原来好听 - - 哎呀录坏了 - -




processing代码如下:
  1. import ddf.minim.*;
  2. import ddf.minim.ugens.*;
  3. Minim minim;
  4. AudioOutput out;
  5. int []Fib = new int[21];
  6. int n = 20;
  7. void setup()
  8. {
  9.   size(512, 200, P3D);
  10.   
  11.   minim = new Minim(this);
  12.   out = minim.getLineOut();
  13.   out.setTempo(100);
  14.   out.pauseNotes();
  15.   
  16.   Fib[0] = 0;
  17.   Fib[1] = 1;
  18.   for(int i = 2; i <= n; i++) {
  19.     Fib[i] = Fib[i-1] + Fib[i-2];
  20.   }
  21.   for(int i = 0; i <= n; i++){
  22.    println(Fib[i]);
  23.    out.playNote(Fib[i]+4, Fib[n-i]/100, 220*pow(2, 1/12)*i);
  24.    out.playNote(Fib[i]+4, Fib[n-i]/100, 220*pow(2, 1/12)*i+i);
  25.    out.playNote(Fib[i]+i+4, Fib[n-i]/100, 220/pow(2, 1/12)/(i+1));
  26.    out.playNote(Fib[i]+i+4, Fib[n-i]/100, 220/pow(2, 1/12)/(i+1)+i);
  27.    out.playNote(Fib[i]*2+4, Fib[n-i]/100, 220*i);
  28.   }
  29.   
  30.   out.setNoteOffset( 8.1 );
  31.   out.resumeNotes();
  32. }
  33. void draw()
  34. {
  35.   background(0);
  36.   stroke(255);
  37.   
  38.   for(int i = 0; i < out.bufferSize() - 1; i++)
  39.   {
  40.     line( i, 50 + out.left.get(i)*50, i+1, 50 + out.left.get(i+1)*50 );
  41.     line( i, 150 + out.right.get(i)*50, i+1, 150 + out.right.get(i+1)*50 );
  42.   }
  43. }
  44.   
  45.   
复制代码

想想还有点小兴奋呢!!

virtualwiz  中级技匠

发表于 2016-4-3 18:31:16

66666,可以当铃声用了
回复

使用道具 举报

iooops  中级技匠
 楼主|

发表于 2016-4-4 00:01:12

virtualwiz 发表于 2016-4-3 18:31
66666,可以当铃声用了

这…………
回复

使用道具 举报

iooops  中级技匠
 楼主|

发表于 2016-4-4 00:04:42

virtualwiz 发表于 2016-4-3 18:31
66666,可以当铃声用了

好吧事实证明 - - 单纯依靠斐波那契数列做出的东西并没有那么好听
回复

使用道具 举报

dsweiliang  初级技神

发表于 2016-4-5 00:01:37

不明觉厉
回复

使用道具 举报

virtualwiz  中级技匠

发表于 2016-4-6 17:34:41

iooops 发表于 2016-4-4 00:04
好吧事实证明 - - 单纯依靠斐波那契数列做出的东西并没有那么好听

很好听呀我觉得:lol足足的Geek范
回复

使用道具 举报

iooops  中级技匠
 楼主|

发表于 2016-4-6 21:34:00

virtualwiz 发表于 2016-4-6 17:34
很好听呀我觉得足足的Geek范

回复

使用道具 举报

ranieyan69  学徒

发表于 2018-4-25 21:08:38

好听!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2022 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail