{"id":1707,"date":"2008-07-02T18:32:34","date_gmt":"2008-07-02T09:32:34","guid":{"rendered":"http:\/\/r-dimension.xsrv.jp\/classes_j\/?p=1707"},"modified":"2011-05-03T02:03:41","modified_gmt":"2011-05-02T17:03:41","slug":"sound","status":"publish","type":"post","link":"https:\/\/r-dimension.xsrv.jp\/classes_j\/sound\/","title":{"rendered":"\u30b5\u30a6\u30f3\u30c9\uff08Ess\u30e9\u30a4\u30d6\u30e9\u30ea\uff09"},"content":{"rendered":"<p>\u3055\u3066\u4eca\u56de\u306f\u30b5\u30a6\u30f3\u30c9\u306e\u5b9f\u7fd2\u3067\u3059\u3002<br \/>\n\u3053\u3053\u3067\u306f\u3001<a href=\"http:\/\/www.tree-axis.com\/Ess\/\" target=\"_blank\">Ess<\/a>\u3068\u3044\u3046\u30e9\u30a4\u30d6\u30e9\u30ea\u3092\u4f7f\u3063\u3066\u307f\u307e\u3059\u3002\u3053\u3053\u3067\u306f\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u306e\u4ed5\u65b9\u306f\u8aac\u660e\u3057\u307e\u305b\u3093\u306e\u3067\u3001\u81ea\u529b\u3067\u3084\u3063\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<h2>1. \u30b5\u30a4\u30f3\u6ce2<\/h2>\n<p>\u307e\u305a\u306f\u3001\u30b5\u30a4\u30f3\u6ce2\u3092\u51fa\u3057\u3066\u307f\u307e\u3057\u3087\u3046\u3002\u30b5\u30a4\u30f3\u6ce2\u306f\u3001\u97f3\u306e\u4e2d\u3067\u4e00\u756a\u5358\u7d14\u306a\u3082\u306e\u3067\u3059\u3002<br \/>\n\u307e\u305a\u306f\u3001220\u30d8\u30eb\u30c4\u306e\u30b5\u30a4\u30f3\u6ce2\u3092\u51fa\u3059\u30b3\u30fc\u30c9\u3092\u66f8\u3044\u3066\u307f\u307e\u3057\u3087\u3046\u3002<\/p>\n<p><!--more--><\/p>\n<pre lang=\"java\" line=\"1\">\r\nimport krister.Ess.*;\r\n\r\nAudioChannel myChannel;\r\nSineWave myWave;\r\n\r\nvoid setup() {\r\n  size(300,300);\r\n\r\n  \/\/Ess\u3092\u30b9\u30bf\u30fc\u30c8\u3055\u305b\u308b\r\n  Ess.start(this);\r\n\r\n  \/\/myChannel\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u4f5c\u6210\r\n  myChannel=new AudioChannel();\r\n  \/\/myChannel\u3092\u521d\u671f\u5316\u3002\u3053\u306e\u5834\u54082000\u30df\u30ea\u79d2 = 2\u79d2\r\n  myChannel.initChannel(myChannel.frames(2000));\r\n\r\n  myWave=new SineWave(220,.5);      \/\/SineWave(\u5468\u6ce2\u6570, \u30dc\u30ea\u30e5\u30fc\u30e0[0-1\u306e\u9593])\r\n  myWave.generate(myChannel);    \/\/\u6ce2\u5f62\u3092\u751f\u6210\u3057\u3001myChannel\u306b\u5272\u308a\u5f53\u3066\u308b\r\n  myChannel.volume(300);    \/\/\u30dc\u30ea\u30e5\u30fc\u30e0\u306f300\r\n\r\n  \/\/\u30b9\u30e0\u30fc\u30ba\u306b\u30d1\u30f3\u3059\u308b\r\n  myChannel.play(Ess.FOREVER);    \/\/\u30eb\u30fc\u30d7\u518d\u751f\r\n\r\n  \/\/\u30dc\u30ea\u30e5\u30fc\u30e0\u3092\u8abf\u6574\u3059\u308b\u3002\u30dc\u30ea\u30e5\u30fc\u30e0[0-1\u306e\u9593], \u8abf\u6574\u3059\u308b\u6642\u9593\u9593\u9694[\u5358\u4f4d\uff1a\u30df\u30ea\u79d2]\r\n  myChannel.fadeTo(.5,500);\r\n}\r\n\r\nvoid draw() {\r\n\r\n}\r\n\r\n\/\/\u7d42\u4e86\u3059\u308b\u524d\u306b\u30af\u30ea\u30fc\u30f3\u30a2\u30c3\u30d7\u3059\u308b\r\npublic void stop() {\r\n  Ess.stop();\r\n  super.stop();\r\n}<\/pre>\n<p>\u7c21\u5358\u3067\u3059\u304b\uff1f\u6b21\u306f\u5c11\u3057\u8907\u96d1\u3067\u3059\u3002<br \/>\n\u30de\u30a6\u30b9\u306eX\u8ef8\u306e\u52d5\u304d\u306b\u3088\u3063\u3066\u3001\u5de6\u304b\u3089\u805e\u3053\u3048\u305f\u308a\u53f3\u304b\u3089\u805e\u3053\u3048\u305f\u308a\u3057\u307e\u3059\u3002\u66f4\u306bY\u8ef8\u306e\u52d5\u304d\u306b\u3088\u3063\u3066\u3001\u97f3\u91cf\u304c\u5909\u5316\u3057\u307e\u3059\u3002<\/p>\n<pre lang=\"java\" line=\"1\">\r\n\/\/This code has been arranged by Yasushi Noguchi. Last updated on July 1, 2008.\r\n\r\n\/\/ Pan and Volume\r\n\/\/ by Krister Olsson <http :\/\/www.tree-axis.com>\r\n\r\n\/\/ Generates a looping sine wave and pink noise. \r\n\/\/ Pan and volume are controlled by mouse position\r\n\r\n\/\/ Created 1 May 2005\r\n\/\/ Updated 3 May 2006\r\n\r\nimport krister.Ess.*;\r\n\r\nAudioChannel myChannel;\r\nSineWave myWave;\r\n\r\nvoid setup() {\r\n  size(300,300);\r\n  \r\n  \/\/Ess\u3092\u30b9\u30bf\u30fc\u30c8\u3055\u305b\u308b\r\n  Ess.start(this);\r\n\r\n  \/\/myChannel\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u4f5c\u6210\r\n  myChannel=new AudioChannel();\r\n  \/\/myChannel\u3092\u521d\u671f\u5316\u3002\u3053\u306e\u5834\u54082000\u30df\u30ea\u79d2 = 2\u79d2\r\n  myChannel.initChannel(myChannel.frames(2000));\r\n  \r\n  myWave=new SineWave(220,.5);      \/\/SineWave(\u5468\u6ce2\u6570, \u30dc\u30ea\u30e5\u30fc\u30e0[0-1\u306e\u9593])\r\n  myWave.generate(myChannel);    \/\/\u6ce2\u5f62\u3092\u751f\u6210\u3057\u3001myChannel\u306b\u5272\u308a\u5f53\u3066\u308b\r\n  myChannel.volume(0);    \/\/\u30dc\u30ea\u30e5\u30fc\u30e0\u306f0\r\n  \r\n  \/\/\u30b9\u30e0\u30fc\u30ba\u306b\u30d1\u30f3\u3059\u308b\r\n  myChannel.smoothPan=true;\r\n  myChannel.play(Ess.FOREVER);    \/\/\u30eb\u30fc\u30d7\u518d\u751f\r\n  \r\n  \/\/\u30dc\u30ea\u30e5\u30fc\u30e0\u3092\u8abf\u6574\u3059\u308b\u3002\u30dc\u30ea\u30e5\u30fc\u30e0[0-1\u306e\u9593], \u8abf\u6574\u3059\u308b\u6642\u9593\u9593\u9694[\u5358\u4f4d\uff1a\u30df\u30ea\u79d2]\r\n  myChannel.fadeTo(.5,500);\r\n  frameRate(30);\r\n}\r\n\r\nvoid draw() {\r\n  background(0);\r\n  stroke(255);\r\n\r\n  int x = mouseX;\r\n  int y = mouseY;\r\n  \r\n  \/\/\u30d1\u30f3\u3068\u30dc\u30ea\u30e5\u30fc\u30e0\u304c\u30de\u30a6\u30b9\u306e\u52d5\u304d\u3067\u5909\u5316\u3059\u308b\u3002\u30d1\u30f3\u306f-1\u304b\u30891\u306e\u5024\u3092\u53d6\u308b\u3002\r\n  float newPan = (x\/(float)width*2)-1;\r\n  float newVolume = y\/(float)height;\r\n  \r\n  \/\/\u3082\u3057\u3001\u30d1\u30f3\u3057\u3066\u3044\u306a\u3051\u308c\u3070\u3001newPan\u306e\u5024\u3054\u3068\u306b\u30d1\u30f3\u3059\u308b\uff08\u5358\u4f4d \u30df\u30ea\u79d2\uff09\r\n  if (!myChannel.panning) myChannel.panTo(newPan,500);\r\n  \/\/newVolume\u306e\u5024\u3054\u3068\u306b\u30dc\u30ea\u30e5\u30fc\u30e0\u304c\u5909\u5316\u3059\u308b\uff08\u5358\u4f4d \u30df\u30ea\u79d2\uff09\r\n  if (!myChannel.fading) myChannel.fadeTo(newVolume,500);\r\n  \r\n  line(x, 0, x, height);    \/\/\u7e26\u306e\u7dda\r\n  line(0,y,width,y);    \/\/\u6a2a\u306e\u7dda\r\n}\r\n\r\n\/\/\u7d42\u4e86\u3059\u308b\u524d\u306b\u30af\u30ea\u30fc\u30f3\u30a2\u30c3\u30d7\u3059\u308b\r\npublic void stop() {\r\n  Ess.stop();\r\n  super.stop();\r\n}<\/pre>\n<p>\u3053\u3053\u3067\u3001\u3044\u304f\u3064\u304b\u91cd\u8981\u306a\u6982\u5ff5\u304c\u767b\u5834\u3057\u307e\u3059\u3002<br \/>\n\u4e00\u822c\u7684\u306b\u8a00\u308f\u308c\u308b\u97f3\u306e\u4e09\u8981\u7d20\u306f\u3001\u5927\u304d\u3055\uff08Loudness\uff09\u3001\u9ad8\u3055\uff08Pitch\uff09\u3001\u97f3\u8272\uff08Tone\uff09\u3067\u3059\u3002<br \/>\n\u3053\u3053\u3067\u306f\u3001\u30dc\u30ea\u30e5\u30fc\u30e0\uff1d\u97f3\u306e\u5927\u304d\u3055\u3001\u5468\u6ce2\u6570\uff1d\u9ad8\u3055\u304c\u51fa\u3066\u304d\u307e\u3059\u3002<br \/>\n\u3067\u3059\u304b\u3089\u3001\u30dc\u30ea\u30e5\u30fc\u30e0\u306f\u8a00\u3046\u306b\u53ca\u3070\u305a\u3001\u30b5\u30f3\u30d7\u30eb\u3067\u306f220\u306b\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u308b\u5468\u6ce2\u6570\u3092\u64cd\u4f5c\u3059\u308b\u3068\u3001\u97f3\u306e\u9ad8\u4f4e\u304c\u5909\u5316\u3057\u307e\u3059\u3002<\/p>\n<p>\u30af\u30a4\u30ba\u3000\u30de\u30a6\u30b9\u306ey\u8ef8\u306e\u5024\u3092\u5909\u5316\u3055\u305b\u3066\u5468\u6ce2\u6570110\u304b\u3089440\u306e\u5024\u3092\u30de\u30a6\u30b9\u306e\u4f4d\u7f6e\u306b\u3088\u3063\u3066\u5909\u5316\u3055\u305b\u306a\u3055\u3044\u3002<\/p>\n<p>\u89e3\u7b54<\/p>\n<pre lang=\"java\" line=\"1\">\r\nimport krister.Ess.*;\r\n\r\nAudioChannel myChannel;\r\nSineWave myWave;\r\nfloat frequency = 0.0;\r\n\r\nvoid setup() {\r\n  size(300,300);\r\n  \r\n  \/\/Ess\u3092\u30b9\u30bf\u30fc\u30c8\u3055\u305b\u308b\r\n  Ess.start(this);\r\n\r\n  \/\/myChannel\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u4f5c\u6210\r\n  myChannel=new AudioChannel();\r\n  \/\/myChannel\u3092\u521d\u671f\u5316\u3002\u3053\u306e\u5834\u54082000\u30df\u30ea\u79d2 = 2\u79d2\r\n  myChannel.initChannel(myChannel.frames(10000));\r\n  \r\n  myWave=new SineWave(220,.5);      \/\/SineWave(\u5468\u6ce2\u6570, \u30dc\u30ea\u30e5\u30fc\u30e0[0-1\u306e\u9593])\r\n  myWave.generate(myChannel);    \/\/\u6ce2\u5f62\u3092\u751f\u6210\u3057\u3001myChannel\u306b\u5272\u308a\u5f53\u3066\u308b\r\n  myChannel.volume(0);    \/\/\u30dc\u30ea\u30e5\u30fc\u30e0\u306f0\r\n  \r\n  \/\/\u30b9\u30e0\u30fc\u30ba\u306b\u30d1\u30f3\u3059\u308b\r\n  myChannel.smoothPan=true;\r\n  myChannel.play(Ess.FOREVER);    \/\/\u30eb\u30fc\u30d7\u518d\u751f\r\n  \r\n  \/\/\u30dc\u30ea\u30e5\u30fc\u30e0\u3092\u8abf\u6574\u3059\u308b\u3002\u30dc\u30ea\u30e5\u30fc\u30e0[0-1\u306e\u9593], \u8abf\u6574\u3059\u308b\u6642\u9593\u9593\u9694[\u5358\u4f4d\uff1a\u30df\u30ea\u79d2]\r\n  myChannel.fadeTo(1.0,500);\r\n  frameRate(30);\r\n}\r\n\r\nvoid draw() {\r\n  background(0);\r\n  stroke(255);\r\n\r\n  int x = mouseX;\r\n  int y = mouseY;\r\n  \r\n  \/\/\u30d1\u30f3\u3068\u30dc\u30ea\u30e5\u30fc\u30e0\u304c\u30de\u30a6\u30b9\u306e\u52d5\u304d\u3067\u5909\u5316\u3059\u308b\u30d1\u30f3\u306f-1\u304b\u30891\u306e\u5024\u3092\u53d6\u308b\u3002\r\n  float newPan = (x\/float(width)*2)-1;\r\n\r\n  \/\/\u3082\u3057\u3001\u30d1\u30f3\u3057\u3066\u3044\u306a\u3051\u308c\u3070\u3001newPan\u306e\u5024\u3054\u3068\u306b\u30d1\u30f3\u3059\u308b\uff08\u5358\u4f4d \u30df\u30ea\u79d2\uff09\r\n  if (!myChannel.panning) myChannel.panTo(newPan,500);\r\n  \r\n  myWave.frequency=frequency;\r\n  myWave.generate(myChannel);\r\n  \r\n  line(x, 0, x, height);    \/\/\u7e26\u306e\u7dda\r\n  line(0,y,width,y);    \/\/\u6a2a\u306e\u7dda\r\n}\r\n\r\n\/\/\u7d42\u4e86\u3059\u308b\u524d\u306b\u30af\u30ea\u30fc\u30f3\u30a2\u30c3\u30d7\u3059\u308b\r\npublic void stop() {\r\n  Ess.stop();\r\n  super.stop();\r\n}\r\n\r\nvoid mousePressed(){\r\n  \/\/\u5468\u6ce2\u6570\u306f110\u304b\u3089440\u306e\u9593\u3092\u884c\u304d\u6765\u3059\u308b\r\n  frequency = mouseY\/(float)height*(440-110) + 110;\r\n}<\/pre>\n<h2>2. \u30b5\u30a6\u30f3\u30c9\u30d5\u30a1\u30a4\u30eb\u306e\u518d\u751f<\/h2>\n<p>\u6b21\u306f\u3001\u30b5\u30a6\u30f3\u30c9\u30d5\u30a1\u30a4\u30eb\u304c\u5916\u90e8\u304b\u3089\u8aad\u307f\u8fbc\u3093\u3067\u518d\u751f\u3059\u308b\u65b9\u6cd5\u3067\u3059\u3002\u3053\u308c\u306f\u3001\u304b\u306a\u308a\u77ed\u3044\u30b3\u30fc\u30c9\u3067\u66f8\u3051\u3066\u3057\u307e\u3044\u307e\u3059\u3002<\/p>\n<p>\u30b5\u30f3\u30d7\u30eb\u7528\u30b5\u30a6\u30f3\u30c9\u30d5\u30a1\u30a4\u30eb<br \/>\n<a href=\"http:\/\/r-dimension.xsrv.jp\/classes_j\/files\/bush.wav\">bush.wav<\/a><\/p>\n<pre lang=\"java\" line=\"1\">\r\n\/\/This code has been arranged by Yasushi Noguchi. Last updated on July 1, 2008.\r\n\r\n\/\/ Scrub\r\n\/\/ by Krister Olsson <http :\/\/www.tree-axis.com> \r\n\r\n\/\/ Loads a sample that can be played\/paused by \r\n\/\/ clicking a button in the lower left-hand corner. \r\n\/\/ Playback head can be adjusted by clicking and dragging\r\n\r\n\/\/ Created 1 May 2005\r\n\/\/ Updated 2 May 2006\r\n\r\nimport krister.Ess.*;\r\n\r\nAudioChannel myChannel;\r\n\r\nvoid setup() {\r\n  size(256,200);\r\n  background(0);\r\n\r\n  Ess.start(this);  \/\/Ess\u3092\u30b9\u30bf\u30fc\u30c8\u3055\u305b\u308b\r\n\r\n  \/\/bush.wav\u3092\u8aad\u307f\u8fbc\u3093\u3067\u3001myChannel\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u4f5c\u6210\r\n  myChannel=new AudioChannel(\"bush.wav\");\r\n\r\n  myChannel.play(Ess.FOREVER);    \/\/\u30eb\u30fc\u30d7\u518d\u751f\r\n  frameRate(30);\r\n}\r\n\r\nvoid draw() {\r\n\r\n}\r\n\r\nvoid mousePressed() {\r\n  \/\/\u3082\u3057\u3001\u30de\u30a6\u30b9\u304c\u62bc\u3055\u308c\u305f\u3068\u304d\u306b\u518d\u751f\u3057\u3066\u3044\u305f\u3089\u3001\r\n  if (myChannel.state==Ess.PLAYING) myChannel.pause();   \/\/\u4e00\u6642\u505c\u6b62\u3059\u308b\r\n  else myChannel.resume();    \/\/\u305d\u308c\u4ee5\u5916\u306f\u4e00\u6642\u505c\u6b62\u89e3\u9664\r\n}\r\n\r\n\/\/\u7d42\u4e86\u3059\u308b\u524d\u306b\u30af\u30ea\u30fc\u30f3\u30a2\u30c3\u30d7\u3059\u308b\r\npublic void stop() {\r\n  Ess.stop();\r\n  super.stop();\r\n}<\/pre>\n<h2>3. \u30a8\u30d5\u30a7\u30af\u30c8\uff08reverb\uff09<\/h2>\n<p>\u6b21\u306f\u30a8\u30d5\u30a7\u30af\u30c8\u3067\u3059\u3002\u4ee3\u8868\u7684\u306a\u30a8\u30d5\u30a7\u30af\u30c8\u3067\u3042\u308breverb\u3092\u304b\u3051\u3066\u307f\u307e\u3057\u3087\u3046\u3002\u30b5\u30f3\u30d7\u30eb\u306e\u97f3\u7d20\u6750\u306f\u5148\u307b\u3069\u3068\u540c\u3058bush.wav\u3092\u4f7f\u3044\u307e\u3059\u3002\u57fa\u672c\u7684\u306b\u4e0a\u8a18\u306e\u30b3\u30fc\u30c9\u3068\u305d\u3093\u306a\u306b\u5909\u308f\u3089\u306a\u3044\u306e\u3067\u3001reverb\u306e\u90e8\u5206\u3060\u3051\u4ed8\u3051\u52a0\u3048\u3066\u3044\u308b\u3088\u3046\u306a\u611f\u3058\u3067\u3059\u3002<\/p>\n<pre lang=\"java\" line=\"1\">\r\n\/\/This code has been arranged by Yasushi Noguchi. Last updated on July 1, 2008.\r\n\r\n\/\/ Example by Krister Olsson\r\n\/\/ please check the followoing site for more details\r\n\/\/http:\/\/www.tree-axis.com\/Ess\/Reverb\/Reverb.html\r\n\r\nimport krister.Ess.*;\r\n\r\nAudioChannel myChannel;\r\nReverb myReverb;\r\n\r\nvoid setup() {\r\n  size(200,200);\r\n\r\n  \/\/Ess\u3092\u30b9\u30bf\u30fc\u30c8\u3055\u305b\u308b\r\n  Ess.start(this);\r\n\r\n  \/\/buch.wav\u3092\u30a4\u30f3\u30dd\u30fc\u30c8\u3057\u3001myChannel\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u4f5c\u6210\r\n  myChannel=new AudioChannel(\"bush.wav\");\r\n  myReverb=new Reverb();  \/\/Reverb\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u751f\u6210\r\n  \/\/\u6700\u521d\u306e\u5f15\u6570\uff080.0 ~ 1.0\uff09\u3092\u64cd\u4f5c\u3059\u308b\u3053\u3068\u306b\u3088\u3063\u3066\u3001Reverb\u306e\u304b\u3051\u5177\u5408\u304c\u8abf\u7bc0\u3067\u304d\u308b\r\n  \/\/myReverb=new Reverb(1.0, 0, .5);  \/\/Reverb\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u751f\u6210  \r\n  myChannel.play(Ess.FOREVER);    \/\/\u30eb\u30fc\u30d7\u518d\u751f\r\n}\r\n\r\nvoid draw() {\r\n}\r\n\r\nvoid mousePressed(){\r\n  \/\/\u30de\u30a6\u30b9\u30af\u30ea\u30c3\u30af\u3054\u3068\u306bReverb\u3092\u304b\u3051\u3066\u3044\u304f\r\n  myReverb.filter(myChannel);\r\n}\r\n\r\n\/\/\u7d42\u4e86\u3059\u308b\u524d\u306b\u30af\u30ea\u30fc\u30f3\u30a2\u30c3\u30d7\u3059\u308b\r\npublic void stop() {\r\n  Ess.stop();\r\n  super.stop();\r\n}<\/pre>\n<p>\u30a8\u30d5\u30a7\u30af\u30c8\u306f\u305d\u306e\u4ed6\u306b\u3082\u8272\u3005\u3042\u308b\u306e\u3067\u3001\u4e0b\u306e\u30de\u30cb\u30e5\u30a2\u30eb\u3092\u898b\u306a\u304c\u3089\u8a66\u3057\u3066\u307f\u3066\u304f\u3060\u3055\u3044\u3002<br \/>\n<a href=\"http:\/\/www.tree-axis.com\/Ess\/classes_AudioFilter_subclasses.html\">http:\/\/www.tree-axis.com\/Ess\/classes_AudioFilter_subclasses.html<\/a><\/p>\n<h2>4. Ess\u306e\u30de\u30cb\u30e5\u30a2\u30eb<\/h2>\n<p>\u4e0a\u8a18\u306e\u30b5\u30f3\u30d7\u30eb\u306f\u3042\u304f\u307e\u3067\u3082\u521d\u6b69\u7684\u306a\u3082\u306e\u3067\u3057\u304b\u3042\u308a\u307e\u305b\u3093\u3002Ess\u3084\u4ed6\u306e\u30b5\u30a6\u30f3\u30c9\u7cfb\u30e9\u30a4\u30d6\u30e9\u30ea\u306b\u306f\u304b\u306a\u308a\u591a\u304f\u306e\u6a5f\u80fd\u304c\u3042\u308a\u307e\u3059\u3002\u8208\u5473\u304c\u3042\u308b\u4eba\u306f\u662f\u975e\u72ec\u5b66\u3067\u9811\u5f35\u3063\u3066\u307f\u307e\u3057\u3087\u3046\uff08\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u3063\u3066\u57fa\u672c\u306f\u72ec\u5b66\u306a\u3093\u3067\u3059\uff09\u3002<br \/>\n<a href=\"http:\/\/www.tree-axis.com\/Ess\/index.html\" target=\"_blank\">http:\/\/www.tree-axis.com\/Ess\/index.html<br \/>\n<\/a>\u3000\u3053\u306e\u30b5\u30a4\u30c8\u306eclass\u306e\u9805\u76ee\u306b\u306f\u3001\u4f7f\u3048\u308b\u6a5f\u80fd\u304c\u5168\u90e8\u8f09\u3063\u3066\u3044\u308b<br \/>\n<a href=\"http:\/\/processing.org\/reference\/libraries\/index.html\" target=\"_blank\">\u4ed6\u306e\u30b5\u30a6\u30f3\u30c9\u7cfb\u30e9\u30a4\u30d6\u30e9\u30ea<br \/>\n<\/a><\/p>\n<h2>5. \u30b5\u30a6\u30f3\u30c9\u7d20\u6750\u30b5\u30a4\u30c8<\/h2>\n<p>\u7121\u6599\u306e\u30b5\u30a6\u30f3\u30c9\u7d20\u6750\u306f\u30cd\u30c3\u30c8\u306b\u3044\u304f\u3089\u3067\u3082\u3042\u308a\u307e\u3059\u3002\u307e\u3042\u3001\u54c1\u8cea\u306f\u69d8\u3005\u3067\u3059\u304c\u3001\u3044\u3044\u3082\u306e\u3082\u3042\u308b\u306e\u3067\u6839\u6c17\u3088\u304f\u63a2\u3057\u3066\u307f\u307e\u3057\u3087\u3046\u3002<br \/>\n<a href=\"http:\/\/www.freesound.org\/\" target=\"_blank\">http:\/\/www.freesound.org\/<\/a><br \/>\n<a href=\"http:\/\/www.soundclick.com\/default.cfm\" target=\"_blank\">http:\/\/www.soundclick.com\/default.cfm<br \/>\n<\/a><\/p>\n<p>\u53c2\u8003<br \/>\n\u30b5\u30a6\u30f3\u30c9\u306e\u5468\u6ce2\u6570\u89e3\u6790\u306e\u30b5\u30f3\u30d7\u30eb<\/p>\n<pre lang=\"java\" line=\"1\">\r\nimport krister.Ess.*;\r\n\r\nFFT myFFT;\r\nint bands = 128;\r\n\r\nAudioStream myStream;\r\nAudioFile myFile;\r\n\r\nvoid setup(){\r\n  size(1024, 200);\r\n  Ess.start(this);\r\n  myFile = new AudioFile(\"\u30d5\u30a1\u30a4\u30eb\u540d.aif\", 0, Ess.READ);\r\n  \r\n  myStream = new AudioStream(128*1024);\r\n  myStream.sampleRate(myFile.sampleRate);\r\n  myStream.start();\r\n  \r\n  myFFT = new FFT(bands*2);\r\n}\r\n\r\nvoid draw(){\r\n  background(176);\r\n  \r\n  myFFT.getSpectrum(myStream);\r\n  stroke(255);\r\n  \r\n  for(int i = 0; i < bands; i ++){\r\n    float x = (float)i\/(float)(bands-1)*1024.0;\r\n    float freY = max(0, myFFT.spectrum[i]*height*4);\r\n    \r\n    line(x, height, x, height - freY);\r\n  }\r\n}\r\n\r\nvoid stop(){\r\n  Ess.stop();\r\n  super.stop();\r\n}\r\n\r\nvoid audioStreamWrite(AudioStream theStream){\r\n  int sampleRead = myFile.read(myStream);\r\n}<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\u3055\u3066\u4eca\u56de\u306f\u30b5\u30a6\u30f3\u30c9\u306e\u5b9f\u7fd2\u3067\u3059\u3002 \u3053\u3053\u3067\u306f\u3001Ess\u3068\u3044\u3046\u30e9\u30a4\u30d6&#8230; <a href=\"https:\/\/r-dimension.xsrv.jp\/classes_j\/sound\/\">Read more &raquo;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10,11],"tags":[],"class_list":["post-1707","post","type-post","status-publish","format-standard","hentry","category-processing","category-11"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/r-dimension.xsrv.jp\/classes_j\/wp-json\/wp\/v2\/posts\/1707","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/r-dimension.xsrv.jp\/classes_j\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/r-dimension.xsrv.jp\/classes_j\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/r-dimension.xsrv.jp\/classes_j\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/r-dimension.xsrv.jp\/classes_j\/wp-json\/wp\/v2\/comments?post=1707"}],"version-history":[{"count":4,"href":"https:\/\/r-dimension.xsrv.jp\/classes_j\/wp-json\/wp\/v2\/posts\/1707\/revisions"}],"predecessor-version":[{"id":2467,"href":"https:\/\/r-dimension.xsrv.jp\/classes_j\/wp-json\/wp\/v2\/posts\/1707\/revisions\/2467"}],"wp:attachment":[{"href":"https:\/\/r-dimension.xsrv.jp\/classes_j\/wp-json\/wp\/v2\/media?parent=1707"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/r-dimension.xsrv.jp\/classes_j\/wp-json\/wp\/v2\/categories?post=1707"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/r-dimension.xsrv.jp\/classes_j\/wp-json\/wp\/v2\/tags?post=1707"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}