{"id":1031,"date":"2010-02-18T14:45:17","date_gmt":"2010-02-18T06:45:17","guid":{"rendered":"http:\/\/www.ccttours.com\/blog\/?p=1031"},"modified":"2010-02-18T14:47:59","modified_gmt":"2010-02-18T06:47:59","slug":"supercollider%ef%bc%9a%e6%9b%b4%e5%a4%9a%e5%90%88%e6%88%90%e6%a1%88%e4%be%8b","status":"publish","type":"post","link":"https:\/\/learn.travelchinawith.me\/?p=1031","title":{"rendered":"SuperCollider\uff1a\u66f4\u591a\u5408\u6210\u6848\u4f8b"},"content":{"rendered":"<p><strong><span style=\"color: #00ff00;\">\u4e30\u6ee1\u5408\u5531 (Fat Chorus)<\/span><\/strong><\/p>\n<p>\u6211\u4eec\u5236\u4f5c\u4e00\u4e2a\u5f7c\u6b64\u95f4\u8f7b\u5fae\u53bb\u8c10(detune)\u7684\u632f\u8361\u5668\u6570\u7ec4\uff0c\u5e76\u5c06\u5b83\u4eec\u6df7\u5165\u5355\u58f0\u9053\u3002<br \/>\n<!--more--><\/p>\n<pre class=\"brush:jfx\">{Mix(Saw.ar([440,443,437],0.1))}.scope \/\/ \u5408\u5531<\/pre>\n<p>\u7ed3\u5408\u4e86AM\u3001FM\u3001\u5408\u5531\u4ee5\u53ca\u5305\u7edc\u7684\u66f4\u590d\u6742\u7684\u58f0\u97f3<\/p>\n<pre class=\"brush:jfx\">(\r\n{\r\nMix(\r\n\tResonz.ar(  \/\/Resonz\uff08\u5171\u9e23\uff09\u6ee4\u6ce2\u5668\u7684\u5f15\u6570\uff1a\u8f93\u5165, \u9891\u7387, \u9891\u5bbd\u7387=\u9891\u5bbd\/\u4e2d\u5fc3\u9891\u7387\r\n\t\t\/\/ \u7528\u952f\u9f7f\u6ce2\u548c\u5408\u5531\u8c03\u5236\u9891\u7387\r\n                Saw.ar([440,443,437] + SinOsc.ar(100,0,5*200)),\r\n                \/\/ \u59cb\u7ec8\u6539\u53d8\u6ee4\u6ce2\u9891\u5bbd\r\n\t\tXLine.kr(10000,10, 10, doneAction:2),\r\n                \/\/\u59cb\u7ec8\u6539\u53d8\u6ee4\u6ce2\u9891\u5bbd\u7387\r\n\t\tLine.kr(1,0.05, 10),\r\n                \/\/ AM\r\n\t\tmul: LFSaw.kr(Line.kr(13,17,3),0.5,0.5)*Line.kr(1,0,10)\r\n\t)\r\n)\r\n}.scope\r\n)<\/pre>\n<hr \/>\n<p><strong><span style=\"color: #00ff00;\">\u91c7\u6837\u56de\u653e\u7387\u8c03\u5236 (Sample playback rate modulation)<\/span><\/strong><\/p>\n<p>\u7531\u4e00\u4e2a\u632f\u8361\u5668\u8fdb\u884c\u7684\u91c7\u6837\u56de\u653e\u8c03\u5236\u3002<\/p>\n<p>\u58f0\u97f3\u6863\u5c06\u5728\u4e4b\u540e\u7684\u5b66\u4e60\u4e2d\u8be6\u8ff0\u3002\u4f46\u662f\u4f60\u60f3\u8d85\u524d\u4e00\u70b9\u4e5f\u6ca1\u95ee\u9898\uff0c\u53bb\u770b <strong><em>PlayBuf<\/em><\/strong> \u548c <strong><em>Buffer<\/em><\/strong> \u7684\u5e2e\u52a9\u6587\u6863\u3002<\/p>\n<pre class=\"brush:jfx\">\/\/ \u5148\u8fd0\u884c\u6211\u4ee5\u8f7d\u5165\u58f0\u97f3\u6863\r\n(\r\nb=Buffer.read(s,\"sounds\/a11wlk01.wav\");\r\n)<\/pre>\n<pre class=\"brush:jfx\">\/\/ \u73b0\u5728\u8f6e\u5230\u6211\u4e86!\r\n(\r\n\r\n{\r\nvar modf, ind, modulator;\r\nvar b1;\r\n\r\nb1= b.bufnum;\r\n\r\nmodf= MouseX.kr(1,4400, 'exponential');\r\nind=MouseY.kr(0.0,1.0, 'linear');\r\n\r\nmodulator= SinOsc.kr(modf,0,10*modf*ind, 440); \r\n\r\nPlayBuf.ar(1,b1, BufRateScale.kr(b1)* (modulator\/440), 1, 0, 1)\r\n\r\n}.play;\r\n)<\/pre>\n<hr \/>\n<p><span style=\"color: #00ff00;\"><strong>\u56de\u5230\u949f\u58f0<\/strong><\/span><\/p>\n<p>\u73b0\u5728\u56de\u5230\u6211\u4eec\u4e4b\u524d\u5408\u6210\u7684\u949f\u58f0\u5e76\u4e3a\u4e4b\u589e\u6dfb\u4e00\u4e9b\u8c03\u5236\u6548\u679c\uff0c\u4ee5\u5f97\u5230\u4e00\u4e2a\u66f4\u4e30\u5bcc\u3001\u66f4\u6d3b\u8dc3\u7684\u58f0\u97f3\u3002<\/p>\n<pre class=\"brush:jfx\">\/\/ \u66f4\u4e30\u5bcc\u949f\u58f0\u7684patch\r\n(\r\nvar numpartials, spectrum, amplitudes, modfreqs1, modfreqs2, decaytimes;\r\n\r\nspectrum = [0.5,1,1.19,1.56,2,2.51,2.66,3.01,4.1];\r\n\r\namplitudes= [0.25,1,0.8,0.5,0.9,0.4,0.3,0.6,0.1];\r\n\r\nnumpartials = spectrum.size;\r\n\r\n\/\/ \u4ece1 \u5230 5 Hz \u7684\u9707\u97f3\r\nmodfreqs1 = Array.rand(numpartials, 1, 5.0); \r\n\r\n\/\/ \u98a4\u97f3\u7387\u4ece0.1 \u5230 3 Hz\r\nmodfreqs2 = Array.rand(numpartials, 0.1, 3.0);  \r\n\r\n\/\/\u4ece2.5 \u5230 7.5 \u79d2\u5f00\u59cb\u8870\u51cf\r\ndecaytimes = Array.rand(numpartials, 2.5,7.5); \r\n\r\n{\r\nMix.fill(spectrum.size, {arg i;\r\nvar amp, freq;\r\n\r\nfreq= (spectrum[i]+(SinOsc.kr(modfreqs1[i],0,0.005)))*500;\r\namp= 0.1* Line.kr(1,0,decaytimes[i])*(SinOsc.ar(modfreqs2[i],0,0.1,0.9)* amplitudes[i]);\r\n\r\nPan2.ar(SinOsc.ar(freq, 0, amp),1.0.rand2)});\r\n}.scope\r\n\r\n)<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\u4e30\u6ee1\u5408\u5531 (Fat Chorus) \u6211\u4eec\u5236\u4f5c\u4e00\u4e2a\u5f7c\u6b64\u95f4\u8f7b\u5fae\u53bb\u8c10(detune)\u7684\u632f\u8361\u5668\u6570\u7ec4\uff0c\u5e76\u5c06\u5b83\u4eec\u6df7\u5165\u5355\u58f0\u9053\u3002<\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[69],"tags":[70],"class_list":["post-1031","post","type-post","status-publish","format-standard","hentry","category-supercollider3","tag-supercollider"],"blocksy_meta":[],"_links":{"self":[{"href":"https:\/\/learn.travelchinawith.me\/index.php?rest_route=\/wp\/v2\/posts\/1031","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/learn.travelchinawith.me\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/learn.travelchinawith.me\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/learn.travelchinawith.me\/index.php?rest_route=\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/learn.travelchinawith.me\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1031"}],"version-history":[{"count":3,"href":"https:\/\/learn.travelchinawith.me\/index.php?rest_route=\/wp\/v2\/posts\/1031\/revisions"}],"predecessor-version":[{"id":1033,"href":"https:\/\/learn.travelchinawith.me\/index.php?rest_route=\/wp\/v2\/posts\/1031\/revisions\/1033"}],"wp:attachment":[{"href":"https:\/\/learn.travelchinawith.me\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1031"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/learn.travelchinawith.me\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1031"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/learn.travelchinawith.me\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1031"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}