{"id":1203,"date":"2011-03-16T13:22:30","date_gmt":"2011-03-16T05:22:30","guid":{"rendered":"http:\/\/www.ccttours.com\/blog\/?p=1203"},"modified":"2011-03-16T13:22:30","modified_gmt":"2011-03-16T05:22:30","slug":"sc%ef%bc%9a%e5%8a%a0%e6%b3%95%e5%90%88%e6%88%90%ef%bc%8c%e9%9a%8f%e6%9c%ba%e6%95%b0%e5%ad%97%ef%bc%8ccpu%e5%8d%a0%e7%94%a8","status":"publish","type":"post","link":"https:\/\/learn.travelchinawith.me\/?p=1203","title":{"rendered":"SC\uff1a\u52a0\u6cd5\u5408\u6210\uff0c\u968f\u673a\u6570\u5b57\uff0cCPU\u5360\u7528"},"content":{"rendered":"<p>\u4e3a\u4ec0\u4e48\u5728\u7ecf\u8fc7\u5dee\u4e0d\u591a50\u5e74\u7684\u7535\u5b50\u97f3\u4e50\u548c\u4e50\u5668\u8bbe\u8ba1\u540e\uff0c\u6211\u4eec\u4ecd\u80fd\u542c\u51fa\u67d0\u4e9b\u4e50\u5668\u662f\u88ab\u5408\u6210\u7684\uff1f\u7edd\u5927\u591a\u6570\u5408\u6210\u5668\u90fd\u7f3a\u4e4f\u590d\u6742\u6027\u548c\u6df7\u6c8c\uff08chao\uff09\u3002\u751a\u81f3\u8fde\u91c7\u6837\u7684\u4e50\u5668\u542c\u8d77\u6765\u90fd\u4e0d\u771f\uff0c\u56e0\u4e3a\u5bf9\u4e8e\u4efb\u4f55\u4e50\u5668\u97f3\u7b26\u7684\u7cbe\u786e\u590d\u5236\u90fd\u5e76\u975e\u90a3\u4e2a\u4e50\u5668\u7684\u771f\u5b9e\u8868\u73b0\u3002\u5c06\u4e00\u7247\u6811\u53f6\u7684\u9ad8\u5206\u8fa8\u7387\u6570\u7801\u7167\u7247\u590d\u5236n\u4e2a\u770b\u8d77\u6765\u4e5f\u4e0d\u4f1a\u50cf\u4e00\u68f5\u6811\u3002\u4e00\u68f5\u6811\u4e0a\u7684\u6240\u6709\u53f6\u5b50\u90fd\u4e0d\u540c\uff0c\u5e76\u4e14\u5b83\u4eec\u662f\u5b9e\u65f6\u6539\u53d8\u7684\u3002\u5bf9\u4e8e\u94a2\u7434\u6765\u8bf4\u4e5f\u662f\u8fd9\u6837\u3002\u6bcf\u4e2a\u952e\u90fd\u6709\u5b83\u4e13\u5c5e\u7684\u548c\u58f0\u6307\u7eb9\u3002\u751a\u81f3\u8fde\u7eed\u6572\u51fb\u540c\u6837\u7684\u952e\u57fa\u4e8e\u8ddd\u4e0a\u4e00\u4e2a\u97f3\u7b26\u4ea7\u751f\u540e\u9707\u52a8\u5f26\u7684\u4f4d\u7f6e\u4e5f\u4f1a\u4ea7\u751f\u4e0d\u540c\u7684\u6cdb\u97f3\u3002\u771f\u4e50\u5668\u662f\u590d\u6742\u548c\u6df7\u6c8c\u7684\u3002\u6bcf\u4e2a\u97f3\u7b26\u90fd\u5f88\u72ec\u7279\u3002\u5c3d\u7ba1\u7efc\u5408\u7684\u4e0a\u5c42\u8c10\u6ce2\u5185\u5bb9\u4fdd\u6301\u6052\u5b9a\uff0c\u4f46\u5c0f\u7684\u7ec6\u8282\u6539\u53d8\u4e86\u3002SC\u662f\u6211\u78b0\u5230\u7684\u7b2c\u4e00\u4e2a\u80fd\u591f\u5b9e\u65f6\u5904\u7406\u8fd9\u4e9b\u590d\u6742\u5de5\u5e8f\u7684\u5de5\u5177\u3002\u6211\u4eec\u5c06\u7528\u6700\u590d\u6742\u548c\u8f85\u52a9\u8ba1\u7b97\u96c6\u4e2d\u6cd5\uff08\u4ee5\u53ca\u5728\u7ed3\u679c\u65b9\u9762\u6700\u6709\u76ca\u7684\uff09\u6765\u5f00\u59cb\u5408\u6210\u7406\u8bba\uff1a\u52a0\u6cd5\u5408\u6210\uff08additive synthesis\uff09\u3002<br \/>\n<!--more--><\/p>\n<h3>\u8c10\u6ce2\u7cfb\uff08Harmonic Series\uff09\u548c\u6ce2\u5f62<\/h3>\n<p>\u5728\u4e4b\u524d\u7684\u7ae0\u8282\u4e2d\uff0c\u8c10\u6ce2\u7cfb\u51b3\u5b9a\u58f0\u97f3\u7684\u7279\u6027\u3002\u6bcf\u4e2a\u548c\u58f0\u7684\u5b58\u5728\u548c\u5f3a\u5ea6\u5b9a\u4e49\u8fd9\u4e2a\u7279\u6027\u3002\u4f46\u4e00\u6839\u5f26\u6216\u4e00\u4e2a\u632f\u52a8\u4f53\u5982\u4f55\u4ea7\u751f\u4e00\u7cfb\u5217\u76f8\u5173\u9891\u7387\u5462\uff1f<\/p>\n<p>\u5bc6\u5ea6\u548c\u5f20\u529b\u5bf9\u7b49\u7684\u6761\u4ef6\u4e0b\uff0c\u77ed\u7684\u5f26\u6bd4\u957f\u7684\u5f26\u9707\u52a8\u66f4\u5feb\u3002\u5982\u679c\u4f60\u5747\u5206\u4e00\u4e2a\u901a\u5e38\u4ee5100Hz\u632f\u52a8\u7684\u5f26\uff0c\u5b83\u5c06\u4f1a\u8bae\u4e24\u500d\u7684\u901f\u5ea6\u632f\u52a8\uff0c\u6216\u8005\u8bf4\u4ee5200Hz\u632f\u52a8\u3002\u5982\u679c\u4f60\u5c06\u4e4b\u7f29\u77ed\u4e3a\u539f\u5148\u957f\u5ea6\u7684\u4e09\u5206\u4e4b\u4e00\uff0c\u5b83\u5c06\u4ee5300Hz\u7684\u9891\u7387\u632f\u52a8\u3002\u4f9d\u6b64\u7c7b\u63a8\u3002\u5982\u6b64\u5206\u5f00\u4e00\u6839\u5f26\u5c06\u4ea7\u751f\u548c\u58f0\/\u8c10\u6ce2\uff08harmonic\uff09\u3002\u548c\u58f0\u662f\u897f\u65b9\u97f3\u4e50\u97f3\u7ea7\u7684\u57fa\u7840\u3002\u4e0b\u56fe\u5c55\u793a\u4e86\u5bf9\u5e94\u6bcf\u4e2a\u4e0a\u5c42\u8c10\u6ce2\u7684\u97f3\u3002\u6700\u4f4e\u7684C\u5927\u698265Hz\uff0c\u63a5\u4e0b\u6765\u662f130\uff0c 195\uff0c 260\uff08\u4e2d\u592eC\uff09\uff0c325\uff0c390, 455, 520, 585, 650, 715, 780, 845, 910, 975, 1040\u3002<\/p>\n<figure id=\"attachment_1205\" aria-describedby=\"caption-attachment-1205\" style=\"width: 481px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/learn.travelchinawith.me\/wp-content\/uploads\/2011\/03\/p11.gif\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/learn.travelchinawith.me\/wp-content\/uploads\/2011\/03\/p11.gif\" alt=\"\u5f26\u632f\u52a8\u548c\u4e0a\u5c42\u8c10\u6ce2\" title=\"\u5f26\u632f\u52a8\u548c\u4e0a\u5c42\u8c10\u6ce2\" width=\"481\" height=\"91\" class=\"size-full wp-image-1205\" srcset=\"https:\/\/learn.travelchinawith.me\/wp-content\/uploads\/2011\/03\/p11.gif 481w, https:\/\/learn.travelchinawith.me\/wp-content\/uploads\/2011\/03\/p11-480x90.gif 480w\" sizes=\"auto, (max-width: 481px) 100vw, 481px\" \/><\/a><figcaption id=\"caption-attachment-1205\" class=\"wp-caption-text\">\u5f26\u632f\u52a8\u548c\u4e0a\u5c42\u8c10\u6ce2<\/figcaption><\/figure>\n<p>\u7edd\u5927\u591a\u6570\u5f26\uff08\u4ee5\u53ca\u4e50\u5668\u4f53\uff09\u540c\u65f6\u4ee5\u5168\u90e8\u90a3\u4e9b\u9891\u7387\u632f\u52a8\u3002\u5f26\u5728\u5168\u90e8\u957f\u5ea6\u4e0a\u632f\u52a8\u7684\u540c\u65f6\uff0c\u540c\u6837\u5728\u4e00\u534a\u7684\u957f\u5ea6\u4e0a\u632f\u52a8\uff08\u770b\u4e0b\u8fb9\u7684\u56fe\u793a\uff0c\u6ce8\u610f\u5168\u90e8\u52a8\u4f5c\u662f\u540c\u65f6\u53d1\u751f\u7684\uff09\u3002\u90a3\u4e2a\u4e00\u534a\u957f\u5ea6\u632f\u52a8\u7684\u9891\u7387\u662f\u4e24\u500d\u5feb\u3002\u5b83\u540c\u6837\u4f1a\u4ee51\/3\uff0c1\/4&#8230;1\/n\u7684\u957f\u5ea6\u632f\u52a8\u3002\u56e0\u6b64\u4e00\u6839\u4ee565Hz\u632f\u52a8\u7684\u5f26\uff0c\u540c\u6837\u4f1a\u5236\u9020130, 195\u7b49\u9891\u7387\u3002<\/p>\n<figure id=\"attachment_1206\" aria-describedby=\"caption-attachment-1206\" style=\"width: 352px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/learn.travelchinawith.me\/wp-content\/uploads\/2011\/03\/p21.gif\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/learn.travelchinawith.me\/wp-content\/uploads\/2011\/03\/p21.gif\" alt=\"\u632f\u52a8\u7684\u5f26\" title=\"\u632f\u52a8\u7684\u5f26\" width=\"352\" height=\"297\" class=\"size-full wp-image-1206\" \/><\/a><figcaption id=\"caption-attachment-1206\" class=\"wp-caption-text\">\u632f\u52a8\u7684\u5f26<\/figcaption><\/figure>\n<p>\u97f3\u8272\u4e0d\u4ec5\u662f\u5b58\u5728\uff0c\u540c\u6837\u4e5f\u662f\u8fd9\u4e9b\u8c10\u6ce2\u7684\u632f\u5e45\u3002\u6bcf\u4e2a\u8c10\u6ce2\u90fd\u662f\u4e00\u6761\u6b63\u5f26\u6ce2\u3002\u4e00\u822c\u5730\uff0c\u8f83\u9ad8\u7684\u8c10\u6ce2\u6709\u8f83\u4f4e\u7684\u632f\u5e45\uff0c\u4f46\u6bcf\u4e2a\u8c10\u6ce2\u7684\u5b9e\u9645\u632f\u5e45\u5c06\u4e0e\u6bcf\u4e2a\u97f3\u8272\u4e0d\u540c\u3002\u9ad8\u6b21\u8c10\u6ce2\uff08upper harmonics\uff09\u7684\u5b58\u5728\u548c\u632f\u5e45\u662f\u4efb\u4f55\u58f0\u97f3\u7684\u97f3\u8272\u6307\u7eb9\u3002\u5c0f\u63d0\u7434\u6709\u8f83\u5f3a\u7684\u4e09\u6b21\u8c10\u6ce2\uff08third harmonic\uff09\uff0c\u8f83\u5f31\u7684\u56db\u6b21\uff0c\u6ca1\u6709\u4e94\u6b21\uff0c\u5f31\u7684\u516d\u6b21\u3002\u540c\u65f6\uff0c\u957f\u53f7\u6709\u82e5\u7684\u4e09\u6b21\uff0c\u5f3a\u7684\u56db\u6b21\uff0c\u7b49\u7b49\u3002\u4e0b\u8fb9\u662f\u5409\u4ed6\uff0c\u8428\u514b\u65af\uff0c\u94c3\u548c\u7535\u94a2\u7434\u5404\u6f14\u594f\u4e24\u4e2a\u97f3\u7b26\u7684\u58f0\u6ce2\u56fe\uff08\u5b83\u4eec\u662f\u88ab\u5408\u6210\u7684\uff0c\u4f46\u6e05\u6670\u53ef\u8fa8\uff09\u3002\u6ce8\u610f\u770b\u9ad8\u6b21\u8c10\u6ce2\u7684\u533a\u522b\u3002<\/p>\n<figure id=\"attachment_1207\" aria-describedby=\"caption-attachment-1207\" style=\"width: 542px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/learn.travelchinawith.me\/wp-content\/uploads\/2011\/03\/p31.gif\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/learn.travelchinawith.me\/wp-content\/uploads\/2011\/03\/p31.gif\" alt=\"\u5409\u4ed6\uff0c\u8428\u514b\u65af\uff0c\u94c3\u548c\u7535\u94a2\u7434\u9ad8\u6b21\u8c10\u6ce2\u7684\u533a\u522b\" title=\"\u5409\u4ed6\uff0c\u8428\u514b\u65af\uff0c\u94c3\u548c\u7535\u94a2\u7434\u9ad8\u6b21\u8c10\u6ce2\u7684\u533a\u522b\" width=\"542\" height=\"270\" class=\"size-full wp-image-1207\" srcset=\"https:\/\/learn.travelchinawith.me\/wp-content\/uploads\/2011\/03\/p31.gif 542w, https:\/\/learn.travelchinawith.me\/wp-content\/uploads\/2011\/03\/p31-480x239.gif 480w\" sizes=\"auto, (max-width: 542px) 100vw, 542px\" \/><\/a><figcaption id=\"caption-attachment-1207\" class=\"wp-caption-text\">\u5409\u4ed6\uff0c\u8428\u514b\u65af\uff0c\u94c3\u548c\u7535\u94a2\u7434\u9ad8\u6b21\u8c10\u6ce2\u7684\u533a\u522b<\/figcaption><\/figure>\n<p>\u4e0b\u56fe\u662f\u8bf4\u201cfour score and seven years.\u201d\u7684\u4eba\u58f0\u58f0\u6ce2\u56fe\u3002\u808b\u72b6\u7269\u5373\u8c10\u6ce2\u3002\u6ce8\u610fseven\u4e2d\u4e24\u4e2ae\u7684\u533a\u522b\uff0c\u4ee5\u53cascore\u548cyears\u4e2d\u4e24\u4e2ar\u7684\u533a\u522b\u3002year\u4e2d\u7684r\u4e00\u5f00\u59cb\u7684\u4e09\u4e2a\u8c10\u6ce2\u662f\u5f3a\u7684\uff0c\u7136\u540e\u662f\u5927\u6982\u56db\u4e2a\u5c0f\u65f6\u8c10\u6ce2\u7684\u8303\u56f4\uff0c\u7136\u540e\u662f\u56db\u4e2a\u76f8\u5bf9\u5f3a\u5ea6\uff08relative strength\uff09\u7684\u8c10\u6ce2\u3002\u540c\u6837\u6ce8\u610f\uff0c\u6bcf\u4e2a\u8c10\u6ce2\u5e26\u662f\u72ec\u7acb\u7684\uff0c\u5e76\u968f\u6bcf\u4e2a\u5355\u8bcd\u6f14\u5316\u3002<\/p>\n<figure id=\"attachment_1208\" aria-describedby=\"caption-attachment-1208\" style=\"width: 480px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/learn.travelchinawith.me\/wp-content\/uploads\/2011\/03\/p41.gif\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/learn.travelchinawith.me\/wp-content\/uploads\/2011\/03\/p41-480x200.gif\" alt=\"\u201cfour score and seven years\u201d\u5149\u8c31\u5206\u6790\" title=\"\u201cfour score and seven years\u201d\u5149\u8c31\u5206\u6790\" width=\"480\" height=\"200\" class=\"size-thumbnail wp-image-1208\" \/><\/a><figcaption id=\"caption-attachment-1208\" class=\"wp-caption-text\">\u201cfour score and seven years\u201d\u5149\u8c31\u5206\u6790<\/figcaption><\/figure>\n<p>\u8ba4\u8bc6\u5230\u97f3\u8272\uff08\u6ce2\u5f62\u548c\u9ad8\u6b21\u8c10\u6ce2\u7684\u5b58\u5728\uff09\u662f\u5b9e\u65f6\u53d8\u5316\u7684\u540c\u6837\u91cd\u8981\u3002\u7edd\u5927\u591a\u6570\u97f3\u4e50\u5bb6\u4e89\u53d6\uff0c\u4f46\u4ece\u672a\u8fbe\u81f4\u5b8c\u7f8e\u7684\u97f3\u8d28\u3002\u7136\u800c\u6b63\u662f\u8d85\u7ea7\u9519\u8bef\u4f7f\u5f97\u58f0\u97f3\u81ea\u7136\u3002\u5408\u6210\u7684\u58f0\u97f3\u6709\u5b8c\u7f8e\u7684\u540c\u6e90\u97f3\u8272\uff0c\u4f46\u6211\u4eec\u5e76\u4e0d\u559c\u6b22\u3002\u4e3e\u4f8b\u8bf4\uff0c\u952f\u9f7f\u6ce2\u5b9e\u9645\u4e0a\u662f\u4e00\u7cfb\u5217\u7528\u76f8\u5bf9\u8f83\u4f4e\u7684\u632f\u5e45\u8c03\u81f3\u8c10\u6ce2\u7cfb\u7684\u6b63\u5f26\u6ce2\u3002\u5bf9\u5176\u4ed6\u590d\u6742\u7684\u6ce2\u6765\u8bf4\u4e5f\u662f\u4e00\u6837\u7684\uff1a\u65b9\u6ce2\uff0c\u4e09\u89d2\u6ce2\uff0c\u751a\u81f3\u566a\u97f3\u3002\u6240\u6709\u90fd\u53ef\u4ee5\u7528\u5355\u72ec\u7684\u6b63\u5f26\u6ce2\u6765\u6784\u9020\u3002\u8fd9\u4fbf\u662f\u52a0\u6cd5\u5408\u6210\u7406\u8bba\u3002<\/p>\n<h3>\u52a0\u6cd5\u5408\u6210<\/h3>\n<p>\u7edd\u5927\u591a\u6570\u5408\u6210\u5668\u90fd\u63d0\u4f9b\u5404\u5f0f\u6ce2\u5f62\u4ee5\u642d\u5efa\u58f0\u97f3\uff0c\u4f46\u5982\u679c\u6ce2\u5f62\u662f\u9884\u5148\u786e\u5b9a\u7684\u8bdd\uff0c\u4f60\u4fbf\u5bf9\u4e2a\u4f53\u7684\u8c10\u6ce2\u5931\u53bb\u4e86\u63a7\u5236\uff08\u6ee4\u6ce2\u4e4b\u5916\uff09\u3002\u4f46\u5b83\u4eec\u4ecd\u7136\u65e0\u6cd5\u505a\u52a0\u6cd5\u5408\u6210\uff0c\u56e0\u4e3a\u5b83\u4eec\u53ef\u80fd\u4ec5\u6709\u56db\u6216\u4e94\u4e2a\u6b63\u5f26\u632f\u8361\u5668\u4ee5\u53ca\u4e24\u4e09\u4e2a\u5305\u7edc\u751f\u6210\u5668\u3002\u4f46\u52a0\u6cd5\u5408\u6210\u5141\u8bb8\u5bf9\u6bcf\u4e2a\u6ce2\u7684\u53c2\u6570\u8fdb\u884c\u72ec\u7acb\u63a7\u5236\uff0cSC\u662f\u5408\u6210VCO\u7684\u865a\u62df\u4ed3\u5e93\u3002\u4ec5\u4ec5\u51e0\u884c\uff0c\u4f60\u4fbf\u53ef\u521b\u5236\u6570\u767e\u62e5\u6709\u72ec\u7acb\u5305\u7edc\u7684\u5206\u97f3\uff08partials\uff09\u3002\u4f46\u8ba9\u6211\u4eec\u5148\u4ece\u4e00\u6253\u5f00\u59cb\u3002<\/p>\n<p>\u4e0b\u8fb9\u662f\u4e00\u4e2a\u9891\u7387\u4e3a200Hz\u7684\u952f\u9f7f\u6ce2\u58f0\u6ce2\u56fe\u3002\u4e0d\u4ec5\u56e0\u4e3a\u5176\u5177\u5907\u5168\u90e8\u8c10\u6ce2\uff0c\u800c\u4e14\u5b83\u4eec\u975e\u5e38\u5e73\u5766\u8fde\u8d2f\u3002\u8fd9\u4e9b\u9ad8\u6b21\u8c10\u6ce2\u4e2d\u7684\u4efb\u610f\u4e00\u4e2a\u90fd\u53ef\u4ee5\u88ab\u60f3\u4f5c\u662f\u9891\u7387\u4e58\u4ee5\u6700\u4f4e\uff0c\u6216\u57fa\u7840\u9891\u7387\u7684\u6b63\u5f26\u6ce2\u3002<\/p>\n<figure id=\"attachment_1209\" aria-describedby=\"caption-attachment-1209\" style=\"width: 496px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/learn.travelchinawith.me\/wp-content\/uploads\/2011\/03\/p5.gif\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/learn.travelchinawith.me\/wp-content\/uploads\/2011\/03\/p5.gif\" alt=\"\u9891\u7387\u4e3a200Hz\u7684\u952f\u9f7f\u6ce2\u58f0\u6ce2\u56fe\" title=\"\u9891\u7387\u4e3a200Hz\u7684\u952f\u9f7f\u6ce2\u58f0\u6ce2\u56fe\" width=\"496\" height=\"114\" class=\"size-full wp-image-1209\" srcset=\"https:\/\/learn.travelchinawith.me\/wp-content\/uploads\/2011\/03\/p5.gif 496w, https:\/\/learn.travelchinawith.me\/wp-content\/uploads\/2011\/03\/p5-480x110.gif 480w\" sizes=\"auto, (max-width: 496px) 100vw, 496px\" \/><\/a><figcaption id=\"caption-attachment-1209\" class=\"wp-caption-text\">\u9891\u7387\u4e3a200Hz\u7684\u952f\u9f7f\u6ce2\u58f0\u6ce2\u56fe<\/figcaption><\/figure>\n<p>\u6b32\u91cd\u5efa\u8fd9\u4e2a\u952f\u9f7f\u6ce2\uff0c\u6211\u4eec\u9700\u8981\u72ec\u7acb\u7684\u8c10\u6ce2\u6b63\u5f26\u6ce2\uff0c\u6216\u8005\u8bf4\u4e58\u4ee5\u57fa\u7840\u9891\u7387\u3002\u4e0b\u8fb9\u662f\u4e00\u4e2a\u57fa\u7840\u9891\u7387\u4e3a400\u7684\u7c97\u52a0\u5de5\u7248\u672c\u3002\u5c0612\u4e2a\u6b63\u5f26\u6ce2\u53e0\u52a0\u901a\u5e38\u4f1a\u5931\u771f\uff0c\u56e0\u6b64\u5b83\u4eec\u90fd\u88ab\u7f29\u52300.1\u3002<\/p>\n<p><strong>14.4. \u53e0\u52a0\u6b63\u5f26\u6ce2<\/strong><\/p>\n<pre class=\"brush:jfx\">(\r\n{\r\n(\r\n    SinOsc.ar(400) + SinOsc.ar(800) + SinOsc.ar(1200) +\r\n    SinOsc.ar(1600) + SinOsc.ar(2000) + SinOsc.ar(2400) +\r\n    SinOsc.ar(2800) + SinOsc.ar(3200) + SinOsc.ar(3600) +\r\n    SinOsc.ar(4000) + SinOsc.ar(4400) + SinOsc.ar(4800)\r\n)*0.1\r\n}.scope\r\n)<\/pre>\n<pre class=\"brush:jfx\">\/\/ \u8c10\u6ce2\u8c03\u6574\u540e\r\n(\r\n{\r\n(\r\n    SinOsc.ar(400, mul: 1) + SinOsc.ar(800, mul: 1\/2) +\r\n    SinOsc.ar(1200, mul: 1\/3) + SinOsc.ar(1600, mul: 1\/4) +\r\n    SinOsc.ar(2000, mul: 1\/5) + SinOsc.ar(2400, mul: 1\/6) +\r\n    SinOsc.ar(2800, mul: 1\/7) + SinOsc.ar(3200, mul: 1\/8) +\r\n    SinOsc.ar(3600, mul: 1\/9) + SinOsc.ar(4000, mul: 1\/10) +\r\n    SinOsc.ar(4400, mul: 1\/11) + SinOsc.ar(4800, mul: 1\/12)\r\n)*0.1\r\n}.scope\r\n)<\/pre>\n<p>\u7b2c\u4e8c\u4f8b\u591a\u505a\u4e86\u4e00\u4e2a\u8c03\u6574\u3002\u6bcf\u4e2a\u6b63\u5f26\u6ce2\u7684\u632f\u5e45\u5e94\u4e0e\u5206\u97f3\u6570\u91cf\u540c\u6bd4\u4f8b\u51cf\u5c0f\u3002\u7b2c\u4e8c\u5206\u97f3\u5e94\u662f\u7b2c\u4e00\u4e2a\u97f3\u91cf\u76841\/2\uff0c\u7b2c\u4e09\u4e2a\u662f1\/3\uff0c\u7b2c\u56db\u4e2a\u662f1\/4\uff0c\u4ee5\u6b64\u7c7b\u63a8\u3002<\/p>\n<p>\u53e6\u4e00\u4f8b\u4f7f\u7528\u4e00\u4e2a\u53d8\u91cf\u6765\u8ba1\u7b97\u9ad8\u6b21\u8c10\u6ce2\uff0c\u5e76\u4e14\u4f7f\u7528\u4e86\u4e00\u4e2a\u6570\u7ec4\u6765\u8bb2\u6b63\u5f26\u6ce2\u5206\u5e03\u5230\u4e0d\u540c\u7684\u603b\u7ebf\uff08bus\uff09\u4e0a\u3002\u4f60\u5e94\u8be5\u6ca1\u670912\u4e2a\u8f93\u51fa\uff0c\u4f46\u6ca1\u95ee\u9898\uff0c\u5b83\u53ea\u6253\u7b97\u88ab\u770b\u5230\u800c\u4e0d\u662f\u88ab\u542c\u5230\u3002\u5728\u8fd0\u884c\u5b83\u4e4b\u524d\uff0c\u5c06\u4f60\u7684\u626c\u58f0\u5668\u5173\u5c0f\u540c\u65f6\u6253\u5f00\u58f0\u97f3\u7cfb\u7edf\u8bbe\u7f6e\uff0c\u9009\u62e9\u7ebf\u8def\u8f93\u5165\u4f5c\u4e3a\u8f93\u5165\uff08\u4f46\u4e0d\u8fde\u63a5\u4efb\u4f55\u4e1c\u897f\uff09\u3002\u8fd9\u5c06\u4fdd\u8bc1\u6ca1\u6709\u4efb\u4f55\u8f93\u5165\u4fe1\u53f7\u4f1a\u5f71\u54cd\u5230\u6ce2\u3002\u8bb0\u5f97\u4f60\u53ef\u4ee5\u8c03\u6574scope\u7a97\u53e3\u7684\u5927\u5c0f\u4ee5\u66f4\u597d\u7684\u67e5\u770b\u6bcf\u6761\u6ce2\u3002<\/p>\n<p><strong>14.5. \u53d8\u91cf\u505a\u52a0\u6cd5\u5408\u6210<\/strong><\/p>\n<pre class=\"brush:jfx\">(\r\n{\r\nf = 100;\r\n[\r\n   SinOsc.ar(f*1, mul: 1), SinOsc.ar(f*2, mul: 1\/2),\r\n   SinOsc.ar(f*3, mul: 1\/3), SinOsc.ar(f*4, mul: 1\/4),\r\n   SinOsc.ar(f*5, mul: 1\/5), SinOsc.ar(f*6, mul: 1\/6),\r\n   SinOsc.ar(f*7, mul: 1\/7), SinOsc.ar(f*8, mul: 1\/8),\r\n   SinOsc.ar(f*9, mul: 1\/9), SinOsc.ar(f*10, mul: 1\/10),\r\n   SinOsc.ar(f*11, mul: 1\/11), SinOsc.ar(f*12, mul: 1\/12)\r\n]\r\n}.scope(12)\r\n)<\/pre>\n<p>\u5728\u8c03\u6574\u597d\u7a97\u53e3\u5927\u5c0f\u4e4b\u540e\uff0c\u6309S\u952e\u5c06\u6a21\u5f0f\u8c03\u6574\u4e3aoverlay\uff08\u8986\u76d6\uff09\u3002\u8fd9\u4e2a\u52a8\u4f5c\u5c06\u8986\u76d6\u6240\u6709\u6b63\u5f26\u6ce2\u5230\u4e00\u4e2a\u8303\u56f4\u5185\u3002\u5b83\u4eec\u5c06\u770b\u8d77\u6765\u5982\u4e0b\u56fe\uff1a<\/p>\n<figure id=\"attachment_1210\" aria-describedby=\"caption-attachment-1210\" style=\"width: 457px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/learn.travelchinawith.me\/wp-content\/uploads\/2011\/03\/p6.gif\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/learn.travelchinawith.me\/wp-content\/uploads\/2011\/03\/p6.gif\" alt=\"\u516d\u6761\u6b63\u5f26\u6ce2\u53e0\u52a0\" title=\"\u516d\u6761\u6b63\u5f26\u6ce2\u53e0\u52a0\" width=\"457\" height=\"625\" class=\"size-full wp-image-1210\" \/><\/a><figcaption id=\"caption-attachment-1210\" class=\"wp-caption-text\">\u516d\u6761\u6b63\u5f26\u6ce2\u53e0\u52a0<\/figcaption><\/figure>\n<p>\u8fd9\u4e2apatch\u56fe\u793a\u4e86\u8c10\u6ce2\u662f\u5982\u4f55\u76f8\u4e92\u4f5c\u7528\u7684\u3002\u5728\u56fe\u793a\u7ea61\/4\u7684\u5730\u65b9\uff0c\u4f60\u53ef\u4ee5\u770b\u5230\u6240\u6709\u7684\u6b63\u5f26\u6ce2\u662f\u5982\u4f55\u540c\u6b65\u88ab\u63a8\u5411\u6ce2\u5cf0\u7684\u3002\u8fd9\u4e5f\u521b\u9020\u4e86\u952f\u9f7f\u6ce2\u950b\u5229\u7684\u8fb9\u7f18\u3002\u968f\u7740\u66f4\u9ad8\u7684\u8c10\u6ce2\u5411\u4e0b\u79fb\u52a8\uff0c\u5b83\u4eec\u5f00\u59cb\u5220\u9664\u6389\u66f4\u4f4e\u7684\u6ce2\u7684\u80fd\u91cf\u3002\u8fd9\u4e2a\u8fc7\u7a0b\u7684\u96c6\u5408\u4f53\u662f\u968f\u7740\u66f4\u591a\u8c10\u6ce2\u79fb\u5165\u5b83\u4eec\u5468\u671f\uff08cycle\uff09\u8d1f\u7684\u76f8\u4f4d\u65f6\uff0c\u4e00\u6761\u80fd\u91cf\u9010\u6e10\u4e0b\u964d\u7684\u659c\u5761\uff0c\u76f4\u5230\u6a21\u5f0f\u7684\u6700\u540e\uff0c\u4f60\u53ef\u4ee5\u770b\u5230\u5b83\u4eec\u6216\u591a\u6216\u5c11\u6296\u4f4d\u4e8e\u56fe\u793a\u8d1f\u7684\u90e8\u5206\u3002\u8fd9\u662f\u952f\u9f7f\u6ce2\u7684\u5e95\u90e8\u3002\u7b2c\u4e8c\u4e2a\u56fe\u793a\u662f\u6df7\u5408\u540e\u540c\u6837\u7684patch\u3002\u6211\u8bd5\u56fe\u5c06\u5b83\u4eec\u6392\u5217\u8d77\u6765\u4ee5\u4f7f\u5468\u671f\u5339\u914d\u3002<\/p>\n<p>\u8fd9\u662f\u5bf9\u6b64\u7684\u53e6\u4e00\u79cd\u601d\u8003\uff1a\u6211\u4eec\u77e5\u9053\u6240\u6709\u9ad8\u6b21\u5206\u97f3\u90fd\u662f\u57fa\u7840\u9891\u7387\u7684\u4e58\u79ef\uff0c\u4f1a\u6709\u4e00\u4e9b\u5b83\u4eec\u90fd\u5904\u4e8e0\u7684\u70b9\uff08100 Hz, 200 Hz, 300Hz\uff0c\u7b49\u7b49\uff0c\u6bcf\u79d2\u90fd\u4f1a\u5f520\uff09\u3002\u540c\u65f6\uff0c\u8fd8\u4f1a\u6709\u5b83\u4eec\u90fd\u4f4d\u4e8e\u6ce2\u5cf0\u7684\u540c\u6b65\uff1a1\u6216\u8005-1\u3002\u8fd9\u662f\u6570\u5b66\u4e8b\u5b9e\uff0c\u56e0\u4e3a\u5b83\u4eec\u662f\u500d\u6570\u3002\u5b83\u4eec\u90fd\u4f4d\u4e8e1\u7684\u70b9\u662f\u952f\u9f7f\u6ce2\u7684\u6ce2\u5cf0\u3002\u90fd\u662f0\u7684\u70b9\u5219\u662f\u4e2d\u70b9\u3002-1\u5f53\u7136\u5c31\u662f\u952f\u9f7f\u6ce2\u7684\u6ce2\u8c37\u3002\u6211\u4eec\u53ef\u4ee5\u7528\u65b9\u6ce2\u7c97\u7565\u9610\u8ff0\u8fd9\u4e2a\u6982\u5ff5\u3002<\/p>\n<p>\u6539\u53d8\u8c10\u6ce2\u5c06\u6539\u53d8\u58f0\u97f3\u7684\u7279\u6027\u3002\u6539\u53d8\u4efb\u610f\u4e00\u4e2a\u8c10\u6ce2\u7684\u632f\u5e45\u90fd\u5c06\u5fae\u5999\u7684\u6539\u53d8\u58f0\u97f3\u7279\u6027\u3002\u4f60\u53ef\u4ee5\u5c1d\u8bd5\u7528<em>MouseX.kr<\/em>\u66ff\u4ee3\u4efb\u610f\u7684mul\u5f15\u6570\uff08\u9009\u62e9\u8f83\u5927\u7684\uff09\uff0c\u5b64\u7acb\u90a3\u4e2a\u8c10\u6ce2\u7684\u632f\u5e45\u3002\u6ce8\u610f\u542c\u53d8\u5316\u3002\u4e0b\u8fb9\u662f\u5bf9\u7b49\u7684patch\uff0c\u4f46\u6bcf\u4e2a\u632f\u5e45\u90fd\u88ab\u4e00\u4e2a<em>LFNoise1<\/em>\u9010\u6b65\u63a7\u5236\u3002\u6ce8\u610f\u57fa\u7840\u97f3\u9ad8\u4fdd\u6301\u4e0d\u53d8\u7684\u540c\u65f6\uff0c\u97f3\u8d28\u6539\u53d8\u4e86\u3002\u6211\u4eec\u7684\u5927\u8111\u5c06\u6240\u6709\u6b63\u5f26\u6ce2\u52a0\u5230\u4e00\u8d77\uff0c\u7136\u540e\u4ee5\u4e00\u4e2a\u97f3\u7684\u5f62\u5f0f\u542c\u5230\u5b83\u4eec\u3002\u6ce8\u610f\u8fd9\u4e0d\u662f\u6ee4\u6ce2\uff0c\u800c\u662f\u52a0\u6cd5\u3002<\/p>\n<p><strong>14.6. \u8c03\u5236\u52a0\u6cd5\u952f\u9f7f\u6ce2<\/strong><\/p>\n<pre class=\"brush:jfx\">(\r\n{\r\nvar speed = 14;\r\nf = 300;\r\nt = Impulse.kr(1\/3);\r\nMix.ar([\r\n   SinOsc.ar(f*1, mul: LFNoise1.kr(rrand(speed, speed*2), 0.5, 0.5)\/1),\r\n   SinOsc.ar(f*2, mul: LFNoise1.kr(rrand(speed, speed*2), 0.5, 0.5)\/2),\r\n   SinOsc.ar(f*3, mul: LFNoise1.kr(rrand(speed, speed*2), 0.5, 0.5)\/3),\r\n   SinOsc.ar(f*4, mul: LFNoise1.kr(rrand(speed, speed*2), 0.5, 0.5)\/4),\r\n   SinOsc.ar(f*5, mul: LFNoise1.kr(rrand(speed, speed*2), 0.5, 0.5)\/5),\r\n   SinOsc.ar(f*6, mul: LFNoise1.kr(rrand(speed, speed*2), 0.5, 0.5)\/6),\r\n   SinOsc.ar(f*7, mul: LFNoise1.kr(rrand(speed, speed*2), 0.5, 0.5)\/7),\r\n   SinOsc.ar(f*8, mul: LFNoise1.kr(rrand(speed, speed*2), 0.5, 0.5)\/8),\r\n   SinOsc.ar(f*9, mul: LFNoise1.kr(rrand(speed, speed*2), 0.5, 0.5)\/9),\r\n   SinOsc.ar(f*10, mul: LFNoise1.kr(rrand(speed, speed*2), 0.5, 0.5)\/10),\r\n   SinOsc.ar(f*11, mul: LFNoise1.kr(rrand(speed, speed*2), 0.5, 0.5)\/11),\r\n   SinOsc.ar(f*12, mul: LFNoise1.kr(rrand(speed, speed*2), 0.5, 0.5)\/12)\r\n])*0.5\r\n}.scope(1)\r\n)<\/pre>\n<p>\u8bd5\u8bd5\u6539\u53d8speed\u7684\u503c\uff0c\u5b83\u63a7\u5236\u7740<em>LFNoise<\/em>\u7684\u9891\u7387\u3002\u7136\u540e\u7528LFNoise1\u66ff\u6362<em>LFNoise0<\/em>\uff08\u4f7f\u7528find\u548creplace\uff09\u3002\u6700\u540e\uff0c\u6700\u540e\u5c06<em>f=100<\/em>\u66ff\u6362\u4e3a<em>f=someOtherControl<\/em>\uff08\u5176\u4ed6\u63a7\u5236\uff0c\u6bd4\u5982\u6b63\u5f26\u6ce2\uff0c\u53e6\u4e00\u4e2a<em>LFNoise<\/em>\u6216\u8005\u9f20\u6807\u63a7\u5236\uff09\u3002<\/p>\n<p>\u63a5\u4e0b\u6765\u6211\u4eec\u5c06\u8981\u6dfb\u52a0\u5305\u7edc\u3002\u6211\u4eec\u53ef\u4ee5\u628a\u6700\u540e\u7684*0.5\u7528\u4e00\u4e2a\u5355\u72ec\u7684\u5305\u7edc\u66ff\u6362\u4ee5\u4e00\u6b21\u6027\u63a7\u5236\u6240\u6709\u632f\u8361\u5668\u7684\u632f\u5e45\u3002\u8fd9\u4e5f\u662f\u7edd\u5927\u591a\u6570\u6a21\u5757\u6709\u9650\u7684\u5408\u6210\u5668\u505a\u7684\u3002\u4f46\u56e0\u4e3a\u6211\u4eec\u662f\u901a\u8fc7\u4ee3\u7801\u6765\u505a\u8fd9\u4e2a\u4e8b\u7684\uff0c\u56e0\u6b64\u6211\u4eec\u53ef\u4ee5\u7ed9\u6bcf\u4e2a\u632f\u8361\u5668\u5206\u914d\u4e00\u4e2a\u5305\u7edc\uff0c\u8ba9\u6bcf\u4e2a\u8c10\u6ce2\u90fd\u4e0d\u540c\uff0c\u7ed3\u679c\u5c31\u662f\u4e00\u4e2a\u66f4\u81ea\u7136\u7684\u58f0\u97f3\u3002<\/p>\n<p>\u8fd9\u4e9b\u4f8b\u5b50\u56e0\u4e3a\u8981\u6e05\u6670\u9610\u8ff0\u52a0\u6cd5\u5408\u6210\u7684\u65b9\u6cd5\uff0c\u663e\u5f97\u6709\u4e9b\u4e0d\u5fc5\u8981\u7684\u5197\u4f59\u3002\u5373\u4f7f\u5982\u6b64\uff0c\u501f\u52a9\u8fd9\u51e0\u884c\u4ee3\u7801\uff0c\u6211\u4eec\u5df2\u7136\u8d85\u8d8a\u4e86\u7edd\u5927\u591a\u6570\u5546\u4e1a\u5408\u6210\u5668\u7684\u80fd\u529b\u3002\u4f46\u662f\uff0c\u8fd9\u4e2a\u7ec3\u4e60\u6709\u4e00\u70b9\u70b9\u4e4f\u5473\uff0c\u4e0d\u8fc7\u6216\u8bb8\u80fd\u8ba9\u4f60\u4e00\u77a5\u65e9\u671f\u7535\u5b50\u521b\u4f5c\u8005\u5728\u8fde\u7ebf\u5f0f\u5408\u6210\u5668\u9886\u57df\u5185\u7684\u5148\u9a71\u52aa\u529b\u3002<\/p>\n<p><strong>14.7. \u5177\u5907\u72ec\u7acb\u5305\u7edc\u7684\u52a0\u6cd5\u5408\u6210\u952f\u9f7f\u6ce2<\/strong><\/p>\n<pre class=\"brush:jfx\">(\r\n{\r\nf = 100;\r\nt = Impulse.kr(1\/3);\r\nMix.ar([\r\n   SinOsc.ar(f*1, mul: EnvGen.kr(Env.perc(0, 1.4), t)\/1),\r\n   SinOsc.ar(f*2, mul: EnvGen.kr(Env.perc(0, 1.1), t)\/2),\r\n   SinOsc.ar(f*3, mul: EnvGen.kr(Env.perc(0, 2), t)\/3),\r\n   SinOsc.ar(f*4, mul: EnvGen.kr(Env.perc(0, 1), t)\/4),\r\n   SinOsc.ar(f*5, mul: EnvGen.kr(Env.perc(0, 1.8), t)\/5),\r\n   SinOsc.ar(f*6, mul: EnvGen.kr(Env.perc(0, 2.9), t)\/6),\r\n   SinOsc.ar(f*7, mul: EnvGen.kr(Env.perc(0, 4), t)\/7),\r\n   SinOsc.ar(f*8, mul: EnvGen.kr(Env.perc(0, 0.3), t)\/8),\r\n   SinOsc.ar(f*9, mul: EnvGen.kr(Env.perc(0, 1), t)\/9),\r\n   SinOsc.ar(f*10, mul: EnvGen.kr(Env.perc(0, 3.6), t)\/10),\r\n   SinOsc.ar(f*11, mul: EnvGen.kr(Env.perc(0, 2.3), t)\/11),\r\n   SinOsc.ar(f*12, mul: EnvGen.kr(Env.perc(0, 1.1), t)\/12)\r\n])*0.5\r\n}.scope(1)\r\n)<\/pre>\n<h3>\u6377\u5f84<\/h3>\n<p>\u5728SC\u4e2d\uff0c\u6c38\u8fdc\u6709\u505a\u67d0\u4ef6\u4e8b\u66f4\u7b80\u5355\u7684\u65b9\u6cd5\u3002\u4efb\u4f55\u9650\u5236\u90fd\u53ea\u5b58\u5728\u4e8e\u5199\u4ee3\u7801\u7684\u4eba\u8eab\u4e0a\u3002\u6bd4\u5982\u8bf4\uff0c\u6211\u4eec\u53ef\u4ee5\u7528\u591a\u901a\u9053\u6269\u5c55\uff0c\u5c06\u4e00\u884c\u5355\u72ec\u7684\u4ee3\u7801\u6269\u5c55\u5230\u4e00\u4e2a\u6570\u7ec4\u4e2d\u3002\u4e0b\u8fb9\u7684\u4f8b\u5b50\u4e2d\uff0c\u6570\u7ec4\uff08\u4e00\u5207\u5728\u65b9\u62ec\u53f7\u91cc\u7684\u4e1c\u897f\uff09\u88ab\u7528\u5b8c\u5168\u5199\u51fa\u7684\u632f\u8361\u5668\u586b\u5165\u3002<em>mix<\/em>\u5c06\u5b83\u4eec\u5408\u6210\u5230\u4e00\u4e2a\u8f68\u9053\u3002\u8bb0\u4f4f\u5982\u679c\u4efb\u4f55\u5f15\u6570\u662f\u4e00\u4e2a\u6570\u7ec4\uff0c\u90a3\u4e2augen\u5373\u88ab\u6269\u5c55\u4e3a\u4e00\u4e2augen\u7684\u6570\u7ec4\uff0c\u6bcf\u4e2augen\u7ee7\u627f\u5b83\u4eec\u5bf9\u5e94\u4f4d\u7f6e\u7684\u5f15\u6570\u3002<\/p>\n<p><strong>14.8. \u6570\u7ec4\u6269\u5f20\u505a\u52a0\u6cd5\u5408\u6210<\/strong><\/p>\n<pre class=\"brush:jfx\">Mix.ar([SinOsc.ar(100), SinOsc.ar(200), SinOsc.ar(300)])<\/pre>\n<p>\u53ef\u4ee5\u88ab\u5199\u4f5c<\/p>\n<pre class=\"brush:jfx\">Mix.ar(SinOsc.ar([100, 200, 300]))<\/pre>\n<p>\u4e0b\u4f8b\u4e2d\uff0c\u7b2c\u4e00\u4e2a<em>midicps<\/em>\u8fd4\u56de\u4e00\u4e2a\u5355\u4e00\u503c\u3002\u7b2c\u4e8c\u4e2a\u8fd4\u56de\u4e00\u4e2a\u503c\u7684\u6570\u7ec4\u3002\u63a5\u4e0b\u6765\u7684\u4e00\u884c\u5c55\u793a\u4e86\u5199\u6570\u7ec4\u7684\u6377\u5f84\u3002\u6700\u540e\u4e00\u4f8b\u7528\u8fd9\u4e2a\u6280\u672f\u5199\u6210\u3002\u5bf9\u7f16\u8bd1\u5668\u6765\u8bf4\uff0c\u5b83\u4eec\u662f\u4e00\u6837\u7684\u3002\u4f18\u70b9\u662f\u4f60\u53ef\u4ee5\u6253\u66f4\u5c11\u7684\u5b57\u3002\u540c\u6837\u5730\uff0c\u8fd9\u66f4\u7b80\u660e\u3001\u6613\u8bfb\u3002<\/p>\n<p><strong>14.9. \u6570\u7ec4\u6269\u5c55\u505a\u52a0\u6cd5\u5408\u6210<\/strong><\/p>\n<pre class=\"brush:jfx\">midicps(60);<\/pre>\n<pre class=\"brush:jfx\">midicps([60, 62, 64, 65, 57, 69, 71]);<\/pre>\n<pre class=\"brush:jfx\">(1..12) \/\/ \u7b49\u540c\u4e8e [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]<\/pre>\n<pre class=\"brush:jfx\">midicps((1..24)*60)<\/pre>\n<pre class=\"brush:jfx\">(1, 3..13) \/\/ \u610f\u5473\u7740 [1, 3, 5, 7, 9, 11, 13]<\/pre>\n<pre class=\"brush:jfx\">midicps((60, 63..72))<\/pre>\n<pre class=\"brush:jfx\">\/\/ \u7528\u5feb\u6377\u65b9\u5f0f\u505a\u52a0\u6cd5\u5408\u6210\r\n(\r\n{\r\nf = 100;\r\nt = Impulse.kr(1\/3);\r\nMix.ar(\r\n   SinOsc.ar(\r\n      f*(1..12),\r\n      mul: EnvGen.kr(\r\n         Env.perc(0, 1),\r\n         t,\r\n         levelScale: 1\/(1..12),\r\n         timeScale: [1.4, 1.1, 2, 1, 1.8, 2.9, 4, 0.3, 1, 3.6, 2.3, 1.1]\r\n      )\r\n   )\r\n)*0.5\r\n}.scope(1)\r\n)<\/pre>\n<p><em>timeScale<\/em> \u6570\u7ec4\u9700\u8981\u5b8c\u5168\u5199\u51fa\u6765\uff0c\u56e0\u4e3a\u5b83\u5e76\u975e\u4e00\u4e2a\u53ef\u4ee5\u7528\u5feb\u6377\u65b9\u5f0f\u5199\u51fa\u7684\u903b\u8f91\u5e8f\u5217\u3002\u4f46\u5982\u679c\u5b83\u7684\u503c\u6ca1\u5fc5\u8981\u6307\u5b9a\u7684\u8bdd\uff0c\u57281\u52303\u4e4b\u95f4\uff0c\u53ef\u4ee5\u4f7f\u7528<em>rrand(1.0, 3.0).dup(12)<\/em>\u6765\u751f\u6210\u8fd9\u4e2a\u6570\u7ec4\u3002<\/p>\n<p>\u4e00\u4e2a\u4e5f\u8bb8\u4f60\u9700\u8981\u9010\u4e2a\u8f93\u5165\u6570\u7ec4\u5185\u5bb9\u7684\u60c5\u5f62\u662f\uff0c\u4e00\u7ec4\u6ca1\u6709\u5e38\u89c4\u51e0\u4f55\u6a21\u5f0f\u7684\u503c\uff0c\u6bd4\u5982Cmaj 9 #11 \u548c\u5f26 (C, E, G, B, D, F#)\uff0c\u6216\u8005\u81ea\u7136\u97f3\u9636\u5c0f\u8c03\u97f3\u9636(C, D, Eb, F, G, Ab, Bb, C).\u91cc\u5168\u97f3\u548c\u534a\u97f3\u7684\u5173\u7cfb\u3002\u8fd9\u4e00\u5207\u90fd\u88ab\u5c55\u793a\u5728\u4e0b\u8fb9midi\u503c\u7684\u6570\u7ec4\u91cc\u3002<\/p>\n<p><strong>14.10. \u6570\u7ec4\u6269\u5c55\u505a\u52a0\u6cd5\u5408\u6210<\/strong><\/p>\n<pre class=\"brush:jfx\">(\r\n{\r\nt = Impulse.kr(1\/3);\r\nMix.ar(\r\n   SinOsc.ar(\r\n      [60, 64, 67, 71, 74, 78].midicps,\r\n      mul: EnvGen.kr(\r\n         Env.perc(0, 1),\r\n         t,\r\n         levelScale: 1\/(1..6),\r\n         timeScale: rrand(1.0, 3.0).dup\r\n      )\r\n   )\r\n)*[0.3, 0.3]\r\n}.scope(1)\r\n)<\/pre>\n<pre class=\"brush:jfx\">(\r\n{\r\nMix.ar(\r\n   Pan2.ar(\r\n      SinOsc.ar(\r\n         [60, 62, 63, 65, 67, 68, 71, 72].midicps,\r\n         mul: LFNoise1.kr(rrand(0.1, 0.5).dup(8), 0.5, 0.5)\r\n      ),\r\n      1.0.rand2.dup(8)\r\n   )\r\n)*0.2\r\n}.scope(1)\r\n)<\/pre>\n<h3>\u586b\u5145\u4e00\u4e2a\u6570\u7ec4<\/h3>\n<p>\u8fd9\u4e2apatch\u7684\u53e6\u4e00\u7248\u672c\u7528 <em>Array.fill<\/em> \u505a\u6240\u6709\u7684\u6253\u5b57\u5de5\u4f5c\u3002<em>Array.fill<\/em> \u57fa\u4e8e\u4e00\u4e2a\u51fd\u6570\u751f\u6210\u4e00\u4e2a\u6570\u7ec4\u3002\u6570\u7ec4\u4e2d\u7684\u6bcf\u4e2a\u9879\u76ee\u90fd\u662f\u8fd9\u4e2a\u51fd\u6570\u7684\u7ed3\u679c\u3002\u7b2c\u4e00\u4f8b\u7b80\u5355\u5730\u7528\u968f\u673a\u6570\u586b\u5145\u6570\u7ec4\u3002\u7b2c\u4e8c\u4f8b\u7528\u6b63\u5f26\u6ce2\u586b\u5145\u6570\u7ec4\u3002<em>Array.fill<\/em> \u7684\u7b2c\u4e00\u5f15\u6570\u4e3a\u6570\u7ec4\u5185\u9879\u76ee\u7684\u6570\u91cf\uff0c\u7b2c\u4e8c\u5f15\u6570\u4e3a\u751f\u6210\u6bcf\u4e2a\u503c\u7684\u51fd\u6570\u3002\u53ef\u4ee5\u628a\u51fd\u6570\u770b\u4f5c\u88ab\u7ed9\u4e88\u4efb\u52a1\u7684\u5c0f\u578b\u673a\u5668\uff1a\u53ef\u80fd\u662f\u6839\u636e\u4f60\u7684\u6307\u4ee4\u5410\u51fa\u6570\u5b57\u3002<\/p>\n<p><strong>14.11. Array.fill<\/strong><\/p>\n<pre class=\"brush:jfx\">Array.fill(16, {100.rand})<\/pre>\n<pre class=\"brush:jfx\">Array.fill(16, {SinOsc.ar(100.rand)})<\/pre>\n<p>\u5f53\u4f60\u7ed9\u67d0\u4eba\u4e00\u9879\u4efb\u52a1\uff0c\u6bd4\u5982\u5207\u82f9\u679c\uff0c\u4f60\u5e38\u5e38\u60f3\u4e3a\u968f\u540e\u7684\u91cd\u590d\u63d0\u4f9b\u4e0d\u540c\u7684\u6307\u4ee4\u3002\u6bd4\u5982\u8bf4\uff0c\u4efb\u52a1\u53ef\u4ee5\u662f\u5207\u5341\u4e2a\u82f9\u679c\u3002\u4f46\u4f60\u53ef\u80fd\u60f3\u8981\u6bcf\u4e2a\u7684\u5207\u6cd5\u4e0d\u540c\uff1a\u7b2c\u4e00\u4e2a\u6574\u4e2a\u7559\u7740\uff0c\u628a\u7b2c\u4e8c\u4e2a\u5207\u6210\u4e24\u534a\uff0c\u7b2c\u4e09\u4e2a\u5207\u6210\u4e09\u74e3\uff0c\u7b2c\u56db\u4e2a\u56db\u74e3\uff0c\u7b49\u7b49\u3002\u4f60\u80fd\u770b\u5230\u6a21\u5f0f\u3002\u800c\u4e0d\u662f\u6bcf\u6b21\u90fd\u544a\u8bc9\u522b\u4eba\u5e94\u8be5\u600e\u4e48\u5207\uff0c\u4f60\u53ef\u4ee5\u5728\u6307\u4ee4\u4e2d\u8bf4\u660e\uff0c\u6e05\u70b9\u6bcf\u6b21\u5faa\u73af\uff0c\u7136\u540e\u5c06\u6bcf\u4e2a\u82f9\u679c\u5bf9\u5e94\u5207\u6210\u90a3\u4e9b\u5757\u6570\u3002\u4e3a\u4e86\u505a\u8fd9\u4e2a\uff0c\u7cfb\u7edf\u9700\u8981\u77e5\u9053\u81ea\u5df1\u4f4d\u4e8e\u7b2c\u51e0\u6b21\u5faa\u73af\u5185\u3002\u5b83\u9700\u8981\u4e00\u4e2a\u8ba1\u6570\u5668\u3002\u6211\u4eec\u53ef\u4ee5\u7528\u53d8\u91cf\u505a\u6211\u4eec\u81ea\u5df1\u7684\uff0c\u5c31\u50cf\u4e0b\u4f8b\u4e2d\u5c55\u793a\u7684\u4e00\u6837\u3002<\/p>\n<p><strong>14.12. \u5e26\u8ba1\u6570\u5668\u7684Array.fill<\/strong><\/p>\n<pre class=\"brush:jfx\">( \/\/ \u7528\u8ba1\u6570\u5668\u586b\u5145\u4e00\u4e2a\u6570\u7ec4\uff0c\u63a5\u7740\u589e\u52a0\u8ba1\u6570\r\nvar counter = 0;\r\nArray.fill(16, {counter = counter +1; counter})\r\n)<\/pre>\n<pre class=\"brush:jfx\">( \/\/ \u7528\u8ba1\u6570\u5668 * 100 \u586b\u5145\u4e00\u4e2a\u6570\u7ec4\r\nvar counter = 0;\r\nArray.fill(16, {counter = counter +1; counter*100})\r\n)<\/pre>\n<p><em>Array<\/em> \u5bf9\u8c61\u5185\u5efa\u8bb0\u5f55\u5faa\u73af\u6b21\u6570\u7684\u8ba1\u6570\u5668\u662f\u5982\u6b64\u666e\u901a\u7684\u4e00\u4e2a\u7a0b\u5e8f\u3002\u90a3\u4e2a\u6570\u5b57\u4f5c\u4e3a\u4e00\u4e2a\u5f15\u6570\u88ab\u4f20\u5165\u51fd\u6570\u3002\u5f15\u6570\u548c\u53d8\u91cf\u5de5\u4f5c\u65b9\u5f0f\u4e00\u6837\uff1a\u4f60\u53ef\u4ee5\u5bf9\u5176\u4efb\u610f\u547d\u540d\uff0c\u751a\u81f3\u53ef\u4ee5\u6539\u53d8\u5b83\u7684\u503c\uff0c\u4f46\u901a\u5e38\u4f60\u57fa\u672c\u6ca1\u6709\u7406\u7531\u8fd9\u4e48\u505a\u3002\u533a\u522b\u662f\uff0c\u5f15\u6570\u901a\u5e38\u7531\u4e00\u4e9b\u5916\u90e8\u7a0b\u5e8f\u63d0\u4f9b\u5e76\u88ab\u4f20\u9012\u7ed9\u51fd\u6570\u3002\u5728\u591a\u4e8e\u4e24\u4e2a\u5f15\u6570\u7684\u60c5\u51b5\u4e0b\uff0c\u5b83\u4eec\u4fbf\u7531\u5176\u4f4d\u7f6e\u4f5c\u4e3a\u9274\u522b\uff08\u5c31\u50cf\u76ee\u524d\u4e3a\u6b62\u6211\u4eec\u770b\u5230\u7684\u5f15\u6570\u5217\u4e2d\u7684\u5f15\u6570\u4e00\u6837\uff09\u3002\u4f60\u53ef\u4ee5\u5728\u4e0b\u4f8b\u4e2d\u770b\u5230\u8fd9\u4e2a\u65b0\u8bed\u6cd5\uff1a<em>arg myNameForCount<\/em>\u3002\u8fd0\u884c\u4e0b\u8fb9\u8bf8\u884c\uff0c\u7136\u540e\u68c0\u67e5SC post\u7a97\u53e3\u91cc\u7684\u7ed3\u679c\u3002\u6700\u540e\u4e24\u4f8b\u5c55\u793a\u4e86\u53e6\u4e00\u4e2a\u53ef\u66ff\u4ee3\u8bed\u6cd5\uff1a<em>|myNameForCount|<\/em>\u3002\u7b2c\u4e8c\u4f8b\u751f\u6210\u6570\u7ec4\u7684\u6570\u7ec4\u3002<\/p>\n<p><strong>14.13. \u5e26\u5f15\u6570\u7684Array.fill<\/strong><\/p>\n<pre class=\"brush:jfx\">\/\/\u7528\u8fed\u4ee3\u586b\u5145\u4e00\u4e2a\u6570\u7ec4\r\nArray.fill(16, {arg myNameForCount; myNameForCount})<\/pre>\n<pre class=\"brush:jfx\">\/\/\u7528\u968f\u673a\u6570\u586b\u5145\u4e00\u4e2a\u6570\u7ec4\r\nArray.fill(16, {arg myNameForCount; [myNameForCount, rrand(20, 100)]})<\/pre>\n<pre class=\"brush:jfx\">\/\/\u7528myNameForCount\u7684\u4e58\u79ef\u586b\u5145\u4e00\u4e2a\u6570\u7ec4\r\nArray.fill(16, { |myNameForCount| myNameForCount*3})<\/pre>\n<pre class=\"brush:jfx\">\/\/\u7528SinOsc\u5bf9\u8c61\u586b\u5145\u4e00\u4e2a\u6570\u7ec4, \u6bcf\u4e2a\u7684\u5e73\u7387\u4e3acounter*100\r\nArray.fill(16, { |myNameForCount| SinOsc.ar(myNameForCount*100)})<\/pre>\n<p>\u8981\u505a\u4e00\u4e2a\u8c10\u6ce2\u7cfb\uff08harmonic series\uff09\uff0c\u4f60\u4f1a\u8981\u5411\u57fa\u7840\u5e73\u7387\u4e58\u4ee51\uff0c2\uff0c3\uff0c4\u7b49\u7b49\u3002\u8ba1\u6570\u5668\u53ef\u4ee5\u88ab\u7528\u4e8e\u8ba1\u7b97\u6bcf\u4e2a<em>SinOsc<\/em>\u7684<em>freq<\/em>\u4ee5\u53ca\u6bcf\u4e2a<em>EnvGen<\/em>\u7684<em>levelScale<\/em>\u3002\u8ba1\u6570\u5668\u59cb\u4e8e0\u800c\u4e0d\u662f1\uff0c\u6211\u4e0d\u60f3\u8981freq*0\uff0c\u56e0\u6b64\u6211\u4f7f\u7528\u53d8\u91cf\u5411\u5176\u52a01.\u4e0b\u4f8b\u751f\u621016\u4e2a\u9ad8\u6b21\u5206\u97f3\uff0c\u6bcf\u4e2a\u6210\u6bd4\u4f8b\u5730\u53d8\u8f6f\uff0c\u8870\u51cf\u503c\u57280.1\u52302.1\u95f4\u968f\u673a\u3002fund*partial \u4fdd\u8bc1\u5b83\u4eec\u90fd\u662f\u548c\u8c10\u7684\u30021\/partial \u662f\u5305\u7edc\u7684 levelScale\u3002\u7b2c\u4e00\u4e2a\u5c06\u662f1\/1\uff0c\u63a5\u4e0b\u67651\/2, 1\/3, 1\/4\u7b49\u7b49\u3002<em>Array.fill<\/em> \u8fd4\u56de\u4e00\u4e2a<em>SinOsc<\/em> ugen\u7684\u6570\u7ec4\uff0c<em>Mix.ar<\/em> \u5c06\u5b83\u4eec\u5168\u90e8\u6df7\u5165\u4e00\u4e2a\u901a\u9053\u5185\u3002<\/p>\n<p><strong>14.14. \u52a0\u6cd5\u952f\u9f7f\u6ce2, \u72ec\u7acb\u7684\u8870\u51cf<\/strong><\/p>\n<pre class=\"brush:jfx\">(\r\n{\r\nvar gate, fund;\r\ngate = Impulse.kr(1\/3);\r\nfund = MouseX.kr(50, 1000);\r\nMix.ar(\r\n   Array.fill(16,\r\n   {arg counter;\r\n   var partial;\r\n   partial = counter + 1;\r\n   SinOsc.ar(fund*partial) *\r\n   EnvGen.kr(Env.adsr(0, 0, 1.0, TRand.kr(0.2, 2.0, gate)),\r\n      gate, 1\/partial)\r\n   })\r\n   )*0.2 \/\/\u6574\u4f53\u97f3\u91cf\r\n}.scope(1)\r\n)<\/pre>\n<pre class=\"brush:jfx\">\/\/ \u4f7f\u7528\u6377\u5f84\u7684\u540c\u6837\u7684patch\r\n(\r\n{\r\nvar gate, fund;\r\ngate = Impulse.kr(1);\r\nfund = MouseX.kr(50, 1000);\r\nMix.ar(\r\n   SinOsc.ar(fund*(1..16).postln) *\r\n   EnvGen.kr(Env.perc(0, TRand.kr(0.2, 2.0, gate)),\r\n      gate, 1\/(1..16))\r\n   )*0.2 \/\/\u6574\u4f53\u97f3\u91cf\r\n}.scope(1)\r\n)<\/pre>\n<p>\u6211\u7528\u8fd9\u4e00\u8282\u8d5e\u7f8eSC\u590d\u6742\u548c\u4e30\u5bcc\u7684\u5904\u7406\u80fd\u529b\u3002\u4e0a\u8fb9\u7684patch\u5e76\u975e\u4ee4\u4eba\u60ca\u8bb6\uff0c\u4f46\u4f60\u5e94\u8be5\u8ba4\u8bc6\u5230\u7ed9\u6bcf\u4e2a\u5206\u97f3\u4e0d\u540c\u7684\u8870\u51cf\u7387\u4f1a\u5f97\u5230\u7684\u66f4\u81ea\u7136\u7684\u58f0\u97f3\u3002\u4f5c\u4e3a\u5bf9\u6bd4\uff0c\u8fd9\u4e2apatch\u4ec5\u7ed9\u4e86\u5168\u90e8\u5206\u97f3\u4e00\u4e2a\u5305\u7edc\u3002<\/p>\n<p><strong>14.15. \u540c\u6837\u8870\u51cf\u7684\u52a0\u6cd5\u952f\u9f7f\u6ce2<\/strong><\/p>\n<pre class=\"brush:jfx\">(\r\n{\r\nvar gate, fund, env;\r\ngate = MouseButton.kr(0, 1, 0);\r\nfund = MouseX.kr(50, 1000);\r\nenv = Env.adsr(0, 0, 1.0, 2.0);\r\nMix.ar(\r\n   Array.fill(16,\r\n   {arg counter;\r\n   var partial;\r\n   partial = counter + 1;\r\n   SinOsc.ar(fund*partial) *\r\n   EnvGen.kr(env, gate, 1\/partial)\r\n   })\r\n   )*0.2 \/\/\u6574\u4f53\u97f3\u91cf\r\n}.scope(1)\r\n)<\/pre>\n<p>\u505a\u57fa\u4e8e\u4ee3\u7801\u7684\u5408\u6210\uff08\u4e0e\u57fa\u4e8e\u56fe\u5f62\u7684\u76f8\u53cd\uff09\u6765\u8bf4\uff0c\u5c06\u4e00\u4e2a\u7b80\u5355\u7684\u60f3\u6cd5\u5feb\u901f\u590d\u5236\u4e3a\u590d\u6742\u7684\u58f0\u97f3\u5f88\u7b80\u5355\u3002\u5bf9\u4e8e\u52a0\u6cd5\u5408\u6210\u548c\u6570\u7ec4\u6269\u5c55\u6765\u8bf4\u5c24\u5176\u660e\u663e\u3002\u4ee5\u8fd9\u4e2a\u7b80\u5355\u7684patch\u4e3a\u4f8b\uff0c\u4e00\u4e2a\u632f\u8361\u5668\u7684\u632f\u5e45\u88ab\u53e6\u4e00\u4e2a\u6b63\u5f26\u6ce2\u6240\u63a7\u5236\u3002<\/p>\n<p><strong>14.16. \u5e26\u63a7\u5236\u7684\u6b63\u5f26\u6ce2<\/strong><\/p>\n<pre class=\"brush:jfx\">{SinOsc.ar(400, mul: SinOsc.ar(1\/3, mul: 0.5, add: 0.5))}.play<\/pre>\n<p>\u6211\u4eec\u53ef\u4ee5\u7531\u8fd9\u4e2a\u7b80\u5355\u7684\u6a21\u5757\u5f00\u59cb\uff0c\u901a\u8fc7\u4ee5\u8c10\u6ce2\u7684\u65b9\u5f0f\u589e\u52a0\u66f4\u591a\u7684\u6b63\u5f26\u6ce2\u6765\u521b\u5efa\u4e00\u4e2a\u66f4\u590d\u6742\u7684\u58f0\u97f3\u3002<em>Mix.fill<\/em>\u7ed3\u5408\u5728<em>Array.fill<\/em>\u4e2d\u4f7f\u7528\u7684<em>fill<\/em>\u903b\u8f91\u3002\u5b83\u751f\u6210\u4e00\u4e2augen\u6570\u7ec4\u5e76\u5c06\u5b83\u4eec\u6df7\u5408\u3002\u5b83\u540c\u6837\u5177\u5907\u4e00\u4e2a\u53ef\u4ee5\u88ab\u7528\u4e8e\u8ba1\u7b97\u9ad8\u6b21\u8c10\u6ce2\u7684\u8ba1\u6570\u5668\u5f15\u6570\u3002\u8fd9\u4e2apatch\u4f7f\u7528<em>FSinOsc<\/em>\uff0c\u5b83\u66f4\u9ad8\u6548\u3002<\/p>\n<p><strong>14.17. \u560e\u560e\u53eb\u7684\u6b63\u5f26\u6ce2<\/strong><\/p>\n<pre class=\"brush:jfx\">(\r\n{\r\n   var harmonics = 16, fund = 50;\r\n   Mix.fill(harmonics,\r\n        { arg count;\r\n           Pan2.ar(\r\n              FSinOsc.ar(\r\n                 fund * (count + 1), \/\/ \u8ba1\u7b97\u6bcf\u4e2a\u8c10\u6ce2\r\n                 mul: FSinOsc.kr(rrand(1\/3, 1\/6), mul: 0.5, add: 0.5 )),\r\n              1.0.rand2)\r\n         }\r\n   ) \/ (2*harmonics)\r\n}.play;\r\n)<\/pre>\n<p>\u5728\u672c\u7ae0\u4e0b\u8fb9\u7ec3\u4e60\u7684\u90e8\u5206\uff0c\u4f60\u53ef\u4ee5\u770b\u5230\u672cpatch\u7684\u53d8\u5316\u3002<\/p>\n<h3>\u4e0d\u8c10\u548c\u9891\u8c31<\/h3>\n<p>\u4e0a\u4f8b\u4e2d\u7684\u6bcf\u4e2a\u6b63\u5f26\u6ce2\u90fd\u662f\u57fa\u7840\u9891\u7387\u7684\u4e58\u79ef (f*1, f*2, f*3, f*4\u7b49\u7b49)\u3002\u8fd9\u662f\u548c\u8c10\u9891\u8c31\u3002\u7edd\u5927\u591a\u6570\u8c03\u6027\u4e50\u5668\u90fd\u5177\u5907\u548c\u8c10\u7684\u9891\u8c31\u3002\u975e\u8c03\u6027\u4e50\u5668\u6bd4\u5982\u9523\u3001\u94c3\u548c\u9572\u90fd\u503e\u5411\u4e8e\u975e\u548c\u8c10\u9891\u8c31\uff0c\u6216\u8005\u4e00\u7cfb\u5217\u5e76\u975e\u5efa\u7acb\u4e8e\u57fa\u67d0\u4e2a\u51c6\u9891\u7387\u7684\u9891\u7387\u53e0\u52a0\u3002\u4e3a\u751f\u6210\u4e00\u4e2a\u975e\u548c\u8c10\u9891\u8c31\uff0c\u4f60\u9700\u8981\u4e3a\u6bcf\u4e2a\u6b63\u5f26\u6ce2\u8f93\u5165\u65e0\u5173\u7684\u503c\uff0c\u6bd4\u5982135, 173, 239, 267, 306, 355, 473, 512, 572,\u548c626\u3002\u6211\u662f\u5982\u4f55\u83b7\u5f97\u8fd9\u4e9b\u4e0d\u76f8\u5173\u7684\u9891\u7387\u7684\uff1f\u6d17\u724c\u3002<\/p>\n<p>\u5728\u4e0a\u4f8b\u4e2d\uff0c\u6bcf\u4e2a\u9ad8\u6b21\u8c10\u6ce2\u7684\u632f\u5e45\u90fd\u57fa\u4e8e\u5b83\u4eec\u7684\u5173\u7cfb\u88ab\u8ba1\u7b97\u51fa\u6765\uff1a\u8d8a\u9ad8\u7684\u8c10\u6ce2\u8d8a\u8f6f\u3002\u4f46\u5728\u4e0d\u8c10\u548c\u9891\u8c31\u4e2d\uff0c\u632f\u5e45\u6ca1\u6709\u6a21\u5f0f\u3002\u6bd4\u5982\u8bf4\uff0c0.25, 0.11, 0.12, 0.04, 0.1, 0.15, 0.05, 0.01, 0.03, 0.02, \u548c 0.12\u3002\u6211\u4f7f\u7528\u4e86\u76f8\u4f3c\u7684\u201c\u968f\u673a\u201d\u6cd5\u751f\u6210\u8fd9\u4e2a\u5e8f\u5217\u3002<\/p>\n<p>\u52a0\u6cd5\u5408\u6210\u53ef\u7528\u4e8e\u751f\u6210\u7eaf\u51c0\u7684\u6ce2\u5f62\uff0c\u6bd4\u5982\u952f\u9f7f\u6ce2\u3001\u65b9\u6ce2\u6216\u8005\u4e09\u89d2\u6ce2\uff0c\u8fd9\u4e9b\u5728\u5546\u4e1a\u5408\u6210\u5668\u91cc\u4e5f\u53ef\u4ee5\u5b9e\u73b0\u3002\u662f\u7684\uff0c\u4f60\u53ef\u4ee5\u5bf9\u4e0a\u5c42\u6cdb\u97f3\u8fdb\u884c\u66f4\u597d\u7684\u63a7\u5236\uff0c\u4f46\u81f3\u5c11\u5176\u4ed6\u7684\u6ce2\u5f62\u662f\u786e\u5b9e\u5b58\u5728\u7684\u3002\u4f46\u4e0d\u548c\u8c10\u9891\u8c31\u7684\u6ce2\u5f62\u662f\u4e0d\u5b58\u5728\u7684\u3002\u5546\u4e1a\u5408\u6210\u5668\u5728\u5b8c\u7f8e\u7684\u6ce2\u5f62\u548c\u5b8c\u7f8e\u7684\u566a\u97f3\u95f4\u76f4\u6765\u76f4\u53bb\u3002\u6ca1\u6709\u4e2d\u95f4\u5730\u5e26\u3002\u8fd9\u4fbf\u662fSC\u72ec\u5230\u7684\u4e00\u4e2a\u9886\u57df\u3002 <\/p>\n<p>\u4e0b\u8fb9\u662f\u4e00\u4e2a\u6df7\u5408\u4e86\u968f\u673a\u9891\u7387\u548c\u632f\u5e45\u7684patch\u3002\u56e0\u4e3a\u6ca1\u6709\u5305\u7edc\u7684\u5173\u7cfb\uff0c\u6240\u4ee5\u4f60\u4e0d\u4f1a\u6709\u94c3\u58f0\u7684\u611f\u89c9\uff0c\u4f46\u5b83\u5374\u5177\u5907\u4e00\u4e2a\u975e\u5e38\u91d1\u5c5e\u7684\u5171\u9e23\u3002 <\/p>\n<pre class=\"brush:jfx\">{Mix.ar( \r\n   SinOsc.ar( \r\n      [72, 135, 173, 239, 267, 306, 355, 473, 512, 572, 626], \r\n      0, \/\/\u76f8\u4f4d \r\n      [0.25, 0.11, 0.12, 0.04, 0.1, 0.15, 0.05, 0.01, 0.03, 0.02, 0.12] \r\n   ))\r\n}.scope(1)<\/pre>\n<h3>\u968f\u673a\u6570\uff0c\u6d1e\u5bdf\u529b<\/h3>\n<p>\u6211\u4eec\u79f0\u4e00\u7ec4\u6570\u5b57\u4e3a\u201c\u968f\u673a\u201d\u56e0\u5176\u6ca1\u6709\u660e\u663e\u7684\u6a21\u5f0f\u3002\u4e8e\u662f\u968f\u673a\u4fbf\u662f\u6709\u5173\u627f\u4e0a\u542f\u4e0b\u548c\u611f\u77e5\u7684\u95ee\u9898\u3002\u6211\u4eec\u901a\u8fc7\u4e00\u7ec4\u6570\u5b57\u7684\u524d\u540e\u5173\u7cfb\u4ee5\u786e\u5b9a\u5176\u662f\u5426\u968f\u673a\u3002\u4e00\u4e2a\u6ca1\u6709\u524d\u540e\u5173\u7cfb\u7684\u6570\u5b57\u4e0d\u53ef\u80fd\u662f\u771f\u6b63\u7684\u968f\u673a\u3002 <\/p>\n<p>\u505a\u4e00\u4e2a\u4f8b\u8bc1\uff1a\u4f60\uff0c\u80fd\uff0c\u731c\u5230\uff0c\u8fd9\u7ec4\u5e8f\u5217\u7684\uff0c\u4e0b\u4e00\u4e2a\uff0c\u6570\u5b57\u5417\uff1f <\/p>\n<p><code>226, 966, 7733428, 843, 6398, 686237, 46, 8447, _____<\/code> <\/p>\n<p>\u770b\u8d77\u6765\u662f\u968f\u673a\u7684\uff1f\u5176\u5b9e\u4e0d\u7136\u3002\u8fd9\u662f\u4e2a\u975e\u5e38\u6e05\u6670\u7684\u7cfb\u7edf\u3002\uff08\u63d0\u793a\uff1a\u6ca1\u6709\u5b57\u7b260\u548c1\uff09\u3002\u5f53\u4f60\u638c\u63e1\u4e86\u8fd9\u4e2a\u4f0e\u4fe9\uff0c\u4f60\u4fbf\u80fd\u731c\u5230\u4e0b\u4e00\u4e2a\u751a\u81f3\u4e0b\u4e09\u4e2a\u6216\u4e0b\u56db\u4e2a\u6570\u5b57\u3002\u5f53\u4f60\u770b\u5230\u4e86\u6a21\u5f0f\uff0c\u968f\u673a\u7684\u54c1\u8d28\u4e5f\u5c31\u4e00\u540c\u6d88\u5931\u4e86\uff0c\u5373\u4f7f\u5e8f\u5217\u548c\u8fdb\u7a0b\u5e76\u6ca1\u6709\u6539\u53d8\u3002\u90a3\u4e48\uff0c\u6539\u53d8\u7684\u662f\u4ec0\u4e48\u5462\uff1f\u4f60\u770b\u95ee\u9898\u7684\u89d2\u5ea6\u3002\u8fd9\u662f\u53ef\u4f9b\u501f\u9274\u7ed9\u97f3\u4e50\u6b23\u8d4f\u7684\u5176\u4ed6\u9886\u57df\uff08\u4ee5\u53ca\u751f\u6d3b\uff09\u7684\u5f88\u597d\u4e00\u8bfe\u3002 <\/p>\n<p>\u5f53\u6211\u6d17\u4e00\u526f\u724c\u7684\u65f6\u5019\uff0c\u5b83\u4eec\u662f\u201c\u968f\u673a\u7684\u201d\uff0c\u56e0\u6b64\u6211\u65e0\u6cd5\u9884\u77e5\u724c\u7684\u5e8f\u5217\u53ef\u80fd\u4f1a\u662f\u600e\u6837\u7684\u3002\u4f46\u5982\u679c\u6211\u4ece\u4e00\u526f\u65b0\u724c\u5f00\u59cb\uff0c\u5e76\u4e14\u77e5\u9053\u5176\u987a\u5e8f\uff0c\u5728\u6d17\u724c\u65f6\u6211\u4f7f\u7528\u4e00\u4e2a\u7cbe\u786e\u7684\u516c\u5f0f\uff08\u6bd4\u5982\u8bf4\uff0c\u5c06\u5b83\u4eec\u5206\u6210\u4e24\u534a\u5e76\u76f8\u4e92\u8c03\u6362\u987a\u5e8f\uff09\uff0c\u6216\u8005\u5f53\u724c\u843d\u4e0b\u65f6\u786e\u5207\u7684\u8bb0\u4e0b\u5176\u987a\u5e8f\uff0c\u7136\u540e\u6211\u4fbf\u80fd\u9884\u77e5\u5b83\u4eec\u7684\u987a\u5e8f\u3002\u5728\u8fd9\u6837\u7684\u60c5\u51b5\u4e0b\uff0c\u5176\u5b9e\u724c\u5e76\u6ca1\u6709\u88ab\u968f\u673a\u3002\u5728\u4e00\u6b21\u771f\u6b63\u7684\u6d17\u724c\u548c\u4e00\u6b21\u7cbe\u5fc3\u5b89\u6392\u7684\u6d17\u724c\u95f4\uff0c\u552f\u4e00\u7684\u5dee\u522b\u662f\u6211\u5bf9\u8fdb\u7a0b\u7684\u638c\u63a7\u3002\u56e0\u6b64\uff0c\u968f\u673a\u771f\u6b63\u610f\u5473\u7684\uff0c\u662f\u6df7\u5408\u5230\u4e00\u4e2a\u5e38\u4eba\u65e0\u6cd5\u9884\u77e5\u7ed3\u679c\u7684\u70b9\u3002 <\/p>\n<p>\u5728\u6700\u8fd1\u4e00\u4e2a\u5173\u4e8e\u4e0d\u548c\u8c10\u5149\u8c31\u7684\u6f14\u8bb2\u4e2d\uff0c\u6211\u5411\u4e0b\u8fb9\u7684\u540c\u5b66\u5c55\u793a\u4e86\u4e00\u7ec4\u7531\u8ba1\u7b97\u673a\u6311\u9009\u51fa\u7684\u968f\u673a\u503c\u3002\u4e00\u4e2a\u540c\u5b66\u8bf4\u4ed6\u65e0\u6cd5\u7406\u89e3\u8fd9\u662f\u5982\u4f55\u53d1\u751f\u7684\u3002\u53e6\u4e00\u4e2a\u540c\u5b66\u5219\u4e0d\u7406\u89e3\u7b2c\u4e00\u4f4d\u540c\u5b66\u4e3a\u4ec0\u4e48\u4e0d\u7406\u89e3\uff1b\u8ba1\u7b97\u673a\u6311\u9009\u4e86\u4e00\u4e2a\u968f\u673a\u6570\uff0c\u6ca1\u4e86\u3002\u4f46\u4ed6\u7684\u89c2\u5bdf\u662f\u7cbe\u660e\u7684\uff1b\u5c3d\u7ba1\u8ba1\u7b97\u673a\u6709\u65f6\u770b\u8d77\u6765\u7684\u786e\u662f\u5728\u968f\u673a\u8fd0\u4f5c\uff0c\u4f46\u5176\u5b9e\u4ed6\u4eec\u4ece\u4e0d\u8fd9\u6837\u3002\u8ba9\u8ba1\u7b97\u673a\u968f\u673a\u8fd0\u4f5c\u662f\u4e0d\u53ef\u80fd\u7684\u3002\u4f46\u6709\u65f6\u5b83\u4eec\u590d\u6742\u8fd0\u7b97\u7684\u884c\u4e3a\u4f1a\u4f7f\u6211\u4eec\u770b\u8d77\u6765\u5c31\u50cf\u968f\u673a\u4e00\u822c\u3002 <\/p>\n<p>\u4e3a\u751f\u6210\u968f\u673a\u5e8f\u5217\uff0c\u4f5c\u66f2\u5bb6\u4f7f\u7528\u4e86\u4e0e\u6211\u6d17\u724c\u65f6\u7c7b\u4f3c\u7684\u65b9\u6cd5\uff0c\u4f46\u5e94\u7528\u4e86\u4e00\u4e2a\u66f4\u4e3a\u5de8\u5927\u7684\u6570\u5b57\u96c6\u5408\u3002\u8fd9\u4e9b\u6570\u5b57\u5728\u8ba1\u7b97\u673a\u5185\u90e8\u8fd0\u7528\u4e00\u4e2a\u4ee5\u7b97\u6cd5\u7684\u5f62\u5f0f\u5448\u73b0\u7684\u6570\u5b66\u516c\u5f0f\u8fdb\u884c\u6df7\u5408\u3002\u8ba1\u7b97\u673a\u6536\u5230\u6307\u4ee4\uff0c\u5e76\u7cbe\u786e\u7684\u6267\u884c\u5b83\uff0c\u5e76\u56e0\u4e3a\u8ba1\u7b97\u673a\u6ca1\u6709\u81ea\u6211\u610f\u8bc6\uff0c\u6240\u4ee5\u5c06\u5b83\u7528\u4e8e\u8bb0\u5f55\u6570\u5b57\u662f\u5f88\u68d2\u7684\uff0c\u5b83\u201c\u77e5\u9053\u201d\u5e8f\u5217\uff0c\u56e0\u4e3a\u90a3\u662f\u4e00\u4e2a\u516c\u5f0f\u3002\u7136\u800c\uff0c\u7ed3\u679c\u5e8f\u5217\u662f\u5982\u6b64\u7684\u590d\u6742\uff0c\u590d\u6742\u5230\u6211\u4eec\u4eba\u7c7b\u65e0\u6cd5\u8ba4\u8bc6\u5176\u6a21\u5f0f\u7684\u5730\u6b65\u3002\u8fd9\u4e00\u7cfb\u5217\u6570\u5b57\u88ab\u79f0\u4e3a\u4e00\u4e2a\u968f\u673a\u6570\u751f\u6210\u5668\uff0c\u5e76\u4e14\u5230\u8ba1\u7b97\u673a\u6216\u7a0b\u5e8f\u7b2c\u4e00\u6b21\u8fd0\u884c\u65f6\u4fbf\u88ab\u6267\u884c\u548c\u50a8\u5b58\u3002\u6b63\u56e0\u4e3a\u6bcf\u6b21\u90fd\u8fd0\u7528\u76f8\u540c\u7684\u516c\u5f0f\uff0c\u6570\u5b57\u5e8f\u5217\u4eec\u90fd\u662f\u76f8\u540c\u7684\uff0c\u751a\u81f3\u5728\u4e0d\u540c\u7684\u7535\u8111\u4e0a\u90fd\u5e94\u8be5\u662f\u76f8\u540c\u7684\u3002\u56e0\u6b64\u5bf9\u4e8e\u8ba1\u7b97\u673a\u6765\u8bf4\uff0c\u8fd9\u5b8c\u5168\u4e0d\u662f\u968f\u673a\u3002 <\/p>\n<p>\u5728\u8ba1\u7b97\u673a\u51fa\u73b0\u4e4b\u524d\uff0c\u6211\u4eec\u5982\u4f55\u505a\u968f\u673a\uff1f\u6211\u4eec\u4f7f\u7528\u4e00\u672c\u540d\u4e3a\u201c\u4e00\u767e\u4e07\u4e2a\u968f\u673a\u7b26\u53f7\u201d\u7684\u4e66\uff0c\u5b83\u5305\u542b\u4e86\u4e00\u767e\u4e07\u4e2a\u968f\u673a\u7b26\u53f7\u3002\u8fd9\u5e76\u4e0d\u662f\u5728\u5f00\u73a9\u7b11\u3002\u770b\u770bAmazon\u5bf9\u5b83\u7684\u4e66\u8bc4\u5427\u3002 <\/p>\n<p>\u5f53\u4f60\u8fd0\u884c\u4e00\u4e2a\u4f7f\u7528\u4e00\u4e9b\u201c\u968f\u673a\u201d\u5e8f\u5217\u4e8b\u4ef6\uff08\u6bd4\u5982\u9ab0\u5b50\u6216\u8005\u6251\u514b\u724c\uff09\u7684\u7a0b\u5e8f\u65f6\uff0c\u8ba1\u7b97\u673a\u4ece\u8fd9\u4e2a\u6570\u5b57\u5e8f\u5217\u4e2d\u53d6\u51fa\u90a3\u4e9b\u503c\u3002 <\/p>\n<p>\u53e6\u4e00\u4e2a\u95ee\u9898\u662f\uff0c\u5b83\u59cb\u7ec8\u4ece\u5934\u5f00\u59cb\uff0c\u56e0\u6b64\u4e00\u5f00\u59cb\u4f60\u603b\u662f\u5f97\u5230\u76f8\u540c\u7684\u503c\uff0c\u5c31\u50cf\u4f7f\u7528\u4e00\u526f\u6ca1\u6d17\u8fc7\u7684\u65b0\u724c\u4e00\u6837\uff0c\u6216\u8005\u6bcf\u5929\u9605\u8bfb\u201c\u4e00\u767e\u4e07\u4e2a\u968f\u673a\u7b26\u53f7\u201d\u76f8\u540c\u7684\u90a3\u4e00\u9875\u3002\u524d\u51e0\u6b21\uff0c\u987a\u5e8f\u8c8c\u4f3c\u662f\u968f\u673a\u7684\u3002\u4f46\u7ecf\u8fc7\u4e24\u5230\u4e09\u6b21\u5faa\u73af\u4e4b\u540e\uff0c\u6211\u4eec\u5c06\u8bb0\u4f4f\u90a3\u4e2a\u6a21\u5f0f\u5e76\u4e14\u5b83\u5c06\u4e0d\u518d\u968f\u673a\u3002\u968f\u673a\u7684\u4e00\u90e8\u5206\uff0c\u5bf9\u6211\u4eec\u6765\u8bf4\uff0c\u662f\u6bcf\u6b21\u4e0d\u540c\u7684\u6570\u5b57\u3002 <\/p>\n<p>\u90a3\u4e48\u5982\u4f55\u5f97\u5230\u4e0d\u540c\u7684\u6570\u5b57\u5462\uff1f\u5206\u5f00\u90a3\u526f\u6251\u514b\u3002\u8981\u5206\u5f00\u4e00\u4e2a\u968f\u673a\u6570\u5b57\u751f\u6210\u5668\u7684\u6251\u514b\uff0c\u4f60\u9700\u8981\u4ece\u5e8f\u5217\u7684\u53e6\u4e00\u4e2a\u70b9\u5f00\u59cb\u3002\u8fd9\u4e2a\u70b9\u88ab\u79f0\u4e3a\u4e00\u4e2a\u968f\u673a\u7684\u79cd\u5b50\u3002\u4f60\u5c06\u4e00\u4e2a\u6570\u5b57\u4f5c\u4e3a\u4e00\u7c92\u79cd\u5b50\u4ea4\u7ed9\u8ba1\u7b97\u673a\uff0c\u8ba1\u7b97\u673a\u5c31\u5c06\u4ece\u90a3\u4e2a\u70b9\u5f00\u59cb\u5728\u5e8f\u5217\u4e2d\u4f7f\u7528\u6570\u5b57\u3002 <\/p>\n<p>\u8fd8\u6709\u53e6\u4e00\u4e2a\u95ee\u9898\u3002\u5982\u679c\u4f60\u77e5\u9053\u8fd9\u4e2a\u79cd\u5b50\uff0c\u90a3\u4e48\u6570\u5b57\u5e8f\u5217\u7684\u7ed3\u679c\u5bf9\u4f60\u6765\u8bf4\u4ecd\u7136\u4e0d\u662f\u771f\u6b63\u7684\u968f\u673a\u3002\u4f60\u9700\u8981\u9009\u62e9\u4e00\u4e2a\u968f\u673a\u7684\u79cd\u5b50\u3002\u6211\u7684\u610f\u601d\u662f\uff0c\u4f60\u9700\u8981\u968f\u673a\u5730\u9009\u62e9\u4e00\u9897\u968f\u673a\u7684\u79cd\u5b50\u3002\u6211\u7684\u610f\u601d\u662f\uff0c\u968f\u673a\u79cd\u5b50\u5fc5\u987b\u662f\u968f\u673a\u4ea7\u751f\u7684\uff08\u5f88\u7ed5\uff1f\uff09\u3002 <\/p>\n<p>\u89e3\u51b3\u8fd9\u4e2a\u95ee\u9898\u7684\u65b9\u6cd5\u662f\u4f7f\u7528CPU\u7684\u5185\u90e8\u65f6\u949f\uff0c\u8fd9\u6070\u597d\u662f\u4e00\u4e32\u9ad8\u901f\u8fd0\u8f6c\u7684\u6570\u5b57\u5e8f\u5217\u3002\u5982\u679c\u65f6\u949f\u4e0a\u7684\u6bcf\u4e2a\u6570\u5b57\u90fd\u5bf9\u5e94\u968f\u673a\u5e8f\u5217\u4e2d\u7684\u4e00\u4e2a\u6570\u5b57\uff0c\u90a3\u4e48\u5728\u67d0\u79cd\u610f\u4e49\u4e0a\u6765\u8bf4\uff0c\u4f60\u5c31\u7b49\u4e8e\u5728\u968f\u673a\u5e8f\u5217\u4e2d\u5f9c\u5f89\u4e86\uff08\u5c31\u50cf\u6d17\u724c\u4e00\u6837\uff09\u3002\u4ece\u65f6\u949f\u5185\u622a\u53d6\u4e00\u4e2a\u6570\u5b57\u7528\u4f5c\u79cd\u5b50\u5c31\u50cf\u5728\u6d17\u724c\u65f6\u4f60\u5c06\u624b\u6307\u653e\u5728\u724c\u4e0a\uff1a\u4f60\u5728\u90a3\u4e00\u523b\u83b7\u5f97\u4e86\u4e00\u4e2a\u968f\u673a\u4f4d\u7f6e\u3002\u8fd9\u770b\u8d77\u6765\u4e9b\u8bb8\u590d\u6742\uff0c\u4f46\u5c31\u662f\u8fd9\u4e48\u5e72\u7684\u3002 <\/p>\n<p>SC\u5728\u540e\u53f0\u81ea\u52a8\u7684\u505a\u4e00\u4e2a\u968f\u673a\u64ad\u79cd\u3002\u6bcf\u6b21\u5f53\u4f60\u8fd0\u884c\u4e00\u6761\u7c7b\u4f3c<em>10.rand<\/em>\u7684\u4ee3\u7801\uff0cSC\u9996\u5148\u4ece\u5b83\u7684\u5185\u90e8\u65f6\u949f\u91cc\u8bfb\u53d6\u6570\u5b57\u4f5c\u4e3a\u4e00\u7c92\u79cd\u5b50\u3002\u800c\u540e\u79fb\u52a8\u5165\u968f\u673a\u6570\u751f\u6210\u5668\u5e8f\u5217\u5e76\u4ece\u90a3\u4e2a\u70b9\u5f00\u59cb\u5176\u9009\u62e9\u7684\u5e8f\u5217\u3002\u8fd9\u5bf9\u6211\u4eec\u6765\u8bf4\u662f\u771f\u6b63\u7684\u968f\u673a\uff0c\u56e0\u4e3a\u6211\u4eec\u65e0\u6cd5\u9884\u77e5\u65f6\u949f\u7ed9\u7684\u6570\u5b57\u6216\u8005\u5728\u90a3\u4e2a\u70b9\u7684\u6570\u5b57\u7684\u987a\u5e8f\u3002 <\/p>\n<p>\u90a3\u4fbf\u662f\u4f60\u5982\u4f55\u83b7\u5f97\u4f2a\u968f\u673a\u9009\u62e9\u7684\u65b9\u5f0f\u3002\u4f46\u6709\u65f6\uff0c\u4f60\u4f1a\u60f3\u8981\u91cd\u590d\u4e00\u7ec4\u968f\u673a\u7684\u9009\u62e9\u3002\u5728\u8fd9\u79cd\u60c5\u51b5\u4e0b\uff0c\u4f60\u9700\u8981\u4e00\u6b21\u6b21\u4f7f\u7528\u76f8\u540c\u7684\u79cd\u5b50\u6765\u91cd\u5236\u76f8\u540c\u7684\u4e8b\u4ef6\u5e8f\u5217\u3002\uff08\u6bd4\u5982\uff0c\u5f88\u591a\u7535\u8111\u6251\u514b\u6e38\u620f\u5141\u8bb8\u4f60\u91cd\u65b0\u51fa\u724c\u3002\u8fd9\u4fbf\u662f\u5b83\u4eec\u5982\u4f55\u5b9e\u73b0\u8fd9\u4e00\u70b9\u7684\u3002\uff09\u4e00\u4e2a\u7ed9\u5b9a\u7684\u968f\u673a\u79cd\u5b50\u5728\u4f60\u8c03\u8bd5\u4e00\u4e2a\u9519\u8bef\u5e76\u60f3\u8981\u6bcf\u6b21\u91cd\u5236\u76f8\u540c\u9519\u8bef\u7684\u65f6\u5019\u662f\u5f88\u6709\u7528\u7684\u3002\u540c\u6837\u7684\uff0c\u4f60\u53ef\u80fd\u4f1a\u53d1\u73b0\u4f60\u559c\u6b22\u5e76\u4e14\u9700\u8981\u786e\u5207\u91cd\u5236\u7684\u4e00\u4e2a\u7279\u5b9a\u7684\u968f\u673a\u4e8b\u4ef6\u53d8\u5316\u3002<\/p>\n<p>\u9996\u5148\u6211\u5c06\u5c55\u793a\u4e00\u4e9b\u968f\u673a\u9009\u62e9\uff0c\u7136\u540e\u662f\u4f7f\u7528\u79cd\u5b50\u7684\u4e00\u4e9b\u968f\u673a\u9009\u62e9\u3002SC\u4e2d\u6709\u82e5\u5e72\u968f\u673a\u51fd\u6570\u3002\u6d88\u606frand\u5c06\u8fd4\u56de0\u5230\u6307\u5b9a\u6570\u5b57\u95f4\u7684\u968f\u673a\u6570\u300255.rand \u5c06\u8fd4\u56de0\u523055\uff08\u4e0d\u5305\u62ec55\uff09\u95f4\u7684\u6574\u6570\u300255.0.rand \u5c06\u8fd4\u56de0.0\u523055.0\u95f4\u7684\u6d6e\u70b9\u6570\u3002\u591a\u8fd0\u884c\u8fd9\u4e9b\u4f8b\u5b50\u51e0\u6b21\u4ee5\u89c2\u5bdf\u968f\u673a\u6570\u5b57\u662f\u5982\u4f55\u88ab\u6311\u9009\u7684\u3002<\/p>\n<p><strong>14.19. rand<\/strong><\/p>\n<pre class=\"brush:jfx\">10.rand;<\/pre>\n<pre class=\"brush:jfx\">10.0.rand;<\/pre>\n<p>\u53cd\u590d\u8fd0\u884c\u8fd9\u4e9bpatch\u4e00\u5b9a\u662f\u5de8\u67af\u71e5\u7684\uff0c\u56e0\u6b64\u5982\u4e0b\u662f\u4f7f\u7528dup\u6d88\u606f\u6d4b\u8bd5\u968f\u673a\u9009\u62e9\u7684\u65b9\u6cd5\uff0c\u5b83\u7528\u51fd\u6570\u8fd4\u56de\u7684\u7ed3\u679c\u586b\u5145\u4e00\u4e2a\u6570\u7ec4\u3002<\/p>\n<p><strong>14.20. \u6d4b\u8bd5\u4e00\u4e2a\u968f\u673a\u6570\u7ec4<\/strong><\/p>\n<pre class=\"brush:jfx\">{100.rand}.dup(20)<\/pre>\n<p>\u4ee5\u4e0b\u662f\u4e00\u4e2a\u5178\u578b\u7684\u521d\u5b66\u8005\u9519\u8bef\u3002\u8bd5\u7740\u8fd0\u884c\u4e0b\u4f8b\uff0c\u770b\u770b\u7ed3\u679c\u591a\u4e48\u4e0d\u540c\u3002<\/p>\n<p><strong>14.21. \u4e0d\u4f7f\u7528\u51fd\u6570\u7684\u9519\u8bef<\/strong><\/p>\n<pre class=\"brush:jfx\">(100.rand).dup(20)<\/pre>\n<p>\u4ee3\u7801\u6311\u9009\u4e00\u4e2a\u968f\u673a\u6570\uff0c\u4f46\u5b83\u6bcf\u6b21\u90fd\u662f\u7528\u90a3\u4e2a\u76f8\u540c\u7684\u6570\u5b57\u3002\u7b2c\u4e00\u4f8b\u5c06\u968f\u673a\u6570\u9009\u62e9\u653e\u5165\u4e86\u51fd\u6570\u5185\u3002\u4e00\u4e2a\u51fd\u6570\u610f\u5473\u7740\u201c\u8fd0\u884c\u7740\u4e00\u884c\u4ee3\u7801\u201d\uff0c<em>100.rand<\/em>\u610f\u5473\u7740\u9009\u53d6\u4e00\u4e2a\u968f\u673a\u6570\uff0c\u800c<em>{100.rand}<\/em>\u610f\u5473\u7740\u6bcf\u6b21\u9009\u53d6\u4e00\u4e2a\u968f\u673a\u6570\uff0c<em>100.rand<\/em>\u610f\u601d\u662f\u9009\u53d6\u4e00\u4e2a\u968f\u673a\u6570\u5e76\u4e14\u6bcf\u6b21\u4f7f\u7528\u5b83\u3002<\/p>\n<p>\u4e0b\u8fb9\u662f\u5728\u5ba2\u6237\u7aef\uff08\u8bed\u8a00\u548c\u7f16\u7a0b\u65b9\u9762\uff09\u4f7f\u7528\u4e00\u9897\u79cd\u5b50\u7684\u540c\u6837\u7684\u4f8b\u5b50\u3002\u8fd0\u884c\u7b2c\u4e00\u884c\u82e5\u5e72\u6b21\u770b\u6570\u7ec4\u662f\u88ab\u5982\u4f55\u586b\u7684\u3002\u7136\u540e\u8fd0\u884c\u7b2c\u4e8c\u884c\u82e5\u5e72\u6b21\u3002\u56e0\u4e3a\u4f60\u5728\u4e3a\u968f\u673a\u751f\u6210\u5668\u505a\u79cd\uff0c\u6bcf\u6b21\u4f60\u90fd\u4f1a\u5728\u6570\u7ec4\u4e2d\u5f97\u5230\u540c\u6837\u7684\u6570\u5b57\u3002\u5c1d\u8bd5\u5c06\u79cd\u5b50\u6539\u4e3a5\u4ee5\u5916\u7684\u6570\u5b57\u3002\u4f60\u5c06\u5f97\u5230\u4e00\u4e2a\u65b0\u7684\u5e8f\u5217\uff0c\u4f46\u6bcf\u6b21\u90fd\u662f\u540c\u6837\u7684\u5e8f\u5217\u3002\uff08\u8fd0\u884c\u56db\u6b21\u540e\u770b\u8d77\u6765\u4fbf\u4e0d\u975e\u5e38\u201c\u968f\u673a\u201d\u4e86\u3002\uff09<\/p>\n<p><strong>14.22. \u5ba2\u6237\u7aef\u968f\u673a\u79cd\u5b50<\/strong><\/p>\n<pre class=\"brush:jfx\">{100.rand}.dup(20);<\/pre>\n<pre class=\"brush:jfx\">thisThread.randSeed = 5; {100.rand}.dup(20);<\/pre>\n<p>\u8fd9\u4e2a\u4e1c\u897f\u5e76\u4e0d\u5f71\u54cd\u4f3a\u670d\u5668\uff0c\u5b83\u6f14\u594f\u4f60\u8bbe\u8ba1\u597d\u7684patch\u3002\u8981\u5728\u4f3a\u670d\u5668\u64ad\u79cd\u4e00\u4e2a\u968f\u673a\u8fdb\u7a0b\u53ef\u4ee5\u4f7f\u7528<em>RandSeed<\/em>\u3002\u8fd9\u4e2augen\u53ef\u4ee5\u88ab\u89e6\u53d1\uff0c\u56e0\u6b64\u4f60\u53ef\u4ee5\u4e0d\u65ad\u91cd\u8bbe\u79cd\u5b50\u3002\u7b2c\u4e00\u5f15\u6570\u4e3a\u89e6\u53d1\u5668\uff0c\u7b2c\u4e8c\u662f\u79cd\u5b50\u3002\u8fd0\u884c\u7b2c\u4e00\u548c\u7b2c\u4e8c\u4f8b\u82e5\u5e72\u6b21\u3002\u8fd0\u884c\u7b2c\u4e09\u4f8b\u4e00\u6b21\u3002\u5b83\u5c06\u6ca15\u79d2\u91cd\u7f6e\u4e00\u6b21\u3002<\/p>\n<p><strong>14.23. \u4f3a\u670d\u5668\u968f\u673a\u79cd\u5b50<\/strong><\/p>\n<pre class=\"brush:jfx\">\/\/ \u6bcf\u6b21\u90fd\u4e0d\u540c\r\n{SinOsc.ar(LFNoise0.kr(7, 12, 72).midicps, mul: 0.5)}.play<\/pre>\n<pre class=\"brush:jfx\">\/\/ \u6bcf\u6b21\u90fd\u76f8\u540c\r\n(\r\n{\r\nRandSeed.kr(1, 1956);\r\nSinOsc.ar(LFNoise0.kr(7, 12, 72).midicps, mul: 0.5)\r\n}.play\r\n)<\/pre>\n<pre class=\"brush:jfx\">\/\/ \u6bcf5\u79d2\u91cd\u7f6e\u4e00\u6b21\r\n(\r\n{\r\nRandSeed.kr(Impulse.kr(1\/5), 1956);\r\nSinOsc.ar(LFNoise0.kr(7, 12, 72).midicps, mul: 0.5)\r\n}.play\r\n)<\/pre>\n<p>\u5982\u4f55\u4f7f\u7528\u4e00\u4e2a\u65f6\u949f\u79cd\u5b50\uff0c\u5e76\u4e14\u77e5\u9053\u5b83\u7684\u503c\uff0c\u4ee5\u4fbf\u4ee5\u540e\u7ea0\u9519\u6216\u8005\u4ec5\u56e0\u4e3a\u4f60\u559c\u6b22\u67d0\u4e2a\u79cd\u5b50\u7684\u7248\u672c\uff1f <\/p>\n<p><strong>14.24. \u5217\u5370\u65f6\u949f\u79cd\u5b50<\/strong><\/p>\n<pre class=\"brush:jfx\">thisThread.randSeed = Date.seed.postln; {100.rand}.dup(20);<\/pre>\n<pre class=\"brush:jfx\">( \r\n{ \/\/ \u968f\u673a\u9009\u53d6\u5e76\u91cd\u590d\u4f7f\u7528\u4e00\u7c92\u79cd\u5b50 \r\nRandSeed.kr(Impulse.kr(1\/5), Date.seed.postln); \r\nSinOsc.ar(LFNoise0.kr(7, 12, 72).midicps, mul: 0.5) \r\n}.play \r\n)<\/pre>\n<p>\u79cd\u5b50\u4ece\u65f6\u949f\u9009\u53d6\u5e76\u88ab\u53d1\u5e03\u5230post\u7a97\u53e3\u3002\u5982\u679c\u4f60\u60f3\u8981\u91cd\u5236\u4e00\u4e2a\u7248\u672c\uff0c\u7528post\u7a97\u53e3\u5185\u53d1\u5e03\u7684\u503c\u66ff\u6362<em>Date.seed.postln<\/em>\u5373\u53ef\u3002 <\/p>\n<p>\u603b\u7ed3\u4e00\u4e0b\uff0c\u6709\u4eba\u53ef\u80fd\u4f1a\u4e89\u8fa9\u8bf4\u4e00\u4e2a\u751f\u6210\u521b\u4f5c\u5e76\u975e\u771f\u7684\u968f\u673a\uff0c\u56e0\u4e3a\u53ef\u4ee5\u901a\u8fc7\u4f7f\u7528\u76f8\u540c\u7684\u79cd\u5b50\u8fdb\u884c\u590d\u5236\u3002\u5b83\u770b\u8d77\u6765\u50cf\u968f\u673a\u4ec5\u56e0\u4e3a\u6211\u4eec\u5148\u524d\u5e76\u672a\u542c\u8fc7\u90a3\u4e2a\u6570\u5b57\u5e8f\u5217\u3002\u4f46\u6bcf\u4e2a\u79cd\u5b50\uff08\u6570\u4ee5\u4ebf\u8ba1\u7684\uff09\uff0c\u4ee3\u8868\u4e86\u4e00\u4e2a\u7279\u5b9a\u7684\u53ef\u91cd\u590d\u7248\u672c\u3002\u56e0\u6b64\u76f8\u5bf9\u968f\u673a\u8fdb\u7a0b\u6765\u8bf4\uff0c\u5b83\u53ef\u4ee5\u88ab\u7406\u89e3\u4e3a\u65e0\u6570\u53ef\u80fd\u7684\u53d8\u5316\uff0c\u7531\u4e0d\u540c\u7684\u79cd\u5b50\u5e26\u6765\u3002\u4e8e\u662f\u4f60\u5199\u7684\u4ee3\u7801\u4e5f\u6210\u4e3a\u4e86\u8fd9\u65e0\u6570\u53d8\u5316\uff08\u6bd4\u5982\u4f60\u6bcf\u6b21\u6f14\u51fa\u4e2d\u9009\u62e9\u7684\uff09\u7684DNA\uff0c\u5e76\u53ef\u4ee5\u5229\u7528\u90a3\u7c92\u79cd\u5b50\u8fdb\u884c\u9274\u522b\u548c\u91cd\u590d\u3002<\/p>\n<h3>\u94c3<\/h3>\n<p>\u9ad8\u6b21\u8c10\u6ce2\u7ed3\u6784\u662f\u201c\u97f3\u8272\u201d\u7684\u6307\u7eb9\u3002\u5b83\u5e2e\u52a9\u6211\u4eec\u5206\u8fa8\u67d0\u4e2a\u58f0\u97f3\u662f\u4ec0\u4e48\uff08\u5c0f\u63d0\u7434\uff0c\u7b1b\u5b50\uff0c\u4eba\u58f0\uff09\uff0c\u751a\u81f3\u662f\u76f8\u540c\u58f0\u97f3\u7684\u5fae\u5c0f\u53d8\u5316\uff08\u6bd4\u5982\u8bf4\u4f60\u6bcd\u4eb2\u611f\u5192\u65f6\u7684\u58f0\u97f3\uff09\u3002\u5373\u4f7f\u4e00\u90e8\u5206\u9891\u7387\u96c6\u5408\u662f\u4e0d\u548c\u8c10\u7684\uff0c\u4e00\u4e2a\u201c\u968f\u673a\u201d\u7684\u96c6\u5408\uff0c\u6211\u4eec\u4ecd\u80fd\u533a\u5206\u5b83\u4e0e\u4efb\u610f\u5176\u4ed6\u7684\u201c\u968f\u673a\u201d\u9891\u7387\u7ec4\u5408\uff0c\u5c31\u50cf\u4e0b\u8fb9\u7684patch\u6240\u5c55\u793a\u7684\u3002<\/p>\n<p>\u4e0b\u8fb9\u7684\u4ee3\u7801\u751f\u6210\u4e00\u7ec4\u7c7b\u4f3c\u94c3\u7684\u58f0\u97f3\uff0c\u6bcf\u4e2a\u90fd\u6709\u81ea\u5df1\u7684\u4f2a\u968f\u673a\uff08pseudo-random\uff09\u9891\u8c31\u3002\u8bd5\u7740\u4ece\u5185\u5411\u5916\u8bfb\u8fd9\u4e9b\u4ee3\u7801\u3002\u6700\u91cc\u8fb9\u7684<em>SinOsc<\/em>\u7684\u9891\u7387\u572850\u548c4000\u95f4\u968f\u673a\u3002\u5b83\u88ab\u4e58\u4ee5\u4e00\u4e2a\u8870\u51cf\u57280.2\u52303.0\u95f4\u3001\u97f3\u91cf\u57280\u52301\u95f4\u7684\u5305\u7edc\u3002\u8fd9\u4e32\u4ee3\u7801\u4f4d\u4e8e\u4e00\u4e2a\u51fd\u6570\u5185\uff0c\u8fd9\u4e2a\u51fd\u6570\u6709\u4e2a<em>dup<\/em>\u6d88\u606f\uff0c\u5b83\u7684\u5f15\u6570\u662f<em>12<\/em>\u3002<em>dup<\/em>\u6d88\u606f\u521b\u5236\u4e00\u4e2a\u5177\u5907\u4e0d\u540c\u9891\u7387\u548c\u5305\u7edc\u7684SinOsc\u5bf9\u8c61\u6570\u7ec4\u3002\u56e0\u4e3a\u89e6\u53d1\u5668\u5728\u51fd\u6570\u5916\u88ab\u521b\u5efa\uff0c\u56e0\u6b64\u6240\u6709\u7684Ugen\u90fd\u5171\u4eab\u8fd9\u4e2a\u89e6\u53d1\u5668\u3002\u97f3\u5934\u5f3a\u5ea6\u5c06\u662f\u4e00\u81f4\u7684\uff0c\u56e0\u6b64\u542c\u8d77\u6765\u5c31\u50cf\u662f\u4e00\u4e2a\u58f0\u97f3\u4e00\u6837\u3002\u90a312\u6761\u6b63\u5f26\u6ce2\uff0c\u6216\u8005\u8bf4\u4e0d\u8c10\u548c\u9891\u7387\uff0c\u88ab\u7528<em>Mix.ar<\/em>\u6df7\u5408\u3001<em>Pan2<\/em>\u505a\u58f0\u76f8\u3002\u8bd5\u7740\u505c\u6b62\u56de\u653e\u7136\u540e\u518d\u8fd0\u884c\u4e00\u6b21\u7b2c\u4e00\u4f8b\u3002\u91cd\u590d\u56db\u3001\u4e94\u6b21\u3002\u4f60\u80fd\u8bf4\u51fa\u67d0\u4e9b\u5177\u6709\u66f4\u957f\u6216\u66f4\u77ed\u8870\u51cf\u7387\u7684\u9891\u7387\u5417\uff1f<\/p>\n<p>\u6bcf\u4e00\u6b21\u6267\u884c\uff0c\u7535\u8111\u90fd\u4f1a\u4ece\u968f\u673a\u6570\u751f\u6210\u5668\u4e2d\u6311\u9009\u4e00\u7ec4\u4e0d\u540c\u7684\u968f\u673a\u6570\u4ee5\u521b\u9020\u6bcf\u4e2a\u94c3\u97f3\u3002\u4f60\u80fd\u6dfb\u52a0\u4e00\u884c\u4ee3\u7801\uff0c\u4f7f\u7528\u4e00\u4e2a\u968f\u673a\u79cd\u5b50\u4ee5\u8fde\u7eed\u4e24\u6b21\u4ea7\u51fa\u540c\u6837\u7684\u94c3\u97f3\u96c6\u5417\uff1f<\/p>\n<p>\u6700\u540e\uff0c\u5728\u4e0d\u505c\u6b62\u4e4b\u524d\u94c3\u97f3\u7684\u60c5\u51b5\u4e0b\u53cd\u590d\u8fd0\u884c\u4f8b\u5b50\u56db\u3001\u4e94\u6b21\uff0c\u8fd9\u6837\u7684\u8bdd\uff0c\u4e94\u3001\u516d\u4e2a\u94c3\u94db\u4fbf\u5728\u4e00\u8d77\u54cd\u4e86\u3002\u6ce8\u610f\u5c3d\u7ba1\u6bcf\u4e2a\u5355\u72ec\u7684\u94c3\u97f3\u5b9e\u9645\u4e0a\u90fd\u662f\u4e00\u7ec4\u53ef\u80fd\u72ec\u7acb\u548c\u968f\u673a\u6311\u9009\u7684\u6b63\u5f26\u6ce2\u96c6\u5408\uff0c\u6211\u4eec\u7684\u5927\u8111\u8fd8\u662f\u4f1a\u5c06\u5b83\u4eec\u7ed3\u5408\u4e3a\u4e00\u4e2a\u5355\u4e00\u7684\u53ef\u8bc6\u522b\u7684\u58f0\u97f3\u3002\u540c\u6837\u5730\uff0c\u5c3d\u7ba1\u6bcf\u4e2a\u96c6\u5408\u90fd\u662f\u968f\u673a\u7684\uff0c\u6211\u4eec\u90fd\u5c06\u5b83\u4eec\u8fa8\u8bc6\u4e3a\u4e00\u4e2a\u72ec\u7acb\u5355\u4f4d\uff0c\u5e76\u4e14\uff0c\u6211\u4eec\u80fd\u591f\u8ddf\u8fdb\u548c\u8bc6\u522b\u5b83\u4eec\u7684\u7ec4\u3002<\/p>\n<p>\u6211\u4e0d\u7981\u60f3\u5230\u8fd9\u6837\u4e00\u4e2a\u95ee\u9898\uff1a\u4ec0\u4e48\u65f6\u5019\u201c\u968f\u673a\u201d\u96c6\u5408\u5c06\u4e0d\u518d\u968f\u673a\uff1f\u4f55\u65f6\u4f60\u4f1a\u7b2c\u4e8c\u6b21\u542c\u5230\u5b83\uff1f<\/p>\n<p>14.25. \u968f\u673a\u9891\u7387 (Pan2, Mix, EnvGen, Env, fill)<\/p>\n<pre class=\"brush:jfx\">( \/\/ \u8ba9\u5b83\u8fd0\u884c\u4e00\u4f1a\u513f\r\n{\r\nvar trigger, partials = 12;\r\ntrigger = Dust.kr(3\/7);\r\nPan2.ar(\r\n   Mix.ar(\r\n      {\r\n      SinOsc.ar(exprand(50.0, 4000)) *\r\n      EnvGen.kr(\r\n         Env.perc(0, rrand(0.2, 3.0)),\r\n         trigger,\r\n         1.0.rand\r\n         )\r\n      }.dup(partials)\r\n   )\/partials,\r\n   1.0.rand2\r\n)\r\n}.play\r\n)<\/pre>\n<p>\u6700\u540e\uff0c\u6b32\u5c55\u793a\u4e00\u4e2a\u548c\u8c10\u9891\u8c31\u5982\u4f55\u80fd\u591f\u53d8\u4e3a\u4e0d\u548c\u8c10\uff0c\u4ee5\u53ca\u8c03\u6027\u5230\u975e\u8c03\u6027\u7684\u53d8\u5f62\uff0c\u4e0b\u8fb9\u7684patch\u5728\u4e0a\u4e00\u4f8b\u7684\u57fa\u7840\u4e0a\u6dfb\u52a0\u4e86\u4e00\u4e2augen\uff1a\u4e00\u4e2a\u5f53\u4f60\u4ece\u53f3\u5411\u5de6\u79fb\u52a8\u4fbf\u4f1a\u5bf9\u9ad8\u6b21\u8c10\u6ce2\u8fdb\u884c\u53bb\u8c10\uff08detune\uff09\u7684\u9f20\u6807\u63a7\u5236\u3002\u4e3a\u4e86\u786e\u4fdd\u4e0d\u8c10\u548c\u9891\u8c31\uff0c\u53bb\u8c10\u603b\u91cf\u5728-1.4\u52301.4\u95f4\u968f\u673a\u9009\u53d6\u3002<\/p>\n<p><strong>14.26. \u548c\u8c10\u5230\u975e\u548c\u8c10\u9891\u8c31<\/strong><\/p>\n<pre class=\"brush:jfx\">(\r\n\/\/ \u8ba9\u5b83\u8fd0\u884c\u4e00\u4f1a\u513f\r\n\/\/ \u6216\u8005\u5c06Dust.kr\u6539\u4e3aImpulse.kr\r\n{\r\nvar trigger, partials = 12, fund;\r\ntrigger = Dust.kr(3\/7);\r\nfund = exprand(50, 700);\r\nPan2.ar(\r\n   Mix.fill(partials,\r\n      {arg count;\r\n      SinOsc.ar(count + 1 * fund *\r\n         MouseX.kr(1.0, 1 + 0.4.rand2)) * \/\/ detune\r\n      EnvGen.kr(\r\n         Env.perc(0, rrand(0.2, 3.0)),\r\n         trigger,\r\n         1.0.rand\r\n         )\r\n      }\r\n   )\/partials,\r\n   1.0.rand2\r\n)\r\n}.play\r\n)<\/pre>\n<h3>CPU\u5360\u7528<\/h3>\n<p>\u6211\u6492\u4e86\u8c0e\u3002SC\u5e76\u975e\u80fd\u591f\u65e0\u9650\u4f9b\u5e94\u5408\u6210\u7ec4\u4ef6\u3002\u6211\u4eec\u53d7\u9650\u4e8e\u673a\u5668\u7684\u5904\u7406\u80fd\u529b\u3002\u52a0\u6cd5\u5408\u6210\u662f\u6602\u8d35\u7684\uff0c\u56e0\u6b64\u6b64\u523b\uff0c\u4f3a\u670d\u5668\u7a97\u53e3\u4e0a\u7684CPU\u4fe1\u606f\u4fbf\u663e\u5f97\u5c24\u4e3a\u91cd\u8981\u3002\u5b83\u663e\u793aCPU\u7684\u5e73\u5747\u503c\u548c\u5cf0\u503c\uff0c\u4ee5\u53caUgen\u7684\u6570\u91cf\u3002\u53cd\u590d\u4e0d\u505c\u5730\uff08\u4e0d\u505c\u6b62\u4e0a\u4e00\u4e2a\u58f0\u97f3\u7684\u524d\u63d0\u4e0b\uff09\u8fd0\u884c\u4e0a\u8fb9\u7684\u4f8b\u5b50\uff0c\u6216\u8005\u589e\u52a0\u5206\u97f3\u7684\u6570\u91cf\uff0c\u770b\u770b\u5982\u679c\u628aCPU\u641e\u7206\u4e86\u4f1a\u600e\u6837\u3002<\/p>\n<figure id=\"attachment_1211\" aria-describedby=\"caption-attachment-1211\" style=\"width: 365px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/learn.travelchinawith.me\/wp-content\/uploads\/2011\/03\/p7.gif\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/learn.travelchinawith.me\/wp-content\/uploads\/2011\/03\/p7.gif\" alt=\"\u4f3a\u670d\u5668\u7a97\u53e3\" title=\"\u4f3a\u670d\u5668\u7a97\u53e3\" width=\"365\" height=\"129\" class=\"size-full wp-image-1211\" \/><\/a><figcaption id=\"caption-attachment-1211\" class=\"wp-caption-text\">\u4f3a\u670d\u5668\u7a97\u53e3<\/figcaption><\/figure>\n<p>\u5728\u6211\u7684\u7b14\u8bb0\u672c\u4e0a\uff0c\u5728\u4e00\u5207\u53d8\u5f97\u5947\u6162\u65e0\u6bd4\u4e4b\u524d\uff0c\u6211\u53ef\u4ee5\u8fd0\u884c\u6700\u591a3000\u4e2aUgen\u3002\u8fd9\u4e0e\u53ea\u6709\u4e24\u6253\u6a21\u5757\u7684\u53e4\u65e7\u8bbe\u5907\u6709\u7740\u5de8\u5927\u7684\u5dee\u5f02\u3002<\/p>\n<p>\u56de\u5230\u94c3\u97f3\u7684patch\u5e76\u589e\u52a0\u5206\u97f3\u7684\u6570\u91cf\u3002\u5173\u6ce8CPU\u5360\u7528\u7684\u5347\u9ad8\uff0c\u540c\u65f6\u4e0d\u8981\u5fd8\u8bb0\u6ce8\u610f\u5f53\u4f60\u589e\u52a0\u5206\u97f3\u65f6\uff0c\u58f0\u97f3\u662f\u5982\u4f55\u6539\u53d8\u7684\u3002200+ \u4e0d\u8c10\u548c\u5206\u97f3\u7684\u7ed3\u679c\u662f\u4ec0\u4e48\uff1f<\/p>\n<p>\u968f\u7740\u968f\u673a\u5206\u97f3\u6570\u91cf\u7684\u589e\u52a0\uff0c\u58f0\u97f3\u4f1a\u53d8\u5f97\u8d8a\u6765\u8d8a\u5931\u53bb\u7126\u70b9\uff0c\u7136\u540e\u53d8\u4e3a\u566a\u97f3\u3002\u8fd9\u5728\u4e0b\u7ae0\u4f1a\u8bb2\u5230\u3002<\/p>\n<p>\u8bf4\u8bf4\u4e0b\u8fb9\u7684\u7ec3\u4e60\uff0c\u5206\u6563\u7684\u3001\u4f1a\u805a\u7684\u3001\u8870\u51cf\u7684\u9523\uff1a\u6211\u559c\u6b22\u8fd9\u4e9b\u4f8b\u5b50\uff0c\u56e0\u4e3a\u5b83\u4eec\u542c\u8d77\u6765\u662f\u5982\u6b64\u7684\u9177\uff0c\u5e76\u4e14\u5b83\u4eec\u4e0e\u751f\u6d3b\u4e2d\u7684\u4efb\u4f55\u4e1c\u897f\u76f8\u6bd4\u90fd\u5982\u6b64\u4e0d\u540c\uff0c\u4f46\u540c\u6837\u56e0\u4e3a\u5b83\u4eec\u7ecf\u8fc7\u4e86\u4eba\u5de5\u7684\u6784\u601d\u3002\u7ecf\u8fc7\u52a0\u6cd5\u5408\u6210\u7684\u4e00\u8bfe\uff0c\u6211\u4eec\u7ede\u5c3d\u8111\u6c41\u5730\u4f7f\u7528\u52a0\u6cd5\u6280\u672f\u7684\u80fd\u91cf\uff0c\u5e76\u4e14\u5728\u8ba4\u8bc6\u5b83\u4eec\u4e4b\u524d\u5076\u7136\u53d1\u73b0\u4e86\u8fd9\u4e9b\u58f0\u97f3\u7684\u7406\u8bba\u3002<\/p>\n<h3>\u7ec3\u4e60\uff1a\u95ea\u70c1\u7684\u6b63\u5f26\u6ce2\uff0c\u560e\u560e\u53eb\u7684\u6b63\u5f26\u6ce2\uff0c\u5206\u6563\u7684\u3001\u4f1a\u805a\u7684\u3001\u8870\u51cf\u7684\u9523<\/h3>\n<p><strong>14.27. \u95ea\u70c1\u7684 (MouseButton, Mix, Array.fill, Pan2, EnvGen, Env LFNoise1)<\/strong><\/p>\n<pre class=\"brush:jfx\">(\r\n{\r\nvar trigger, fund;\r\ntrigger = Dust.kr(3\/7);\r\nfund = rrand(100, 400);\r\nMix.ar(\r\n   Array.fill(16,\r\n   {arg counter;\r\n   var partial;\r\n   partial = counter + 1;\r\n   Pan2.ar(\r\n      SinOsc.ar(fund*partial) * \r\n      EnvGen.kr(Env.adsr(0, 0, 1.0, 5.0), \r\n         trigger, 1\/partial\r\n      ) * max(0, LFNoise1.kr(rrand(5.0, 12.0))), 1.0.rand2)\r\n   })\r\n   )*0.5 \/\/\u6574\u4f53\u97f3\u91cf\r\n}.play\r\n)<\/pre>\n<pre class=\"brush:jfx\">\/\/\u6df7\u5408\u82e5\u5e72\u4e0a\u8fb9\u90a3\u4e2a\u58f0\u97f3\r\n(\r\n{\r\nvar trigger, fund, flashInst;\r\nflashInst = Array.fill(5,\r\n{\r\n   trigger = Dust.kr(3\/7);\r\n   fund = rrand(100, 400);\r\n   Pan2.ar(\r\n      Mix.ar(\r\n         Array.fill(16,\r\n         {arg counter;\r\n         var partial;\r\n         partial = counter + 1;\r\n            SinOsc.ar(fund*partial) *\r\n            EnvGen.kr(Env.adsr(0, 0, 1.0, 5.0),\r\n               trigger, 1\/partial\r\n            ) * max(0, LFNoise1.kr(rrand(5.0, 12.0)))\r\n         })\r\n         )*0.2,\r\n   1.0.rand2)\r\n});\r\nMix.ar(flashInst)*0.6\r\n}.play\r\n)<\/pre>\n<pre class=\"brush:jfx\">\/\/ \u560e\u560e\u54cd\u7684\u6b63\u5f26\u6ce2\u53d8\u79cd\r\n(\r\n{\r\n   var harmonics = 16, fund = 50, speeds;\r\n   speeds = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]\/5;\r\n   Mix.fill(harmonics,\r\n       { arg count;\r\n           Pan2.ar(\r\n              FSinOsc.ar(\r\n                 fund * (count + 1),\r\n                 mul: max(0, FSinOsc.kr(speeds.wrapAt(count)))),\r\n              1.0.rand2)\r\n        }\r\n   ) \/ (2*harmonics)\r\n}.play;\r\n)<\/pre>\n<pre class=\"brush:jfx\">(\r\n{\r\n   var harmonics = 16, fund, speeds;\r\n   speeds = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]\/20;\r\n   fund = (MouseX.kr(0, 36).round(7) + 24).midicps;\r\n   Mix.fill(harmonics,\r\n      { arg count;\r\n          Pan2.ar(\r\n             FSinOsc.ar(\r\n                fund * (count + 1),\r\n                mul: max(0, FSinOsc.kr(speeds.choose))),\r\n             1.0.rand2)\r\n      }\r\n   ) \/ (2*harmonics)\r\n}.play;\r\n)<\/pre>\n<pre class=\"brush:jfx\">\/\/ \u7528\u9f20\u6807\u6539\u53d8\u57fa\u7840\u9891\u7387\r\n(\r\n{\r\n   var harmonics = 16, fund;\r\n   fund = (MouseX.kr(0, 36).round(7) + 24).midicps;\r\n   Mix.fill(harmonics,\r\n       { arg count;\r\n           Pan2.ar(\r\n              FSinOsc.ar(\r\n                 fund * (count + 1),\r\n                 mul: max(0, FSinOsc.kr(rrand(1, 1\/3), mul: 20).softclip)),\r\n              1.0.rand2)\r\n       }\r\n   ) \/ (2*harmonics)\r\n}.play;\r\n)<\/pre>\n<pre class=\"brush:jfx\">(\r\n{\r\n   var harmonics = 16;\r\n   Mix.fill(harmonics,\r\n         { arg count;\r\n             Pan2.ar(\r\n                FSinOsc.ar(\r\n                   exprand(100, 2000),\r\n                   mul: max(0, FSinOsc.kr(rrand(1\/3, 1\/6))*rrand(0.1, 0.9))),\r\n                1.0.rand2)\r\n         }\r\n   ) \/ (2*harmonics)\r\n}.play;\r\n)<\/pre>\n<p>\u6d88\u6563\u548c\u6c47\u805a\u7684\u9523\u5c55\u793a\u4e86\u5982\u4f55\u901a\u8fc7\u590d\u5236\u4e00\u4e2a\u60f3\u6cd5\u6765\u5efa\u7acb\u4e00\u4e2apatch\uff1a\u5178\u578b\u7684\u52a0\u6cd5\u5408\u6210\u3002\u5b83\u540c\u6837\u5c55\u793a\u4e86\u5982\u4f55\u7528\u52a0\u6cd5\u5408\u6210\u63a7\u5236\u6bcf\u4e00\u4e2a\u8c10\u6ce2\u3002\u7528\u7acb\u4f53\u58f0\u8033\u673a\u6765\u542c\u8c10\u6ce2\u7684\u5206\u652f\u3002<\/p>\n<pre class=\"brush:jfx\">(\r\n{\r\nvar dur = 6, base, aenv, fenv, out, trig;\r\nbase = Rand(40, 100);\r\ntrig = SinOsc.ar(1\/10);\r\nout = Mix.fill(15,{\r\n   var thisDur;\r\n   thisDur = dur * rrand(0.5, 1.0);\r\n   aenv = EnvGen.kr(Env.perc(0, thisDur), trig);\r\n   fenv = EnvGen.kr(Env.new([0, 0, 1, 0], [0.25*thisDur, 0.75*thisDur, 0]), trig);\r\n   Pan2.ar(SinOsc.ar( Rand(base, base * 12) *\r\n      LFNoise1.kr(10, mul: 0.02 * fenv, add: 1), \/\/ freq\r\n      mul: aenv \/\/ amp\r\n   ), ([1, -1].choose) * fenv)\r\n}) * 0.05;\r\nout\r\n}.play(s);<\/pre>\n<pre class=\"brush:jfx\">{\r\nvar dur = 6, base, aenv, fenv, out, trig, detune;\r\nbase = Rand(40, 60);\r\ndetune = 0.1; \/\/ \u589e\u52a0\u8fd9\u4e2a\u503c\u4e3a\u7b2c\u4e8c\u4e2a\u94c3\u53bb\u8c10\r\ntrig = SinOsc.ar(1\/10, pi);\r\nout = Mix.fill(15,\r\n{ arg count;\r\n   var thisDur;\r\n   thisDur = dur * rrand(0.5, 1.0);\r\n   aenv = EnvGen.kr(Env.perc(0, thisDur), trig);\r\n   fenv = EnvGen.kr(Env.new([1, 1, 0, 1], [0.05*thisDur, 0.95*thisDur, 0]), trig);\r\n   Pan2.ar(SinOsc.ar( base*(count+1+ detune.rand) *\r\n      LFNoise1.kr(10, mul: 0.02 * fenv, add: 1), \/\/ freq\r\n      mul: aenv \/\/ amp\r\n   ), ([1, -1].choose) * fenv)\r\n}) * 0.05;\r\nout\r\n}.play(s);\r\n)<\/pre>\n<pre class=\"brush:jfx\">\/\/ \u8870\u51cf\u7684\u94c3\u97f3\r\n(\r\n{\r\nvar aenv, fenv, out, trig, dur, base;\r\ndur = rrand(1.0, 6.0);\r\nbase = exprand(100, 1000);\r\ntrig = Impulse.kr(1\/6);\r\nout = Mix.ar(\r\n   Array.fill(15,{\r\n      arg count;\r\n      var thisDur;\r\n      thisDur = dur * rrand(0.5, 1.0);\r\n      aenv = EnvGen.kr(\r\n          Env.new([0, 1, 0.4, 1, 0], [0, 0.5, 0.5, 0]), trig,\r\n          timeScale: thisDur);\r\n      fenv = EnvGen.kr(\r\n          Env.new([0, 0, 0.5, 0.5, 0], [0.25, 0.5, 0.25, 0]),\r\n              trig, timeScale: thisDur);\r\n      Pan2.ar(SinOsc.ar( Rand(base, base * 12) *\r\n          LFNoise1.kr(10, mul: 0.1 * fenv, add: 1), \/\/ freq\r\n          mul: aenv \/\/ amp\r\n      ), ([1, -1].choose) * fenv)\r\n   })\r\n) * EnvGen.kr(Env.linen(0, dur, 0), Impulse.kr(6), timeScale: dur,\r\n      levelScale: 0.05, doneAction: 2);\r\nout*0.3;\r\n}.play;\r\n)<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\u4e3a\u4ec0\u4e48\u5728\u7ecf\u8fc7\u5dee\u4e0d\u591a50\u5e74\u7684\u7535\u5b50\u97f3\u4e50\u548c\u4e50\u5668\u8bbe\u8ba1\u540e\uff0c\u6211\u4eec\u4ecd\u80fd\u542c\u51fa\u67d0\u4e9b\u4e50\u5668\u662f\u88ab\u5408\u6210\u7684\uff1f\u7edd\u5927\u591a\u6570\u5408\u6210\u5668\u90fd\u7f3a\u4e4f\u590d\u6742\u6027\u548c\u6df7\u6c8c\uff08chao\uff09\u3002\u751a\u81f3\u8fde\u91c7\u6837\u7684\u4e50\u5668\u542c\u8d77\u6765\u90fd\u4e0d\u771f\uff0c\u56e0\u4e3a\u5bf9\u4e8e\u4efb\u4f55\u4e50\u5668\u97f3\u7b26\u7684\u7cbe\u786e\u590d\u5236\u90fd\u5e76\u975e\u90a3\u4e2a\u4e50\u5668\u7684\u771f\u5b9e\u8868\u73b0\u3002\u5c06\u4e00\u7247\u6811\u53f6\u7684\u9ad8\u5206\u8fa8\u7387\u6570\u7801\u7167\u7247\u590d\u5236n\u4e2a\u770b\u8d77\u6765\u4e5f\u4e0d\u4f1a\u50cf\u4e00\u68f5\u6811\u3002\u4e00\u68f5\u6811\u4e0a\u7684\u6240\u6709\u53f6\u5b50\u90fd\u4e0d\u540c\uff0c\u5e76\u4e14\u5b83\u4eec\u662f\u5b9e\u65f6\u6539\u53d8\u7684\u3002\u5bf9\u4e8e\u94a2\u7434\u6765\u8bf4\u4e5f\u662f\u8fd9\u6837\u3002\u6bcf\u4e2a\u952e\u90fd\u6709\u5b83\u4e13\u5c5e\u7684\u548c\u58f0\u6307\u7eb9\u3002\u751a\u81f3\u8fde\u7eed\u6572\u51fb\u540c\u6837\u7684\u952e\u57fa\u4e8e\u8ddd\u4e0a\u4e00\u4e2a\u97f3\u7b26\u4ea7\u751f\u540e\u9707\u52a8\u5f26\u7684\u4f4d\u7f6e\u4e5f\u4f1a\u4ea7\u751f\u4e0d\u540c\u7684\u6cdb\u97f3\u3002\u771f\u4e50\u5668\u662f\u590d\u6742\u548c\u6df7\u6c8c\u7684\u3002\u6bcf\u4e2a\u97f3\u7b26\u90fd\u5f88\u72ec\u7279\u3002\u5c3d\u7ba1\u7efc\u5408\u7684\u4e0a\u5c42\u8c10\u6ce2\u5185\u5bb9\u4fdd\u6301\u6052\u5b9a\uff0c\u4f46\u5c0f\u7684\u7ec6\u8282\u6539\u53d8\u4e86\u3002SC\u662f\u6211\u78b0\u5230\u7684\u7b2c\u4e00\u4e2a\u80fd\u591f\u5b9e\u65f6\u5904\u7406\u8fd9\u4e9b\u590d\u6742\u5de5\u5e8f\u7684\u5de5\u5177\u3002\u6211\u4eec\u5c06\u7528\u6700\u590d\u6742\u548c\u8f85\u52a9\u8ba1\u7b97\u96c6\u4e2d\u6cd5\uff08\u4ee5\u53ca\u5728\u7ed3\u679c\u65b9\u9762\u6700\u6709\u76ca\u7684\uff09\u6765\u5f00\u59cb\u5408\u6210\u7406\u8bba\uff1a\u52a0\u6cd5\u5408\u6210\uff08additive synthesis\uff09\u3002<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[71],"tags":[72],"class_list":["post-1203","post","type-post","status-publish","format-standard","hentry","category-supercollider3","tag-sc"],"blocksy_meta":[],"_links":{"self":[{"href":"https:\/\/learn.travelchinawith.me\/index.php?rest_route=\/wp\/v2\/posts\/1203","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\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/learn.travelchinawith.me\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1203"}],"version-history":[{"count":2,"href":"https:\/\/learn.travelchinawith.me\/index.php?rest_route=\/wp\/v2\/posts\/1203\/revisions"}],"predecessor-version":[{"id":1212,"href":"https:\/\/learn.travelchinawith.me\/index.php?rest_route=\/wp\/v2\/posts\/1203\/revisions\/1212"}],"wp:attachment":[{"href":"https:\/\/learn.travelchinawith.me\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1203"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/learn.travelchinawith.me\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1203"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/learn.travelchinawith.me\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1203"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}