1 00:00:00,000 --> 00:00:05,180 2 00:00:05,180 --> 00:00:05,930 CONNOR HARRIS: Kaixo. 3 00:00:05,930 --> 00:00:06,820 Naiz Connor Harris. 4 00:00:06,820 --> 00:00:09,729 CS50 Harvard CA bat naiz. 5 00:00:09,729 --> 00:00:11,270 STEPHEN KREWSON: naiz Stephen Krewson. 6 00:00:11,270 --> 00:00:12,582 Yale CS50 TF bat naiz. 7 00:00:12,582 --> 00:00:15,790 CONNOR HARRIS: Eta ari gara hitz joan teknologia batzuei buruz duzula agian 8 00:00:15,790 --> 00:00:18,880 Oraindik nahi izanez gero erabili nahi amaierako proiektua egiteko edo benetan 9 00:00:18,880 --> 00:00:20,920 musikarekin ezer. 10 00:00:20,920 --> 00:00:24,400 Lehen bat bideratua goaz Haskell izeneko programazio hizkuntza. 11 00:00:24,400 --> 00:00:26,280 Da funtzional bat hizkuntza, beraz, paradigma du 12 00:00:26,280 --> 00:00:29,620 C edo PHP oso desberdina edo inperatibo beste hizkuntzetan 13 00:00:29,620 --> 00:00:33,450 Dagoeneko erabili ditut, eta, batez ere, Liburutegi bat Haskell idatzitako 14 00:00:33,450 --> 00:00:40,240 Euterpea deitzen diren pertsonei laguntzeko musika idazten funtzionalki batera, 15 00:00:40,240 --> 00:00:40,780 funtsean. 16 00:00:40,780 --> 00:00:43,400 Eta Stephen oinez egingo Horren adibide handi baten bidez. 17 00:00:43,400 --> 00:00:46,423 >> Honen ondoren, aurkeztuko dizkizut dut LillyPond izeneko zerbait, eta horrek 18 00:00:46,423 --> 00:00:48,370 tipografia music teknologia bat da. 19 00:00:48,370 --> 00:00:50,830 Sort LaTeX bezalakoa da musikarekiko duzun edozein bada 20 00:00:50,830 --> 00:00:57,530 erabili dute LaTeX matematika klaseak edo beste P multzo klaseak edo zer egin behar duzu. 21 00:00:57,530 --> 00:01:00,440 Eta, beraz, ematen dut, berriro, Horren adibide xume batzuk 22 00:01:00,440 --> 00:01:03,640 eta seinalatu orokorrean baliabide batzuk hobeto zuzendaritzapean. 23 00:01:03,640 --> 00:01:04,319 >> STEPHEN KREWSON: In Gainera, uste dugu 24 00:01:04,319 --> 00:01:06,720 cool konfiguratzeko izango litzateke Aholku pixka bat 25 00:01:06,720 --> 00:01:10,780 arteko bide aldera Euterpea sortutako MIDI fitxategiak 26 00:01:10,780 --> 00:01:13,910 LillyPond ere, beraz, ez dugu ematen Gidoiak Instrukzio batzuk 27 00:01:13,910 --> 00:01:16,310 direla ez da egin behar LillyPond hornitua 28 00:01:16,310 --> 00:01:19,160 besterik ez da kode irekiko mantentzea eta gasbide joan zaitez. 29 00:01:19,160 --> 00:01:20,910 CONNOR HARRIS: Berriz ere, nabarmentzekoa da, 30 00:01:20,910 --> 00:01:23,100 Bi teknologia horiek, zuk ez dute haiek elkarrekin erabiltzeko. 31 00:01:23,100 --> 00:01:25,370 Oraindik ez dute horrela diseinatuta elkarrekin, oso ondo egin zuten arren. 32 00:01:25,370 --> 00:01:26,362 >> STEPHEN KREWSON: Eskuin. 33 00:01:26,362 --> 00:01:30,116 Eta guztiz doan. 34 00:01:30,116 --> 00:01:32,240 CONNOR HARRIS: So eskertza, besterik irakurri. 35 00:01:32,240 --> 00:01:33,406 STEPHEN KREWSON: Behar bezala adierazi. 36 00:01:33,406 --> 00:01:36,360 Folks horiek esker. 37 00:01:36,360 --> 00:01:39,180 Hau izango behingoz gainean luzatuko dut. 38 00:01:39,180 --> 00:01:41,560 Instalazio prozesua apur bat delikatua. 39 00:01:41,560 --> 00:01:45,420 Dute bat irakurri dugu me GitHub on begirada bat hartu ahal izango duzu. 40 00:01:45,420 --> 00:01:47,840 Email me edozein zalantza izanez gero. 41 00:01:47,840 --> 00:01:52,829 Baina hau exekutatu egingo dugu hipotesi azpian hori da denontzat lan. 42 00:01:52,829 --> 00:01:55,620 CONNOR HARRIS: Eta ezin baduzu eskuratu, LillyPond lan big aurre ez egiteko. 43 00:01:55,620 --> 00:02:00,139 Ez dago zuzeneko Compilationen parte hartzen izango da, gutxienez, nire amaieran. 44 00:02:00,139 --> 00:02:02,930 STEPHEN KREWSON: Haskell eta LillyPond biak eduki behar instalatzaileak. 45 00:02:02,930 --> 00:02:08,497 Euterpea gisa deskargatzen da paketea, beraz, eta abar. 46 00:02:08,497 --> 00:02:10,080 Beraz, ordenagailu musikari buruz hitz egiten ari gara. 47 00:02:10,080 --> 00:02:12,990 Eta ez da Oso 50.000 oin ikuspegia. 48 00:02:12,990 --> 00:02:15,700 Ez dago of a alderdi ezberdinak batzuk. 49 00:02:15,700 --> 00:02:18,120 Eta hau zakarra da, eta ez da xehetasun batzuk ilundu egingo da. 50 00:02:18,120 --> 00:02:22,090 Baina zerbait dela pentsa genezake algoritmikoak konposaketa bezala, 51 00:02:22,090 --> 00:02:24,920 algoritmoak erabiliz, kodea erabiliz, sortzen 52 00:02:24,920 --> 00:02:30,280 mota batzuk of-- agian auto-antzeko ohar, edo, agian, ohar sekuentzia 53 00:02:30,280 --> 00:02:33,330 murriztapen batzuk pean. 54 00:02:33,330 --> 00:02:35,350 Eta gero, horiek ezin izango burutu edo interpretatu 55 00:02:35,350 --> 00:02:38,390 instrumentu analogikoa edo horrelako zerbait. 56 00:02:38,390 --> 00:02:42,010 Baina osaera zen algorithmically egin. 57 00:02:42,010 --> 00:02:45,120 >> Baina noski, agian arloan ordenagailu musika edo musika digital 58 00:02:45,120 --> 00:02:48,870 Gehiago digitala da ezagutzen gara soinu sintesi edo laginketa digitala 59 00:02:48,870 --> 00:02:51,160 eta grabaketa digitala. 60 00:02:51,160 --> 00:02:55,650 Instrumentu digital asko daude laginketa digital bidez egiten da. 61 00:02:55,650 --> 00:03:00,110 Izan ere, horietako bat erabiliz egingo dugu letra-liburutegi bat soinu forma geroago. 62 00:03:00,110 --> 00:03:02,850 >> Baina ez da zerbait izeneko etorri dira sintesi digitala 63 00:03:02,850 --> 00:03:08,650 berandu 70eko eta sartu 'batera 80ko Yamaha eta John Chowning Stanford 64 00:03:08,650 --> 00:03:11,990 FM sintesia egiten edo Frequency modulazioa sintesia, 65 00:03:11,990 --> 00:03:15,100 non garraiolari bat izan duzu seinale eta modulazio seinale bat 66 00:03:15,100 --> 00:03:18,270 bai audio espektro. 67 00:03:18,270 --> 00:03:22,570 Baina zer bideratuta ari gara gaur MIDI izeneko zerbait da, 68 00:03:22,570 --> 00:03:25,040 eta, jakina, algoritmikoak konposizioa. 69 00:03:25,040 --> 00:03:30,940 >> Ez gara instrumentuak egiteko, baina beharrean ari gara musika batzuk egiteko, 70 00:03:30,940 --> 00:03:33,940 eta gero interpretatu egingo instrumentu batzuek duten 71 00:03:33,940 --> 00:03:38,300 dira behar conformant general MIDI estandarra. 72 00:03:38,300 --> 00:03:40,830 Beraz, zein da MIDI? 73 00:03:40,830 --> 00:03:45,550 Ez dut gehiegi sakon da sartuko, baina MIDI datuak transferitzeko protokoloa da. 74 00:03:45,550 --> 00:03:49,250 Da gida baten moduko bat topatu hainbat enpresa eta industriek 75 00:03:49,250 --> 00:03:52,250 soinuak edo adabaki antolatzeko. 76 00:03:52,250 --> 00:03:54,170 Beraz, ikusiko dugu ez MIDI estandar bat da 77 00:03:54,170 --> 00:03:57,500 desberdinak perkusioa guztientzat soinuak eta MIDI gomendioak 78 00:03:57,500 --> 00:04:01,360 synth mota guztietako jardueretan edo Instrumentu guztiek mota desberdinak 79 00:04:01,360 --> 00:04:03,650 orkestra bat talde, esan. 80 00:04:03,650 --> 00:04:08,916 >> Ezagutzen duzu, ziurrenik, 127 0 bitartez MIDI mezuak. 81 00:04:08,916 --> 00:04:12,920 MIDI seinale bat da, normalean Pixka bat adieraziz 82 00:04:12,920 --> 00:04:16,130 Datu bat edo bat ote den status pakete, eta gero, ez da 83 00:04:16,130 --> 00:04:18,589 zazpi seinale bat bit. 84 00:04:18,589 --> 00:04:21,430 Eta horiek kontrolatu ahal bolumen guztia 85 00:04:21,430 --> 00:04:25,330 ekintzaren edo presiopean gakoa da jakin baten 86 00:04:25,330 --> 00:04:29,400 MIDI batekin burutzen ari bada controller baita, noski, 87 00:04:29,400 --> 00:04:31,250 notak. 88 00:04:31,250 --> 00:04:33,450 Eta, jakina, MIDI ditu oso baliagarria izan da, 89 00:04:33,450 --> 00:04:37,550 alanbre modu bat delako elkarrekin edo daisy kate 90 00:04:37,550 --> 00:04:41,570 MIDI gailu sorta bat. 91 00:04:41,570 --> 00:04:44,050 Daukat zazpi edo zortzi nire etxean atzera. 92 00:04:44,050 --> 00:04:46,610 Lortzen benetan zaila, baina benetan boteretsua da. 93 00:04:46,610 --> 00:04:47,460 Eta benetan zaharra da. 94 00:04:47,460 --> 00:04:51,117 Da 80ko hamarkadaren hasieran, eta benetan polita eta txikia da. 95 00:04:51,117 --> 00:04:51,950 CONNOR HARRIS: Bai. 96 00:04:51,950 --> 00:04:54,230 Guztiak klasiko Nintendo bideo-jokoak, ziurrenik 97 00:04:54,230 --> 00:04:56,088 MIDI musika fitxategiak, adibidez dute. 98 00:04:56,088 --> 00:04:59,550 99 00:04:59,550 --> 00:05:01,740 >> STEPHEN KREWSON: Hona hemen bat MIDI general adibide, 100 00:05:01,740 --> 00:05:06,520 MIDI mota bat bezala erakusten protokoloa orokorreko. 101 00:05:06,520 --> 00:05:13,280 Eta uste dut dela pentsa dezakezu zehaztapen arteko aldea 102 00:05:13,280 --> 00:05:17,830 ez dagoela antzeko zerbait izan behar du Instrumentu horiek soinuak eta benetako 103 00:05:17,830 --> 00:05:21,740 egintza horiek gauzatzeko soinuak soinu-tipo bat edo MIDI jakin batean 104 00:05:21,740 --> 00:05:25,740 sintetizadoreaName aldea izanik Agian typeface-- horrek dio arteko, 105 00:05:25,740 --> 00:05:30,350 oro har, hau diseinatzea da irudikatzeko modu horretara 106 00:05:30,350 --> 00:05:35,907 karaktere eta letra jakin bat duten tamaina eta tinbre berezia dauka, 107 00:05:35,907 --> 00:05:37,240 eta ez da the-- gauzatzeko 108 00:05:37,240 --> 00:05:39,156 >> CONNOR HARRIS: Agian bat hobea konparaketa litzateke 109 00:05:39,156 --> 00:05:43,430 izan Unicode estandarra says-- ematen karaktere arteko zenbakia da, eta benetan 110 00:05:43,430 --> 00:05:46,830 munduko hizkuntza guztietan, edo Hizkuntzaren gidoiak multzo zabala da 111 00:05:46,830 --> 00:05:51,310 munduan, eta, ondoren, horiek dira Zerbait grafikoa itzul 112 00:05:51,310 --> 00:05:53,710 font hainbat paketeak arabera. 113 00:05:53,710 --> 00:05:56,630 Eta, jakina, ez pentsa dezakezu MIDI soinuaren Unicode bezala. 114 00:05:56,630 --> 00:06:03,250 Eta besterik zerrenda bat korronte handi bat of-- da ekitaldiak eta instrumentu eta whatnot of, 115 00:06:03,250 --> 00:06:06,090 eta bereizi bat eduki behar duzu programa, tipografia bat bezala, 116 00:06:06,090 --> 00:06:08,537 Hori errenderizatzeko sartu Zerbait hori entzungarri. 117 00:06:08,537 --> 00:06:12,360 118 00:06:12,360 --> 00:06:13,780 >> STEPHEN KREWSON: Zergatik Haskell? 119 00:06:13,780 --> 00:06:19,110 Haskell programazio funtzionala da hizkuntza, oso aurreratuak, 120 00:06:19,110 --> 00:06:22,770 C oso desberdina, PHP oso desberdina. 121 00:06:22,770 --> 00:06:28,120 Eta ari gara, ez dagoela bat ikusteko joan Funtzio Haskell konposizio erraztasuna 122 00:06:28,120 --> 00:06:37,640 Hori bidez brisa aukera emango digute idazten edo jarraitu idazten, transkribatu, 123 00:06:37,640 --> 00:06:42,160 Frere Jacques antzeko zerbait, abesti sinple hori 124 00:06:42,160 --> 00:06:46,815 atal asko ditu bertan dela auto-antzekoa edo errepikatuz dira. 125 00:06:46,815 --> 00:06:49,740 126 00:06:49,740 --> 00:06:53,250 Beraz, honen batzuk izango dira zergatik motibazioa 127 00:06:53,250 --> 00:06:59,400 Haskell erabiltzen ari gara, eta bertan, funtzio lehen mailako herritar dira. 128 00:06:59,400 --> 00:07:01,120 >> Eta hedatu egin nahi izan dut Pixka bat hau. 129 00:07:01,120 --> 00:07:08,800 Pixka bat erraza notate Frere Jacques Haskell. 130 00:07:08,800 --> 00:07:12,100 Baina zer nahi izanez gero danborra zati bat gehitu nahi duzu? 131 00:07:12,100 --> 00:07:17,320 Zer egin frogatu nahi badugu Roland 808 edo 909 danbor baten antzeko zerbait 132 00:07:17,320 --> 00:07:20,970 makina bertan duzu 16 inguru dituen etapak? 133 00:07:20,970 --> 00:07:24,590 Normalean hauek dira 16an bezala ohar pentsatu. 134 00:07:24,590 --> 00:07:28,640 Eta global kontrola dezakezu Denborarekin, eta jaso ahal izango duzu 135 00:07:28,640 --> 00:07:34,620 perkusioa atal ezberdinak sorta bat kontrabaxua danborra, txalo bat, tranpak desberdinak, 136 00:07:34,620 --> 00:07:37,540 txanoak handiko ireki eta itxiak kanal moduko hauetan, 137 00:07:37,540 --> 00:07:41,600 eta gero ekualiza dezakezu edo haien bolumena doitzeko. 138 00:07:41,600 --> 00:07:45,290 >> Eta ikusiko dugu modu polit bat Urrats hau adierazten Haskell 139 00:07:45,290 --> 00:07:48,810 guztiak batera sequencer Haskell hainbat gauza cool 140 00:07:48,810 --> 00:07:53,100 sorrerako egin dezakegu zerrendak eta iragazketa zerrendak baino gehiago, 141 00:07:53,100 --> 00:07:56,060 zerrendak baino mapping, mapping zerrendak gehiagoko funtzioak. 142 00:07:56,060 --> 00:07:59,530 143 00:07:59,530 --> 00:08:00,760 Eta apologia azkar bat. 144 00:08:00,760 --> 00:08:05,300 Hau oso gaingiroki eta sketch oso azkar 145 00:08:05,300 --> 00:08:07,620 alderdi batzuen Haskell eta Euterpea of, 146 00:08:07,620 --> 00:08:11,760 horietatik bat domeinu-partida da Hizkuntza kapsulatutako idatzia 147 00:08:11,760 --> 00:08:14,970 Haskell musika-mota egiteko ere. 148 00:08:14,970 --> 00:08:17,350 Beraz, mesedez, ez begiratu kodea konektatuta. 149 00:08:17,350 --> 00:08:22,404 Sua sortu GHCI, horrek Glasgow da Haskell Compiler interpreteak. 150 00:08:22,404 --> 00:08:24,320 Eta egon batzuk egiten ari naiz hau pixka batean 151 00:08:24,320 --> 00:08:25,880 beraz, nola egiten da ikusi ahal izango duzu. 152 00:08:25,880 --> 00:08:31,021 >> Eta honetan kargatu zurekin ahalbidetzen the-- sintaxia colon eta orduan da 153 00:08:31,021 --> 00:08:31,520 komandoa. 154 00:08:31,520 --> 00:08:33,510 Fitxategi kargatu dezakezu. 155 00:08:33,510 --> 00:08:36,840 Fitxategi horiek arakatzeko dezakezu funtzio guztiak ikusteko 156 00:08:36,840 --> 00:08:39,169 modulu jakin batean existitzen. 157 00:08:39,169 --> 00:08:43,850 Eta ikusiko dugu, mota eta mota orduan bezala Klase beraz Haskell garrantzitsuak dira, 158 00:08:43,850 --> 00:08:48,850 beraz, beti check ditzakezu bereziki zu DSCL berri batean lanean ari bada 159 00:08:48,850 --> 00:08:51,600 Hau atsegin, zer musika mota bat da? 160 00:08:51,600 --> 00:08:55,114 Badakizu horrela zenbakizko buruzko I mota Haskell lan, 161 00:08:55,114 --> 00:08:56,530 baina ez dakit musika buruz. 162 00:08:56,530 --> 00:09:01,280 Baina bidean ari dira aztertzen dezakezu t edo idatzi komando hau erabiliz definitu 163 00:09:01,280 --> 00:09:04,577 eta orduan jakin batean deituz funtzio edo datu-objektu bat. 164 00:09:04,577 --> 00:09:05,410 CONNOR HARRIS: Bai. 165 00:09:05,410 --> 00:09:09,820 C eta Clang pentsatu baduzu motei buruz hardass zen, 166 00:09:09,820 --> 00:09:11,230 Haskell buruzko ideia ez duzu. 167 00:09:11,230 --> 00:09:14,230 Haskell buruz gauza ona dela Zure kodea eskuratu ahal izanez gero bildu 168 00:09:14,230 --> 00:09:16,790 eta Haskell mota egiaztatzen badu, seguruenik eskubidea, 169 00:09:16,790 --> 00:09:18,675 mota sistemari hain zorrotza delako. 170 00:09:18,675 --> 00:09:20,090 >> STEPHEN KREWSON: Bai. 171 00:09:20,090 --> 00:09:21,980 Beraz, besterik gabe, joan nahi dut , bidez, eta berriro, 172 00:09:21,980 --> 00:09:27,160 hau ez da egiten batzuk justice-- da Haskell ezaugarriak, gutxienez 173 00:09:27,160 --> 00:09:31,780 Bere creators-- eta sortu den 1980ko hamarkadaren amaieran jende mordo batek ere, 174 00:09:31,780 --> 00:09:34,610 20 urte inguruko batzorde bat jende pentsatu garrantzitsuak izan ziren. 175 00:09:34,610 --> 00:09:36,850 Eta lehenengo gauza dute paper bat agertzen duten 176 00:09:36,850 --> 00:09:41,890 Haskell sorrera deskribatu lehen 20 urte edo gehiagoko 177 00:09:41,890 --> 00:09:43,390 zen alferra zela. 178 00:09:43,390 --> 00:09:44,990 Beraz, zer esan nahi du horrek? 179 00:09:44,990 --> 00:09:49,860 >> Beno, nolabaiteko dugu esan nahi du adierazpide, ebaluatu behar dugu. 180 00:09:49,860 --> 00:09:54,390 Eta Haskell hau egiten du dei bat ere beharrik modu edo bide ez-zorrotz baten arabera. 181 00:09:54,390 --> 00:09:57,250 Hau da, mordo bat badaukagu gure adierazpen osagaiak, 182 00:09:57,250 --> 00:10:00,660 ebaluazio atzeratzen saiatzen gara azpiosagaiek horietako 183 00:10:00,660 --> 00:10:05,300 absolutuaren azken minutu bat arte Hori da arte benetan dugu behar horiek. 184 00:10:05,300 --> 00:10:08,480 >> Beraz, esan nahi dugu hau, eta ez da Benetan cool, batez ere, 185 00:10:08,480 --> 00:10:13,200 abstrakzioa buruz ari zaren pentsatzen bada Urrats sequencer musikal bat. 186 00:10:13,200 --> 00:10:16,740 Piztu, eta hasten zara Urrats sequence-- bat martxan 187 00:10:16,740 --> 00:10:20,010 duzu inoiz danbor batekin lan egin baduzu machine-- eta besterik jartzen da betirako. 188 00:10:20,010 --> 00:10:24,650 Beraz, benetan polita izango bagenu litzatekeela Hori emulatzeko ezin Haskell. 189 00:10:24,650 --> 00:10:31,040 Eta hori egin ahal izango dugu, nekeza egin balioak, infinitua zerrendak bereziki. 190 00:10:31,040 --> 00:10:35,860 Oso erraza da, idazteko zerrenda infinitua Haskell. 191 00:10:35,860 --> 00:10:39,230 Besterik ezin behera erabiltzen duzun sintaxia Hemen, non ikusten duzu 1 3 bidez, 192 00:10:39,230 --> 00:10:42,440 kendu 3 1 dot dot, eta Hori zerrenda amaigabe bat da 193 00:10:42,440 --> 00:10:46,960 zenbaki arrunten guztien zabalduz den neurrian, ezin duzu imajinatu ere on. 194 00:10:46,960 --> 00:10:49,925 >> A aurkeztu nahi dut tolesturak kontzeptua berehala. 195 00:10:49,925 --> 00:10:51,800 Eta berriro ere, helburua Mintegi hau ez da 196 00:10:51,800 --> 00:10:55,770 Haskell tolesen buruz ikasi edo ordena funtzio handiagorik. 197 00:10:55,770 --> 00:10:59,640 Baina besterik ez da aurkeztu nahi dut zenbat bitxi zentzu zehatza emateko 198 00:10:59,640 --> 00:11:03,700 Haskell da eta nola indartsua da. 199 00:11:03,700 --> 00:11:08,000 Eta, batez ere, ari gara jolasten joan gure danborra atal ezberdinak egiten dugu, 200 00:11:08,000 --> 00:11:12,790 egon zerrendak manipulatzeko goaz zenbakiak, horiek tolesgarri, bata bestearen gainean. 201 00:11:12,790 --> 00:11:17,290 Eta hori egin ahal izateko, dizkizugu mapak eta tolesturak erabiliz. 202 00:11:17,290 --> 00:11:21,770 >> Ez dago eskuineko elkarteetako da tolestu, ikusi zein eskubide hori da 203 00:11:21,770 --> 00:11:26,990 hemen 1 ken kantitatea, 2 ken kantitatea, 3 ken 0. 204 00:11:26,990 --> 00:11:29,170 Eta bat sintaxia fold, bider bat emango dizu 205 00:11:29,170 --> 00:11:34,680 base balio bat eta ondoren operation-- bat Kasu honetan, gainera, edo kenketa ere. 206 00:11:34,680 --> 00:11:36,280 Bi kasuetan ikusi dugun. 207 00:11:36,280 --> 00:11:41,760 Eta gero ez Metagailu bat dela Zerrenda osoa zehar pilatzen, 208 00:11:41,760 --> 00:11:46,330 operadorea plus hori aplikatuz edo ken, eta, ondoren, metatu. 209 00:11:46,330 --> 00:11:52,680 Beraz, hau the-- izango da deitzen zen bada fold r plus 0 batera, 0 hasita, 210 00:11:52,680 --> 00:11:54,720 orduan genuke laburbildu guztiak Zerrenda horretan zenbakiak. 211 00:11:54,720 --> 00:11:57,134 Eta hori, 1etik 3ra zerrenda bat da. 212 00:11:57,134 --> 00:12:00,050 CONNOR HARRIS: beraz, jarri beste horrela, fold r hiru argumentu hartzen. 213 00:12:00,050 --> 00:12:02,540 Badira funtzio bat dela bera bi argumentu hartzen, 214 00:12:02,540 --> 00:12:05,400 ondoren, ez da hasierako balio bat da, eta ez balio-zerrenda bat da. 215 00:12:05,400 --> 00:12:08,570 Eta zer egin nahi duzu hartu duzu hasierako balioa, lehen balioa, 216 00:12:08,570 --> 00:12:09,850 Horietako jarri funtzioa sartu. 217 00:12:09,850 --> 00:12:11,607 Zer atera duzun, , feed hori hartu duten 218 00:12:11,607 --> 00:12:13,940 funtzioa sartu bigarren balio, zer atera duzun, 219 00:12:13,940 --> 00:12:16,690 Ateratzen, elikatzen duten sartu irugarren balio funtzioa. 220 00:12:16,690 --> 00:12:18,740 Eta gero behera bazoaz Zerrenda osoa hau era honetan, 221 00:12:18,740 --> 00:12:22,970 Azkenean iritsi da zu zenbait balio hori singular 222 00:12:22,970 --> 00:12:25,720 hasitakoa mota bereko batera egindako eta mota bereko 223 00:12:25,720 --> 00:12:29,147 Zerrendako gauzak, eta, ondoren, bueltan fold R. ondorioa da 224 00:12:29,147 --> 00:12:31,980 STEPHEN KREWSON: Beraz, bereziki, hauek dira, ordena funtzio altuagoa, 225 00:12:31,980 --> 00:12:34,460 Oraindik beste hartzen dutelako funtzioak emandako argumentu bat bezala. 226 00:12:34,460 --> 00:12:34,770 >> CONNOR HARRIS: Bai. 227 00:12:34,770 --> 00:12:37,820 Erabili dituzun bada beste zenbait languages-- R ezagutzen dut, [INAUDIBLE] 228 00:12:37,820 --> 00:12:41,510 Hizkuntza ditu honek, izeneko murriztea. 229 00:12:41,510 --> 00:12:45,460 Agian antzeko funtzioak duzu beste hizkuntza batzuetan, besterik izeneko 230 00:12:45,460 --> 00:12:48,160 Gauza ezberdinak. 231 00:12:48,160 --> 00:12:50,680 >> STEPHEN KREWSON: Eta Zer da fold R inguru polita 232 00:12:50,680 --> 00:12:53,880 kasu honetan fold dela R infinitua zerrendak lan. 233 00:12:53,880 --> 00:12:59,490 Beraz, beheko honetan, P5 honetan Ohar sortzen duten 234 00:12:59,490 --> 00:13:03,120 aktibatuta daudela urrats sequencer batean danborra zati batzuk, bosgarren danborra parte, 235 00:13:03,120 --> 00:13:05,480 eta, agian, conga bat da danborra edo zerbait. 236 00:13:05,480 --> 00:13:09,719 Eta hau da, nahita bat hau idazteko modu kamutsa, 237 00:13:09,719 --> 00:13:11,510 baina dibertigarria da, zeren asko erakusten du 238 00:13:11,510 --> 00:13:14,460 Haskell eta Euterpea buruz gauza. 239 00:13:14,460 --> 00:13:20,650 >> Beraz, tolestu R colon-- colon honen da besterik gabe, gauza batzuk bultzatzen duten eragile batez 240 00:13:20,650 --> 00:13:25,700 elkarrekin huts bat izeneko list-- batean zerrenda, eta horrek parentesi hutsik dago besterik. 241 00:13:25,700 --> 00:13:28,250 Eta deitzen naiz dagoela zerrenda infinitua honetan. 242 00:13:28,250 --> 00:13:31,570 Hau da, benetan bi zerrenda batzen behera hemen. 243 00:13:31,570 --> 00:13:37,150 The list 1 koma 6 dot dot 1, 6, 11, 16 da. 244 00:13:37,150 --> 00:13:39,750 Beraz, besterik ere Haskell-- karaktereak, zuk 245 00:13:39,750 --> 00:13:42,420 osoan zehar sortzen ahal zenbakien sekuentzia 246 00:13:42,420 --> 00:13:46,240 duten bost zenbakiak dira aparte luzatze infinituraino sartu. 247 00:13:46,240 --> 00:13:49,860 Eta gunearen aurretik joan nintzen list-- pixka bat laburragoa honetan 248 00:13:49,860 --> 00:13:54,370 3, 8, 21-- besterik erakusteko nola zerrendak kateatu ahal izango dituzu. 249 00:13:54,370 --> 00:13:55,790 >> Eta gero, ez dut bera tolestuta. 250 00:13:55,790 --> 00:14:01,510 Eta honen ondorioz sortu besterik moduko bat izanik identitate operazioa, baina infinitua da. 251 00:14:01,510 --> 00:14:06,070 Eta tolestu R Hori egin daiteke, delako nekerik ebaluatzen, goian ikus daitekeen bezala. 252 00:14:06,070 --> 00:14:10,582 Dugula 1 eta 2 eta 3 bada, ezin dugu besterik parentesi off gainerako osoan zehar. 253 00:14:10,582 --> 00:14:12,290 Ez dela lan ken edo plus, baina 254 00:14:12,290 --> 00:14:17,760 egingo colon honen alde lan egiteko identitate zerrenda horretako eragiketa. 255 00:14:17,760 --> 00:14:24,620 >> Beraz, nola ia erabili ez dugu hori badugu Gauzak zerrenda infinituki luzea izan? 256 00:14:24,620 --> 00:14:26,500 Beno, Haskell eskaintzen funtzio asko 257 00:14:26,500 --> 00:14:29,450 eta begiratu horiek sartu gehiagotan Zure aldia propioa hartu, esate baterako, 258 00:14:29,450 --> 00:14:32,200 horrek dio, OK, ez gara zerrenda infinitua hau sortuz, 259 00:14:32,200 --> 00:14:35,950 baina besterik ez gara pixka bat hartu du Da Eta kasu horretan honetan zenbaki 260 00:14:35,950 --> 00:14:38,410 hau ikusiko dugu geroago Gure danborra makina, kode 261 00:14:38,410 --> 00:14:43,740 GM besterik global mota batzuk urrats kopurua aldagai 262 00:14:43,740 --> 00:14:44,610 sequencer batean. 263 00:14:44,610 --> 00:14:47,630 Roll-makinak On I erakutsi duzu, hori da normalean 16 264 00:14:47,630 --> 00:14:51,475 baina ezarri dut 32. 265 00:14:51,475 --> 00:14:54,470 Ez da benetan axola. 266 00:14:54,470 --> 00:15:00,230 >> Haskell ere bada hutsa, hain sendoak dituen Idazteko estatikoan duten Connor aipatu. 267 00:15:00,230 --> 00:15:03,220 Beraz, funtzio dira sense-- batean matematiko 268 00:15:03,220 --> 00:15:06,600 gehiago matematiko ari dira dutela bermatzen ari 269 00:15:06,600 --> 00:15:11,530 ez sartzeko edo edozein motatako aldatu aldagai edo burutzeko sarrera edo irteera. 270 00:15:11,530 --> 00:15:14,420 Beraz, funtzio bat izanez gero, determinista da. 271 00:15:14,420 --> 00:15:17,400 Beti izango da bera itzuli Programaren estatuan balio 272 00:15:17,400 --> 00:15:19,310 edo berdin jarraituko dute. 273 00:15:19,310 --> 00:15:22,940 Badira, noski, salbuespenak monadikoari honetan, baina hori da gure esparrua haratago da. 274 00:15:22,940 --> 00:15:23,900 >> CONNOR HARRIS: Bai. 275 00:15:23,900 --> 00:15:26,946 Horrek esan nahi du, nahiz eta, ez zenbait garrantzitsua [INAUDIBLE] 276 00:15:26,946 --> 00:15:27,820 horren ondorioak. 277 00:15:27,820 --> 00:15:30,940 Bat da oso erraza dela parallelize Haskell programak. 278 00:15:30,940 --> 00:15:32,773 Duzu bada delako, Nik esango nuke, funtzio bat 279 00:15:32,773 --> 00:15:36,064 milioi bat balioen funtzionatzeko behar, bada Dakizuenez funtzioa beti izango da 280 00:15:36,064 --> 00:15:39,280 balio badu bera eman elikatzeko balioa jakin batean duzu 281 00:15:39,280 --> 00:15:43,055 Oraindik [INAUDIBLE] 1 f bada, f 2, orduan f 3 edo whatnot-- 1 f 282 00:15:43,055 --> 00:15:45,180 Ez dago idazteko joan fitxategi batean edo zerbait egin 283 00:15:45,180 --> 00:15:46,850 Hori f2 balioa aldatzea izango da. 284 00:15:46,850 --> 00:15:50,220 Zuk besterik zatitu daiteke funtzio hau bat milioi makina desberdinen edo milioi bat 285 00:15:50,220 --> 00:15:54,720 hariak edo dena ezberdinak, erantzunak guztiak atzera, 286 00:15:54,720 --> 00:15:56,900 Bueltan balioen zaitez atzera, eta, ondoren, hori da. 287 00:15:56,900 --> 00:15:59,780 Beraz, oso erraza gauzak parallelize izateko. 288 00:15:59,780 --> 00:16:03,140 >> Arazotxo sarrera hori da eta irteera bereziki 289 00:16:03,140 --> 00:16:05,720 motako sistema kabituko Modu oso konplikatua da. 290 00:16:05,720 --> 00:16:09,010 Ez dugu eskubidea horretan joan, baina I baliabide batzuk begiratu animatzen zaituztegu 291 00:16:09,010 --> 00:16:11,175 online horri buruz ikasi nahi duzu bada. 292 00:16:11,175 --> 00:16:13,960 293 00:16:13,960 --> 00:16:16,550 >> STEPHEN KREWSON: So Idazten classes-- eta honek 294 00:16:16,550 --> 00:16:21,610 moten klaseak was-- ziren asmatu konpontzeko 295 00:16:21,610 --> 00:16:24,160 operadorea gainkarga arazo bat. 296 00:16:24,160 --> 00:16:27,590 Beraz, berdintasuna izan nahi dugu Gauza mota ezberdinen artean. 297 00:16:27,590 --> 00:16:31,040 Jakina, of-- uste izan dugu zenbakizko moten arteko berdintasuna 298 00:16:31,040 --> 00:16:34,720 pentsatu oso erraza da, baina zerrendak arteko berdintasunari buruz zer? 299 00:16:34,720 --> 00:16:37,610 Arteko berdintasunari buruz zer zuhaitz hanka datu egiturak? 300 00:16:37,610 --> 00:16:43,130 Eta hau guztia ere posible Haskell mota klaseak delako. 301 00:16:43,130 --> 00:16:48,000 >> Beraz, datu type-- jakin bat definitu baduzu eta hemen, horiek musika-zelaiak dira. 302 00:16:48,000 --> 00:16:50,960 Oraindik azkenik lortzean dugu ordenagailu musika. 303 00:16:50,960 --> 00:16:57,420 Beraz, C, C zorrotzak izan dugu, eta abar eta abar. 304 00:16:57,420 --> 00:17:01,080 Egileenak sorta da momentu mota ezberdinak. 305 00:17:01,080 --> 00:17:03,510 EQ-- EQ mota klase sartzen dute. 306 00:17:03,510 --> 00:17:06,780 Horrek esan nahi du onartzen dute berdintasuna eragiketak. 307 00:17:06,780 --> 00:17:12,650 Beraz, zuk bat egin ote diren dezake musikala primitiboak sekuentzia 308 00:17:12,650 --> 00:17:15,400 beste bat bezala bera da. 309 00:17:15,400 --> 00:17:17,280 >> Ordinalak class zati dira. 310 00:17:17,280 --> 00:17:19,479 Horrek esan nahi du ordena bat da horietara. 311 00:17:19,479 --> 00:17:27,670 D C. C zorrotz ondoren dator C ondoren dator, baita. 312 00:17:27,670 --> 00:17:29,840 Egileenak klaseari dute erakutsiko da, eta horrek esan nahi du, ahal izango dute 313 00:17:29,840 --> 00:17:33,000 kontsola bat edo terminal inprimatzeko. 314 00:17:33,000 --> 00:17:36,090 Sartzen joan ziren bizitzera Klase izendatuak, eta horrek 315 00:17:36,090 --> 00:17:39,770 esan nahi du, nahiz eta horiek pertsonaiak dira, 316 00:17:39,770 --> 00:17:45,340 Azpiko zenbakizko bat dute ordezkaritza 0 aurrerako 317 00:17:45,340 --> 00:17:48,960 eta off ordea igaro Gauza asko daude hemen, 20 edo, beraz, 318 00:17:48,960 --> 00:17:51,770 edo, 30 edo 40, agian. 319 00:17:51,770 --> 00:17:54,259 >> CONNOR HARRIS: Eta noiz datu-mota bat dugu 320 00:17:54,259 --> 00:17:57,050 Hori keyword horrekin derives-- "Deriving--" motako klase jakin bat, 321 00:17:57,050 --> 00:18:01,160 konpiladore saiatuko dela esan nahi du Zerbait automatikoki eraikitzeko. 322 00:18:01,160 --> 00:18:05,120 Beraz, agian nahi dituzu nahi define kalitatea ezberdina dauka. 323 00:18:05,120 --> 00:18:09,450 C zorrotz definitu nahi dituzu D laua berdina, adibidez. 324 00:18:09,450 --> 00:18:11,560 Eraikuntza honekin Hemen, ez dut uste C zorrotz 325 00:18:11,560 --> 00:18:14,940 eta D laua berdina izango da, izan ere, konpiladoreak automatikoki 326 00:18:14,940 --> 00:18:19,670 Posible balio ezberdinak esaten beste behin, desberdina da. 327 00:18:19,670 --> 00:18:22,930 >> Beraz, posible da jaramonik ez inplementazioak lehenetsiak, 328 00:18:22,930 --> 00:18:25,730 klaseak mota horiek. 329 00:18:25,730 --> 00:18:28,640 Berriz ere, bada erreferentziazko begiratzeko horri buruz ikasi nahi duzun. 330 00:18:28,640 --> 00:18:31,767 331 00:18:31,767 --> 00:18:33,600 STEPHEN KREWSON: Eta Hemen, egia esan, hau egingo 332 00:18:33,600 --> 00:18:36,930 geroago kode dugu litzaiguke. 333 00:18:36,930 --> 00:18:42,150 Artizki operadore batzuk ikusi ditugu konposizio sekuentziala egiteko, 334 00:18:42,150 --> 00:18:46,570 konposizio paraleloa, eta beraz, dagozkio, pluses hauek eta zeinuak berdinak 335 00:18:46,570 --> 00:18:48,620 puntuz inguratuta. 336 00:18:48,620 --> 00:18:53,330 Horrek esan nahi du desberdin horiek jolastu ahal izango dugu musikala primitiboak bat bestearen atzetik. 337 00:18:53,330 --> 00:18:54,590 Hori konposizio sekuentziala da. 338 00:18:54,590 --> 00:18:57,170 >> Edo horiek jolastu ahal izango dugu Aldi berean, paraleloan. 339 00:18:57,170 --> 00:19:05,100 Beraz, musika-balio bat izan daiteke dut, eta, ondoren, hau berdin eta puntuz, 340 00:19:05,100 --> 00:19:09,669 artizki paralelo konposizio operadorea, eta play akordeak bat balitz bezala. 341 00:19:09,669 --> 00:19:11,460 Eta ari gara erabil joan denean konbinatu dugu 342 00:19:11,460 --> 00:19:15,080 Gure danbor batekin parte gure gutxi Frere Jacques abestia 343 00:19:15,080 --> 00:19:19,460 bi sekuentzia horiek play Aldi berean, musika-balioak. 344 00:19:19,460 --> 00:19:24,520 345 00:19:24,520 --> 00:19:29,250 >> Is-- Curry Currying azken Haskell Curry, izena duten 346 00:19:29,250 --> 00:19:31,850 Haskell irudia omenez. 347 00:19:31,850 --> 00:19:34,330 Eta honek aukera ematen digu bat Polita dotorezia Oraindik dugu 348 00:19:34,330 --> 00:19:36,880 horiek guztiak idatziz funtzio edo gauden iragazkiak 349 00:19:36,880 --> 00:19:39,330 mapping gure zerrendak baino gehiago izango da. 350 00:19:39,330 --> 00:19:42,810 Bi funtzio A argumenturik x eta y-- f 351 00:19:42,810 --> 00:19:46,630 den bezala irudika daitezke x f y aplikatuta. 352 00:19:46,630 --> 00:19:49,800 Beraz, funtzio bat da argumentu bat da, itzultzen 353 00:19:49,800 --> 00:19:51,240 argumentu baten funtzioa beste. 354 00:19:51,240 --> 00:19:56,962 Beraz, horrek esan nahi du bat mapa dezakegu funtzioak x f y en zerrenda aztertzen. 355 00:19:56,962 --> 00:19:58,920 CONNOR HARRIS: nahi Horren adibide bat emateko? 356 00:19:58,920 --> 00:19:59,836 STEPHEN KREWSON: Bai. 357 00:19:59,836 --> 00:20:05,390 Adibide bat dut hemendik gauzak idatziko dugu batzuk. 358 00:20:05,390 --> 00:20:10,500 Beraz errepikatzeko 2-- bai, errepikatzeko izango 359 00:20:10,500 --> 00:20:13,040 balio bat da, hau da, zenbat aldiz zerbait errepikatzeko, 360 00:20:13,040 --> 00:20:16,690 eta, ondoren, balioa hartuko du Ohi zerrenda bat edo zerbait. 361 00:20:16,690 --> 00:20:23,450 Hortaz, hona hemen, mapping gaude errepikatzeko 2 Beste zerrenda bat baino gehiago. 362 00:20:23,450 --> 00:20:27,440 >> Errepikatzeko 2 mapa beraz badugu, aplikatu errepikatzeko dugu 2 bada 363 00:20:27,440 --> 00:20:31,890 list-- honen lehenengo elementua eta horiek musikala phrases-- zerrendak dira 364 00:20:31,890 --> 00:20:37,650 bi sortuko dituzte "sleeping-- duzu" beraz, lotan, lotan. 365 00:20:37,650 --> 00:20:40,040 Beraz, orain bi ditugu. 366 00:20:40,040 --> 00:20:42,570 Baina errepikatzeko bi hartzen argumentuak, baina garelako 367 00:20:42,570 --> 00:20:47,100 currying eta gero mapping, erreplika 2 ordezkatzen dugu 368 00:20:47,100 --> 00:20:52,310 haber sido itzuli funtzio gisa argumentu bat besterik ez birritan replicating. 369 00:20:52,310 --> 00:20:57,010 Eta gero ari gara bakoitzari aplikatuz esaldi zerrenda honen elementu. 370 00:20:57,010 --> 00:21:01,900 >> Eta concat Haskell da Zerrenda bat berdintzea eragiketa. 371 00:21:01,900 --> 00:21:04,400 Erreplika 2 egingo delako zerrenden zerrenda bat sortzeko. 372 00:21:04,400 --> 00:21:06,660 Eta hau tarteko forma hau da hemen. 373 00:21:06,660 --> 00:21:10,365 Eta, beraz, ondoren concat dezakegu edo berdindu atera birritan. 374 00:21:10,365 --> 00:21:12,240 CONNOR HARRIS: A errazagoa currying adibide, 375 00:21:12,240 --> 00:21:15,323 zinela antzekoak bada imajinatu f besterik da duten bi hartzen multiplication funtzioa 376 00:21:15,323 --> 00:21:16,840 argudioak eta beren produktua itzultzen. 377 00:21:16,840 --> 00:21:19,320 Beraz, f bat behar duzu bada, 4, 5, 20 da. 378 00:21:19,320 --> 00:21:22,670 Baina hau ez pentsa dezakezu gisa also-- f 4 duzu 379 00:21:22,670 --> 00:21:25,560 argumentu bat dela eta itzultzen hartzen lau aldiz hau besterik argumentu 380 00:21:25,560 --> 00:21:27,870 Aplikazio partziala bertan Argumentu 4 bakarrarekin. 381 00:21:27,870 --> 00:21:31,182 Eta elikatzeko 4 f bada 5, emango dizu 20. 382 00:21:31,182 --> 00:21:32,890 Eta hori errazagoa bat currying adibide. 383 00:21:32,890 --> 00:21:34,473 Ohi da testuliburua lehenengoetako bat da. 384 00:21:34,473 --> 00:21:38,860 385 00:21:38,860 --> 00:21:42,110 >> STEPHEN KREWSON: Lambda esamolde edo funtzio anonimo 386 00:21:42,110 --> 00:21:47,330 beste Haskell bandera. 387 00:21:47,330 --> 00:21:51,242 Beraz Látigo bat behar badugu gutxi funtzioa bizitza errepikatzeko, 388 00:21:51,242 --> 00:21:52,950 baina diotenez, ez da aurkitu Liburutegi estandarrak, 389 00:21:52,950 --> 00:21:56,150 sintaxia bat erabili ahal izango dugu Honako antzekoa. 390 00:21:56,150 --> 00:21:58,730 Eta hau baino gehiago dugu brisa. 391 00:21:58,730 --> 00:22:02,160 Gauza bat asko ikusiko duzu of the in deiak danborra makina da egiten ari gara 392 00:22:02,160 --> 00:22:05,790 zerbait izeneko iragazi, lehen bezala, zein, 393 00:22:05,790 --> 00:22:08,185 Funtzio baten mapping bat da Zerrenda bat baino gehiago, baina da 394 00:22:08,185 --> 00:22:10,260 funtzio boolear baten mapping bat. 395 00:22:10,260 --> 00:22:13,390 >> Beraz, hemen dugu adibide bat anonimoki of a bat 396 00:22:13,390 --> 00:22:19,150 definitu funtzio boolear dagoela besterik hartzen pare balioak bat. 397 00:22:19,150 --> 00:22:22,990 Hau ez da, hertsiki hitz Funtzio anonimoak. 398 00:22:22,990 --> 00:22:25,850 Baina batez definitzeko da laburtasunerako sintaxia, 399 00:22:25,850 --> 00:22:28,007 eta hau besterik x modulu hartzen n-- 400 00:22:28,007 --> 00:22:28,840 CONNOR HARRIS: Bai. 401 00:22:28,840 --> 00:22:31,330 Beraz, f funtzioa da Bi argumentu n eta p 402 00:22:31,330 --> 00:22:35,440 Hori dela berez funtzio bat itzultzen Argumentu bat funtzio bat, hots, x. 403 00:22:35,440 --> 00:22:38,815 404 00:22:38,815 --> 00:22:40,690 STEPHEN KREWSON: I aipatutako artizki operadore. 405 00:22:40,690 --> 00:22:42,642 Zer dira artizki operadore? 406 00:22:42,642 --> 00:22:45,710 Beno, artizki operadore dira modu normal eragiketak adierazten dugu, 407 00:22:45,710 --> 00:22:49,910 esan, mathematics-- 2 plus aurkitu 2 ordez operadorea plus 408 00:22:49,910 --> 00:22:51,202 eta, ondoren, bi argumentu 2 eta 2. 409 00:22:51,202 --> 00:22:53,701 CONNOR HARRIS: deitzen poloniar notazioa, hau da, 410 00:22:53,701 --> 00:22:55,330 epe bat duzu edozein jakingo zuen zalantza dut. 411 00:22:55,330 --> 00:22:56,288 >> STEPHEN KREWSON: Eskuin. 412 00:22:56,288 --> 00:22:58,290 Alderantzikatu polish edo aurrizki notazioa. 413 00:22:58,290 --> 00:23:01,412 Baina Haskell erabaki artizki eragileak erabili. 414 00:23:01,412 --> 00:23:03,120 Beraz, hauek dira batzuk pertsonalizatuak dela 415 00:23:03,120 --> 00:23:07,770 diren zehaztu Euterpea DSCL Haskell. 416 00:23:07,770 --> 00:23:10,730 Beraz, hau konposaketa sequential zen. 417 00:23:10,730 --> 00:23:16,340 Hau konposizio paraleloa zen, eta honek zen konposizio paralelo truncating. 418 00:23:16,340 --> 00:23:18,710 Eta egingo dugu, behar duten Gure danborra makina batekin, 419 00:23:18,710 --> 00:23:22,640 azkenekoa dugu erabili duelako izango tupla gutxi han-operadore 420 00:23:22,640 --> 00:23:26,330 danborra makina batera jolastu Gure Frere Jacques abestiarekin. 421 00:23:26,330 --> 00:23:28,650 Eta gure danborra makina da infinitua izango. 422 00:23:28,650 --> 00:23:30,920 Jokatzen du, besterik ez da betiko. 423 00:23:30,920 --> 00:23:32,692 Baina Frere Jacques abestia ez da. 424 00:23:32,692 --> 00:23:33,510 Ez da luzea. 425 00:23:33,510 --> 00:23:36,610 Taberna gutxi batzuk besterik ez da. 426 00:23:36,610 --> 00:23:43,030 Beraz, danborra makina gelditzeko behar dugu laster musikal balio laburragoa dator gisa 427 00:23:43,030 --> 00:23:43,700 amaiera emateko. 428 00:23:43,700 --> 00:23:46,980 Eta infixed operadorea da super horrekin lagungarria. 429 00:23:46,980 --> 00:23:50,090 >> Eta artizki atsegin notazioa hau da, mota polita, 430 00:23:50,090 --> 00:23:57,095 esaten duelako bezalako funtzio bat duzu aurrekontua, eta horrek zatiketa ematen 431 00:23:57,095 --> 00:24:01,010 zerbaitek x Bestela Barkatu, hori bat eta b izan behar du. 432 00:24:01,010 --> 00:24:04,740 Bertan idatzi izan duzu b komatxo gisa. 433 00:24:04,740 --> 00:24:09,670 Beraz jarri du elementu duzu bada horren beste adibide bat. 434 00:24:09,670 --> 00:24:14,730 x zerrenda batzuetan elementu, jarri baduzu egiten Backticks ere, erabili ahal izango duzu. 435 00:24:14,730 --> 00:24:20,400 Ez da sinbolo bat izan arren plus edo minus edo aldiz bezala, 436 00:24:20,400 --> 00:24:24,630 baten izena erabili ahal izango duzu Backticks horrelako funtzio 437 00:24:24,630 --> 00:24:27,045 artizki operadorea, hau da, nahiko cool gisa. 438 00:24:27,045 --> 00:24:29,670 CONNOR HARRIS: Berriz ere, hau da, azukrea besterik sintaktiko guztiak, benetan. 439 00:24:29,670 --> 00:24:32,310 Ez du eraginik hizkuntza muina. 440 00:24:32,310 --> 00:24:37,440 >> STEPHEN KREWSON: Beraz, hemen ikusten dugu alde gure Frere Jacques abesti Esaldi azken, 441 00:24:37,440 --> 00:24:45,740 Akorde gutxi batzuk jokatu dut edo konposizio paralelo erabiliz heren 442 00:24:45,740 --> 00:24:46,240 operadorea. 443 00:24:46,240 --> 00:24:50,680 444 00:24:50,680 --> 00:24:54,950 Hau batzuk esaten beste modu bat da zer egin dugu besterik ez dira esaten. 445 00:24:54,950 --> 00:24:59,986 Beraz, funtzio mapa ditzakezu Argumentu bat zerrendetan gorako. 446 00:24:59,986 --> 00:25:02,860 CONNOR HARRIS: Berriz ere, erreferentziak Haskell-- sarrera testu-liburuak for 447 00:25:02,860 --> 00:25:04,680 egingo du hori guztia dute bertan. 448 00:25:04,680 --> 00:25:07,790 >> STEPHEN KREWSON: Hemen daukazue polit bat gakoa urrats sekuentziadoretik lerroa 449 00:25:07,790 --> 00:25:12,820 erabiliz, begirada bat hartuko dugu Zerrenda ulermen bat. 450 00:25:12,820 --> 00:25:17,810 Eta hemen ikusten dugu elementu hori Atzera komatxo artean operadorea finkoa ere. 451 00:25:17,810 --> 00:25:23,030 Beraz, x zerrendan elementu bat baldin bada x-ren, gero guk eman deituko minutu funtzioak. 452 00:25:23,030 --> 00:25:25,100 Beraz, minutu besterik perkusioa funtzio bat da. 453 00:25:25,100 --> 00:25:30,200 Zenbait balio p hori hartzen du itxitako guztien multzoa zati 454 00:25:30,200 --> 00:25:35,310 perkusio soinu ezberdinak ikusi dugun Aurreko diapositiba batean, 455 00:25:35,310 --> 00:25:38,840 eta, ondoren, ematen dion laurdeneko iraupena. 456 00:25:38,840 --> 00:25:43,190 Bestela, QNR bat ematen dio, eta QNR besterik laurdeneko atsedena bat da. 457 00:25:43,190 --> 00:25:44,970 >> Beraz, hau zerbait polita eraikiz da. 458 00:25:44,970 --> 00:25:52,110 Elementuen zerrenda bat daukagu, eta batetik zerrenda batzuk baino gehiago dugu begizta 459 00:25:52,110 --> 00:25:54,540 Gehienez gure urratsa sequencer balioa emateko. 460 00:25:54,540 --> 00:25:58,290 Eta Oraindik ere i jakin batean dugu Gehienez balioa bat zerrenda horretan, 461 00:25:58,290 --> 00:26:02,970 i hori honetako kide bada multzo funtzio honetan sortu, 462 00:26:02,970 --> 00:26:06,040 bai eta, ondoren, aktibatu dugu perkusioa ohar batean. 463 00:26:06,040 --> 00:26:10,960 Bestela, atsedena, jolastu besterik ez dugu bertan Bestela esan, besterik geratzen gara isilik geratu. 464 00:26:10,960 --> 00:26:16,050 Eta hemen ikusi ahal izango dugu, eta horrek Zerrenda ulermena sintaxia hau, 465 00:26:16,050 --> 00:26:20,030 x da hau biztanle Zerrenda bat eraiki 466 00:26:20,030 --> 00:26:22,462 sequencer tamaina globala da. 467 00:26:22,462 --> 00:26:23,295 CONNOR HARRIS: Bai. 468 00:26:23,295 --> 00:26:26,340 Egiteko oinarrizko sintaxia Zerrenda ulermenak da 469 00:26:26,340 --> 00:26:30,810 tarte, balio inplikatuz zenbait aldagai, bar, 470 00:26:30,810 --> 00:26:34,260 aldagaien balio posible beraiek, parentesi itxita. 471 00:26:34,260 --> 00:26:38,545 Eta egin duzun bada Multzo sintetikoki Edozein matematika klasean sailkatu, 472 00:26:38,545 --> 00:26:45,999 hala nola 2n baliteke ezarri dute n edo dena n z da. 473 00:26:45,999 --> 00:26:48,290 Antzeko izendapen hori gauza Ekarri da iradokitzailea izan nahi du 474 00:26:48,290 --> 00:26:49,630 matematikatan hori. 475 00:26:49,630 --> 00:26:51,880 STEPHEN KREWSON: Eta dezakezu Anitz predikatuen aplikatu 476 00:26:51,880 --> 00:26:56,250 eta zerrenda batean iragazkiak anitz ulermena, hau da, nahiko polita. 477 00:26:56,250 --> 00:27:01,800 Algebraica types-- dugu Ezin izango linger luze hemen. 478 00:27:01,800 --> 00:27:04,840 Ez zeukan ere nozioa ona Haskell edo ona, begi-bistakoa den kontzeptua izaten 479 00:27:04,840 --> 00:27:10,720 nola hartu, esan, default baten funtzio bat edo zerbait parametroa. 480 00:27:10,720 --> 00:27:13,370 Python ere, hau da, nahiko erraza. 481 00:27:13,370 --> 00:27:18,460 Zuk besterik esan dezaket berdin on funtzioaren adierazpena, 482 00:27:18,460 --> 00:27:21,420 ere balio lehenetsia Kasu bakar bat ere ez da hornitu. 483 00:27:21,420 --> 00:27:27,010 >> Haskell, agian, ezin duzu erabili agian, agian, idatzi, 484 00:27:27,010 --> 00:27:32,190 Hori dela eta, ez da ezer hartzen edo motakoa balio bat besterik ez da. 485 00:27:32,190 --> 00:27:38,630 Beraz, hau ustiatu dugu danborra makina aukerakoa bolumena eman ahal izateko 486 00:27:38,630 --> 00:27:40,730 danborra zati bakoitza parametro. 487 00:27:40,730 --> 00:27:46,160 488 00:27:46,160 --> 00:27:54,680 Eta, beraz, EQ izateko modu bat ematen digu edo kanal jakin baten bolumen batean. 489 00:27:54,680 --> 00:27:56,440 >> CONNOR HARRIS: In Haskell beste adibide, 490 00:27:56,440 --> 00:28:00,450 ikus daitezke, agian erabilitako huts egin dezake funtzioak. 491 00:28:00,450 --> 00:28:03,470 Hau komun bat da. 492 00:28:03,470 --> 00:28:07,010 >> STEPHEN KREWSON: Eta hornitu ahal izango duzu error mezua nolabaiteko lehenetsi gisa. 493 00:28:07,010 --> 00:28:11,020 Eta hori bereziki erabilgarri denean I / O Haskell egiten ari zarenean. 494 00:28:11,020 --> 00:28:12,044 Hori trikimailuak izan daiteke. 495 00:28:12,044 --> 00:28:13,960 CONNOR HARRIS: Edo batentzat Antzeko adibide, uste 496 00:28:13,960 --> 00:28:17,460 Hori zatiketa dakar funtzio baten 0 izan daiteke parametro baten. 497 00:28:17,460 --> 00:28:20,020 Eta funtzio hori Could itzultzeko agian edozein dela ere. 498 00:28:20,020 --> 00:28:22,802 Beraz, ez dago zatiketa ez da 0 bada, edozein dela besterik itzuliko da. 499 00:28:22,802 --> 00:28:25,010 Eta bada ez dituen zatiketa da 0, ezer itzuliko da 500 00:28:25,010 --> 00:28:26,910 error seinalatzeko modu gisa. 501 00:28:26,910 --> 00:28:30,330 Ondorio bat delako Haskell en mekanografia oso zorrotza 502 00:28:30,330 --> 00:28:34,100 da, ez dagoela real-- ez salbuespenak baldar dira, funtsean, 503 00:28:34,100 --> 00:28:36,160 error manipulazioa baldar. 504 00:28:36,160 --> 00:28:39,440 Eta hau da, oso egiteko modu komun. 505 00:28:39,440 --> 00:28:42,990 >> STEPHEN KREWSON: Beraz, orain lortu dugu beste kontuan-flexiones gauza 506 00:28:42,990 --> 00:28:49,160 Haskell, inguru horietatik eredua da datozen eta funtzioen definizioak. 507 00:28:49,160 --> 00:28:53,390 Erakutsi dut azken diapositiba du Urrats sekuentzia deklarazioa 508 00:28:53,390 --> 00:28:58,170 funtzioa, agian, balio bat hartu, gero int, orduan ints zerrenda bat, 509 00:28:58,170 --> 00:29:03,850 ondoren, sekuentzia bat itzultzen musika baloreak ez komentatua 510 00:29:03,850 --> 00:29:05,375 bai zelaian eta bolumen batera. 511 00:29:05,375 --> 00:29:08,030 512 00:29:08,030 --> 00:29:11,820 >> Beraz, hiru argudio horiek izan daiteke eredua honela parekatzen. 513 00:29:11,820 --> 00:29:16,660 Eta beti ziur izan nahi dugu Oinarri kasuan edo irteera kasu egin lehen. 514 00:29:16,660 --> 00:29:19,690 Eta azpimarra horiek besterik da interpretatu daiteke 515 00:29:19,690 --> 00:29:22,340 hori ez dago inolako balio du esan nahi. 516 00:29:22,340 --> 00:29:26,580 Beraz sekuentzia urratsera dei bat jasoko badugu balio batzuk, beste balio batzuk, 517 00:29:26,580 --> 00:29:32,210 eta, ondoren, zerrenda hutsik, zer nahi dugun itzultzeko isiltasuna besterik, atsedena hartzeko 0 da. 518 00:29:32,210 --> 00:29:35,110 >> Eta horren ordez Zerrenda edo 0 huts bat izanik, 519 00:29:35,110 --> 00:29:38,150 Gainerako a 0 da, garelako musika motari aurre, 520 00:29:38,150 --> 00:29:43,230 eta musikaren zerrenda hutsik egin mota besterik ez iraupena ez gainerako bat da. 521 00:29:43,230 --> 00:29:45,680 Musika ez da. 522 00:29:45,680 --> 00:29:51,460 Eta gero, ikusi dugu beste urrats bat lortuko badugu sekuentzia v batekin bolumena argumentua, 523 00:29:51,460 --> 00:29:57,290 zuhurtzia instrumentu for p Argumentu, eta, ondoren, x-ren zerrenda bat. 524 00:29:57,290 --> 00:29:58,360 >> Gero gauza batzuk egin ditugu. 525 00:29:58,360 --> 00:30:01,290 Hain zuzen ere, aplikatu dugu Zerrenda ulermena honetan, 526 00:30:01,290 --> 00:30:05,700 eta batzuk egin ditugu agian balio eragiketak 527 00:30:05,700 --> 00:30:10,050 Piztu nahi zenbakizko balio bat da, beraz, sartu orduan izendatuak litezke eta erabili 528 00:30:10,050 --> 00:30:12,300 instrumentua aukeratzeko. 529 00:30:12,300 --> 00:30:16,730 Berriz ere, hau da, pixka bat Pixka nahita inconcise 530 00:30:16,730 --> 00:30:20,580 Besterik bitxi gauza guztiak erakutsi Haskell egin dezakezu ahala 531 00:30:20,580 --> 00:30:23,170 Begirada bat, zure denbora hartu. 532 00:30:23,170 --> 00:30:23,802 >> Ados. 533 00:30:23,802 --> 00:30:26,010 Beraz, azkenik iritsi zer ezarri dugu egin, 534 00:30:26,010 --> 00:30:28,820 hau da, ordenagailua musika batzuk egiteko. 535 00:30:28,820 --> 00:30:32,250 Beraz, nahi gogorik Frere Jacques abestia egiteko. 536 00:30:32,250 --> 00:30:35,220 Beraz, ez dira zenbat Frere Jacques esaldi? 537 00:30:35,220 --> 00:30:38,790 538 00:30:38,790 --> 00:30:39,680 Lau. 539 00:30:39,680 --> 00:30:40,460 Great. 540 00:30:40,460 --> 00:30:42,490 Eta zer polita da hori guztiak ari dira errepikatzen 541 00:30:42,490 --> 00:30:46,990 Nondik kopuru bera, eta horrek bi da. 542 00:30:46,990 --> 00:30:50,730 >> Beraz, lau esaldi daukagu bakoitza bi aldiz errepikatu. 543 00:30:50,730 --> 00:30:53,590 Eta, batez ere, ari borobil bat dute. 544 00:30:53,590 --> 00:30:55,340 Eta asko daude, Modu askotan ezartzea 545 00:30:55,340 --> 00:30:57,520 Hori dibertigarria egin izan zitekeen txanda. 546 00:30:57,520 --> 00:31:00,260 Hori egin nuen bat ere Nahiko modu erraz hemen, 547 00:31:00,260 --> 00:31:05,760 bertan besterik lerroan construct-- da Funtzio music balio-zerrenda bat hartzen du 548 00:31:05,760 --> 00:31:10,390 eta bihurtzen da konposizio sequential sartu konposizio sekuentzial hori aplikatuz 549 00:31:10,390 --> 00:31:13,000 operadorea. 550 00:31:13,000 --> 00:31:19,540 >> Eta gero, zati desberdinak atzeratzen dut eginez hasiko atseden batekin horiek. 551 00:31:19,540 --> 00:31:22,770 Beraz, hasteko bi neurriak gainerako bat dut, eta, ondoren, lau neurriak gainerako batean, 552 00:31:22,770 --> 00:31:26,160 eta ondoren, sei atsedena neurriak, eta, ondoren, txanda 553 00:31:26,160 --> 00:31:32,290 lan egiten du, denok abesti hau ezagutzen den bezala. 554 00:31:32,290 --> 00:31:37,180 Ikusi dugu bi oharpenak edo musika balioak aldaketak 555 00:31:37,180 --> 00:31:43,150 direla sequential honetan jasotako musika elementuen antolamendua. 556 00:31:43,150 --> 00:31:44,810 Gehigarrien bolumen bat daukagu. 557 00:31:44,810 --> 00:31:48,960 Hau oharpenak funtzioa da bolumen jakin batekin musika. 558 00:31:48,960 --> 00:31:51,320 Hau adibide ona da a MIDI seinale exekutatzen 559 00:31:51,320 --> 00:31:57,510 0-tik 127 ra, zazpi bit Hori egin daiteke informazioa. 560 00:31:57,510 --> 00:32:00,650 >> Eta gero, oso ikusi genuen laburki, baina MIDI orokorrari 561 00:32:00,650 --> 00:32:02,310 ezberdinen tresna guztien zerrenda. 562 00:32:02,310 --> 00:32:04,450 Eta ez da horietako asko oso bat. 563 00:32:04,450 --> 00:32:11,230 A audio travail digitala erabiltzen baduzu, Ableton Live edo Pro Tools bezala, 564 00:32:11,230 --> 00:32:17,560 Han sorta izugarri zabalago bat sintetizatzaileak eta VST tresnen. 565 00:32:17,560 --> 00:32:21,510 Baina MIDI estandarra bakarrik dozena gutxi, edo zenbait dauka. 566 00:32:21,510 --> 00:32:22,799 Eta horietako batzuk dibertigarriak dira. 567 00:32:22,799 --> 00:32:25,840 Dibertigarria izango litzateke pentsatu nuen jokatu badugu instrumentua MIDI instrumentua 568 00:32:25,840 --> 00:32:30,550 helikoptero, eta, ondoren, hurrengo alderantziz zehar, 569 00:32:30,550 --> 00:32:37,980 pad synth bat egin dugu, eta, ondoren, hau xelebre berunezko uhin karratu synth, 570 00:32:37,980 --> 00:32:44,240 eta gero, ahots lokatz dira, bat Pixka nire MIDI txarra Hots 571 00:32:44,240 --> 00:32:46,410 sintetizadorea, baina dute Ados. 572 00:32:46,410 --> 00:32:50,030 >> Eta gero utzi hau ikusi dugu eta Haskell from sintaxia, 573 00:32:50,030 --> 00:32:54,030 eta, ondoren, jokatzen ari gara zati horiek guztiak elkarrekin 574 00:32:54,030 --> 00:32:56,265 paralelo konposizio operadorea batera. 575 00:32:56,265 --> 00:33:00,260 576 00:33:00,260 --> 00:33:02,296 Eta ezin izan dugu seguruenik honen batzuk erakusteko. 577 00:33:02,296 --> 00:33:07,674 578 00:33:07,674 --> 00:33:08,340 Hemen kodea da. 579 00:33:08,340 --> 00:33:14,960 Eta C ikus dezakezu, ez nuke izango eztarria konpentsazio eta ezarpena asko 580 00:33:14,960 --> 00:33:19,760 mahai duzu aurretik Kodea musika egin izan dute hau. 581 00:33:19,760 --> 00:33:22,080 Edo beste edozein programazio hizkuntza, ziurrenik zenuke 582 00:33:22,080 --> 00:33:27,210 nolabaiteko elkarreragin liburutegi edo API eta guztia sortu, 583 00:33:27,210 --> 00:33:28,725 eta, ondoren, garbitu egin behar duzuna. 584 00:33:28,725 --> 00:33:33,810 Baina hemen ere Haskell da, nire ustez, beste behin delta lortuko duzu hura, oso 585 00:33:33,810 --> 00:33:35,770 irakurgarriak eta oso adierazkorra. 586 00:33:35,770 --> 00:33:38,930 587 00:33:38,930 --> 00:33:43,240 Beraz, ez inplementazioa da Frere Jacques. 588 00:33:43,240 --> 00:33:43,740 Ados. 589 00:33:43,740 --> 00:33:47,557 Orain perkusioa gehitu nahi dugu, eta hau pixka Messier apur bat da. 590 00:33:47,557 --> 00:33:49,015 Beraz, dezagun diapositibak begirada bat. 591 00:33:49,015 --> 00:33:56,880 592 00:33:56,880 --> 00:34:00,540 Beraz, ideia handia da egin zerrendak edo zati mordo bat. 593 00:34:00,540 --> 00:34:04,140 Roll-en makina horiek, han ziren normalean, agian zortziak 594 00:34:04,140 --> 00:34:08,670 10 rhythm edo perkusioa zatiak. 595 00:34:08,670 --> 00:34:10,159 Eta ondoren, teknika sorta bat erabili. 596 00:34:10,159 --> 00:34:14,889 Eta, horiek erabiliz, hitz egin dugu tolesturak, iragazkiak, lambda funtzio, 597 00:34:14,889 --> 00:34:19,429 zerrendak balioak sortzea baino gehiago kartografiatu barruti batzuetan 1 r, r 16a da, 598 00:34:19,429 --> 00:34:20,699 edo 32 sequencer urratsak. 599 00:34:20,699 --> 00:34:23,810 600 00:34:23,810 --> 00:34:29,920 >> Eta gero ez dago zerrenda horretan balio bat esan nahi duzu sequencer bidez dugu exekutatzen ari den bezala, 601 00:34:29,920 --> 00:34:34,190 Bidez behera lasterka eta baino gehiago, bihurtzen da ohar horretan, 602 00:34:34,190 --> 00:34:36,060 eta lagin hori antzeman du lortzen. 603 00:34:36,060 --> 00:34:42,810 604 00:34:42,810 --> 00:34:47,110 Hemen dira modu ezberdinak bitxi guztiak Hasi nintzen oharrak sortzeko. 605 00:34:47,110 --> 00:34:48,940 Proba ezazu zeure erdi batura orrian. 606 00:34:48,940 --> 00:34:50,360 Cool soinua izango da. 607 00:34:50,360 --> 00:34:53,066 608 00:34:53,066 --> 00:34:54,690 Time, ahalbidetzea honen bidez egingo dugu. 609 00:34:54,690 --> 00:34:59,200 Baina oraintxe, asmatzen dut demo behar dugu zer dugu. 610 00:34:59,200 --> 00:35:01,380 Dezagun espero hau OK doa. 611 00:35:01,380 --> 00:35:02,670 >> Beraz, hau GHCI da. 612 00:35:02,670 --> 00:35:06,580 613 00:35:06,580 --> 00:35:09,121 Eta fitxategi bat kargatu beharko dugu Song.lhs izeneko daukat, 614 00:35:09,121 --> 00:35:10,620 bertan fitxategia erakutsi besterik ez dizut da. 615 00:35:10,620 --> 00:35:11,470 Ados, handia. 616 00:35:11,470 --> 00:35:15,010 Connor esan lehenago bezala, konpilatu, mota hautatuta da, 617 00:35:15,010 --> 00:35:18,380 beraz, asko arnasa hartu ahal izango dut errazagoa. 618 00:35:18,380 --> 00:35:20,010 Ez da putz egin nuen joan. 619 00:35:20,010 --> 00:35:22,720 >> Nahi nuen duzu zerbait erabilgarria erakusteko. 620 00:35:22,720 --> 00:35:25,900 Duten ikusi ahal izango duzu modulua kargatuta 50 izeneko. 621 00:35:25,900 --> 00:35:28,240 Modulu hori araka ditzakezu. 622 00:35:28,240 --> 00:35:32,092 Eta hori da, hain polita doing-- buruz, agian, zer 623 00:35:32,092 --> 00:35:34,550 egiten ari zarenean ere Haskell ez da software garapen esaten, 624 00:35:34,550 --> 00:35:36,980 baina asko egin dezakezu Zure kabuz gauza dibertigarria. 625 00:35:36,980 --> 00:35:42,410 Eta workflow da benetan polita aldean beste hizkuntza asko, 626 00:35:42,410 --> 00:35:45,872 benetan bat ikus dezakezu delako irakurgarri modu zer gertatzen den. 627 00:35:45,872 --> 00:35:47,830 Beraz dugula ikusten dugu horiek guztiak, esaldi horrek, 628 00:35:47,830 --> 00:35:53,760 musika zelaiak zerrendak dira, eta, ondoren, dugu eraikitzeko horiek eman zerbait handiago, 629 00:35:53,760 --> 00:35:55,220 bertan musika abestia da. 630 00:35:55,220 --> 00:35:58,450 Musika-unitate bat da. 631 00:35:58,450 --> 00:36:05,545 Eta gero, hori guztia jolastu ahal izango dugu izeneko funtzio antzezlanaren musika batekin. 632 00:36:05,545 --> 00:36:09,040 Hemen ikusi ahal izango duzu, behera. 633 00:36:09,040 --> 00:36:11,310 Zein da, besterik gabe, jolasteko. 634 00:36:11,310 --> 00:36:15,040 >> Ez nuen buruz hitz esatea behar dut dolarraren ikur hori, hori da nonahi. 635 00:36:15,040 --> 00:36:17,980 Dolarraren ikurra artizki operadorea bat da. 636 00:36:17,980 --> 00:36:22,500 Baina, lehenak txikiena duena da Edozein operadorea, horrek eraginkortasunez 637 00:36:22,500 --> 00:36:24,960 Guztia on dagoela esan nahi du dolarraren ikurra ezkerraldean 638 00:36:24,960 --> 00:36:28,460 eta dolarraren ikurra eskuinean, baino lehen urratsak ebaluatu goaz. 639 00:36:28,460 --> 00:36:31,430 Beraz Ordena da beste bat bezalakoa da parentesi gehituz modu. 640 00:36:31,430 --> 00:36:33,980 641 00:36:33,980 --> 00:36:36,220 >> CONNOR HARRIS: Funtsean Funtzio konposaketa. 642 00:36:36,220 --> 00:36:40,026 Eta ez duzula bada have-- bermatzen da funtzio bai alde edo artizki duzu 643 00:36:40,026 --> 00:36:42,900 albo banatan operadoreak, ez dute Topo lotzeko eta emango dizu 644 00:36:42,900 --> 00:36:46,030 ustekabeko emaitzak. 645 00:36:46,030 --> 00:36:49,790 >> STEPHEN KREWSON: Beraz can-- dugu hori erabilita, esan genezake. 646 00:36:49,790 --> 00:36:51,415 Lehenik eta behin, jolastu dugu danborrak gabe. 647 00:36:51,415 --> 00:37:00,330 648 00:37:00,330 --> 00:37:03,170 Hori helikopteroa da, MIDI helikopteroa. 649 00:37:03,170 --> 00:37:05,495 >> [Musika jotzen] 650 00:37:05,495 --> 00:37:08,525 651 00:37:08,525 --> 00:37:09,525 Ez dago uhin karratua da. 652 00:37:09,525 --> 00:37:24,520 653 00:37:24,520 --> 00:37:25,490 Ahots lokatz du. 654 00:37:25,490 --> 00:37:27,630 Eta zuk benetan joan ahal honekin basatia. 655 00:37:27,630 --> 00:37:30,872 Nahiko simple bat jaso dut, banekien ez dudalako pizten off 656 00:37:30,872 --> 00:37:31,830 gehiago Chew ezin izan nuen baino. 657 00:37:31,830 --> 00:37:36,460 Horretarako, mantendu nahiko erraz ideia nagusiak erakusteko. 658 00:37:36,460 --> 00:37:39,952 Baina orduan nintzen bezala, dugu lortu danbor batzuk gehitu honetarako. 659 00:37:39,952 --> 00:37:41,910 Just delako hau da a Pixka impenetrable, 660 00:37:41,910 --> 00:37:45,790 eta ez nuen erabili danborra zatien izenak, 661 00:37:45,790 --> 00:37:49,490 Horietako mapatzen I dutela ari delako Klase ataza horren zati, 662 00:37:49,490 --> 00:37:51,500 Kartografiatu I ints. 663 00:37:51,500 --> 00:37:53,120 One kontrabaxua danborra bat bezalakoa da. 664 00:37:53,120 --> 00:37:54,370 Zero baita. 665 00:37:54,370 --> 00:37:56,000 Zazpi kapelu luzea da. 666 00:37:56,000 --> 00:38:00,920 Eta behera hemen non funtzio zaitez pixka bat gehiago ausazko, 667 00:38:00,920 --> 00:38:02,100 horiek conga danborrak bezalakoak dira. 668 00:38:02,100 --> 00:38:08,360 >> Beraz naizenean uste duzu agian, bada danborra makina bat martxan jarri ahal izateko modu dibertigarrian 669 00:38:08,360 --> 00:38:12,830 da oso txukun erabiltzeko Zure kontrabaxua danborra ereduak. 670 00:38:12,830 --> 00:38:17,640 Horrela, esate baterako, gainetik iragazketa gaitu dena batera zerrenda itzuli dela ematen 671 00:38:17,640 --> 00:38:20,590 1 bat denean hartu modulua 04. 672 00:38:20,590 --> 00:38:27,190 Beraz, lortu dut 1, 5, 9, 13, 17-- hain honetan neurri bakoitzeko lehen erritmora da. 673 00:38:27,190 --> 00:38:32,860 >> Eta gero, hau da, bera Bi urrats baino gauza aldatu. 674 00:38:32,860 --> 00:38:33,850 Beraz, hori offbeat da. 675 00:38:33,850 --> 00:38:37,480 Beraz, hau izango litzateke kapelu baten antzeko zerbait. 676 00:38:37,480 --> 00:38:39,640 Eta gero, berriz, behera hemen, apur bat ausazko da, 677 00:38:39,640 --> 00:38:41,080 conga danborrak egiten ari garelako. 678 00:38:41,080 --> 00:38:44,180 Eta marakak batzuk behera izan dut hemen ere. 679 00:38:44,180 --> 00:38:50,280 >> Beraz, play danborra makina deitu izan dut, baina betiko joan litzateke, 680 00:38:50,280 --> 00:38:53,700 eta baliteke grabbing hasiko da Nire sistema memoria guztia. 681 00:38:53,700 --> 00:38:57,090 Beraz, funtzio hau deitu dut musika, bertan ikusiko dugun bezala jokatu, 682 00:38:57,090 --> 00:39:02,020 the truncating konposizio paralelo erabili gure little Frere Jacques song play 683 00:39:02,020 --> 00:39:04,200 bitxi danborra makina honekin batera. 684 00:39:04,200 --> 00:39:06,190 Beraz, dezagun begirada bat. 685 00:39:06,190 --> 00:39:10,920 Eta mesedez ez hobetu nire danborra zati guztien moldaketa. 686 00:39:10,920 --> 00:39:13,375 Ez da nire espezialitatea, baina ez dut fun asko egiten baitu. 687 00:39:13,375 --> 00:39:17,678 688 00:39:17,678 --> 00:39:20,654 >> [Musika jotzen] 689 00:39:20,654 --> 00:39:52,260 690 00:39:52,260 --> 00:39:56,980 >> Beraz, jakina, hau guztia Pixka bat ez fun gisa 691 00:39:56,980 --> 00:40:01,100 ez badugu bihurtzeko hogei bat, beraz, agian, 692 00:40:01,100 --> 00:40:04,650 interpretatu ahal izango dira Giza interprete moduan. 693 00:40:04,650 --> 00:40:06,535 Beraz, ezin izango dut da hemendik. 694 00:40:06,535 --> 00:40:07,910 Nik dagoeneko sortutako fitxategiak. 695 00:40:07,910 --> 00:40:10,280 Ikusi ahal izango duzu, ez dagoela bat dot LilyPond fitxategi eta honek 696 00:40:10,280 --> 00:40:14,500 Nire segue baino gehiago izango da Connor-- eta dot MIDI fitxategi bat, 697 00:40:14,500 --> 00:40:18,610 eta dot PDF fitxategi bat, hau da, zer LilyPond azken finean sortuko du. 698 00:40:18,610 --> 00:40:23,770 >> Baina horiek gidoiak horiek dira, eta ez dut besterik exekutatu horiek beren laguntza aukerekin. 699 00:40:23,770 --> 00:40:28,090 Horiek eskuratu nahi izanez gero, bada, eta lasterka Euterpea, MIDI fitxategi bat sor dezakezu. 700 00:40:28,090 --> 00:40:31,160 Eta gero, MIDI fitxategi batetik MIDI 2LY programa honekin, 701 00:40:31,160 --> 00:40:34,930 Lily bat sortzeko dezakezu Pond fitxategia, eta, ondoren, 702 00:40:34,930 --> 00:40:37,974 puntuazioa, PDF bat sor ditzake. 703 00:40:37,974 --> 00:40:39,390 Eta honetan begirada bat hartu behar dugu. 704 00:40:39,390 --> 00:40:52,599 705 00:40:52,599 --> 00:40:55,140 Beraz Connor ziurrenik erakutsiko ditu nola hau hobe oharrak egiteko, 706 00:40:55,140 --> 00:41:02,570 baina hau da Frere Jacques gisa me sortutako Euterpea ere. 707 00:41:02,570 --> 00:41:07,300 Besterik C. hurrena behar dut zer aldatu da benetan ere atera. 708 00:41:07,300 --> 00:41:11,090 Baina hori egiteko gasbide da Hori dela-ekin nola egiten duzu. 709 00:41:11,090 --> 00:41:12,950 Hitz egin gehiago LilyPond buruz hitz egiteko. 710 00:41:12,950 --> 00:41:15,780 >> CONNOR HARRIS: OK Ikus dezagun. 711 00:41:15,780 --> 00:41:19,480 712 00:41:19,480 --> 00:41:21,419 Ba ikasi duzu Haskell aipatu duzu? 713 00:41:21,419 --> 00:41:22,460 STEPHEN KREWSON: Oh yeah. 714 00:41:22,460 --> 00:41:23,480 Begiratu ikasi duzu Haskell. 715 00:41:23,480 --> 00:41:24,410 Da baliabide luzatzen da. 716 00:41:24,410 --> 00:41:26,830 Hori nola hasi nintzen , ikasteko eta handia da. 717 00:41:26,830 --> 00:41:27,580 Ez mutu ikaskuntza. 718 00:41:27,580 --> 00:41:28,829 >> CONNOR HARRIS: Beraz online da. 719 00:41:28,829 --> 00:41:34,760 Beraz izeneko tipo bat [INAUDIBLE] learnyouahaskell.com, tarterik gabe. 720 00:41:34,760 --> 00:41:37,065 Gramatika gaixorik dago. 721 00:41:37,065 --> 00:41:38,690 STEPHEN KREWSON: It ilustratua da, gehiegi. 722 00:41:38,690 --> 00:41:39,440 CONNOR HARRIS: Beraz, zer da LilyPond? 723 00:41:39,440 --> 00:41:42,480 Deklaratiboa programazio bat da musika tipografia hizkuntza. 724 00:41:42,480 --> 00:41:45,480 Beraz declarative-- ahal duzun HTML bezalako gauzak pentsatzea, 725 00:41:45,480 --> 00:41:50,900 non Oraindik ez saying-- HTML ez du esaten web nabigatzaile nola egin beharko lukete 726 00:41:50,900 --> 00:41:52,180 render-orriak pausoz pauso. 727 00:41:52,180 --> 00:41:54,096 Besterik hau esanez textual description da 728 00:41:54,096 --> 00:41:56,100 zer nahi duzun orrialdera itxurarik. 729 00:41:56,100 --> 00:41:59,310 >> Eta gero, gainera, ez da programa bat hizkuntza honetan biltzen du, 730 00:41:59,310 --> 00:42:02,300 edo haren irakurri du, eta, ondoren, benetan tipografia egiten duzu, 731 00:42:02,300 --> 00:42:05,570 eta spits horiek wonderful begira PDF puntuazioak. 732 00:42:05,570 --> 00:42:08,250 Halaber, PNG formatuan edo dena eskuratu ahal izango duzu. 733 00:42:08,250 --> 00:42:10,300 Pentsatzeko modu ona da horren analogiaz da 734 00:42:10,300 --> 00:42:16,620 LaTeX duten moduko LillyPond bezala, baina besterik tipografia arruntak. 735 00:42:16,620 --> 00:42:20,360 Beraz ordez of-- ez da WYSIWYG, Zer duzu ikusi 736 00:42:20,360 --> 00:42:22,960 Duzuna lortzen, bezala, esan Finale da, edo Sibelius, 737 00:42:22,960 --> 00:42:27,430 edo Microsoft Word, non idatzi dezakezu denbora errealean eta zirriborroa denbora errealean gauzak 738 00:42:27,430 --> 00:42:31,340 eta ikusi aldaketak berehala. 739 00:42:31,340 --> 00:42:32,140 >> Da testu oinarrituta. 740 00:42:32,140 --> 00:42:35,290 Zure konpilatu behar duzu aparteko programa bat erabiliz partiturak 741 00:42:35,290 --> 00:42:37,090 eta PDFak zaitez geroago. 742 00:42:37,090 --> 00:42:43,320 Hau da, apur bat gutxiago erabiltzeko erosoa bazaude 743 00:42:43,320 --> 00:42:46,520 zuzenean idazten saiatzen puntuazio bat sartu eta zu 744 00:42:46,520 --> 00:42:48,620 ordenagailuan konposatzen nahian. 745 00:42:48,620 --> 00:42:50,830 Baina ez dira asko da abantaila. 746 00:42:50,830 --> 00:42:56,110 One, asko nicer itxura du, LillyPond benetan delako 747 00:42:56,110 --> 00:42:58,210 denbora hartu egin Diseinuaren erabakiak behar bezala, 748 00:42:58,210 --> 00:43:02,380 Sibelius edo Finale, bertan izan ez bezala arriskutsua algoritmoak egiteko orain 749 00:43:02,380 --> 00:43:05,020 Hori erakusteko ahal izango dute denbora errealean gauzak. 750 00:43:05,020 --> 00:43:07,660 >> Beraz, zergatik da LilyPond-- infografia zaila da. 751 00:43:07,660 --> 00:43:10,535 Musika ezer egiten ari bada eta partiturak egindako idatzi nahi duzula, 752 00:43:10,535 --> 00:43:13,900 Ez duzu idatzi nahi zuk zeuk dena 753 00:43:13,900 --> 00:43:19,040 nola marraztu duten hasita Langileak eta nola oharren marrazteko. 754 00:43:19,040 --> 00:43:21,020 Oso zaila da. Honez egin aurretik. 755 00:43:21,020 --> 00:43:22,170 Fina zara. 756 00:43:22,170 --> 00:43:26,200 >> Finale edo Sibelius erabili nahi baduzu, fitxategia gauza horiek formatuak 757 00:43:26,200 --> 00:43:30,180 oso konplikatuak dira, eta ezin duzu benetan erabil itzazu programazioaren. 758 00:43:30,180 --> 00:43:35,020 Ireki dezakezu Sibelius Finale batera eta joan Fitxategia, Export PDF gisa zeure burua, 759 00:43:35,020 --> 00:43:37,600 baina ezin duzu benetan deitzen duten gidoi bat. 760 00:43:37,600 --> 00:43:40,440 LillyPond baduzu, deitu gidoiak horiek. 761 00:43:40,440 --> 00:43:44,397 Erraz ahal izango duzu batetik bestera joateko LaTeX LillyPond. 762 00:43:44,397 --> 00:43:47,230 Ezin izango dut denbora askorik duzula joan oraintxe teknologia horiek sartu, 763 00:43:47,230 --> 00:43:48,321 baina existitzen dira. 764 00:43:48,321 --> 00:43:50,070 Begiratu nahi baduzu LillyPond liburu batean, 765 00:43:50,070 --> 00:43:53,760 Hori dator programa bat da Zure LillyPond banaketa, 766 00:43:53,760 --> 00:43:57,030 eta hori errepikatzean da LillyPond LaTeX sartu zatiak 767 00:43:57,030 --> 00:44:00,340 Zerbait egin nahi baduzu musikologia dokumentu handi bat bezala 768 00:44:00,340 --> 00:44:02,289 adibide, esate baterako. 769 00:44:02,289 --> 00:44:04,580 Eta maila ona eman da Bizitza duzu ezer egiten ari bada 770 00:44:04,580 --> 00:44:05,770 musika, eta ez bakarrik CS50 batera. 771 00:44:05,770 --> 00:44:09,320 Erabili dut LillyPond guztientzat Nire konposizio proiektuak 772 00:44:09,320 --> 00:44:11,880 funtsean nintzenetik bat batxilergoko senior. 773 00:44:11,880 --> 00:44:13,455 >> Hortaz, hona hemen adibide xume batzuk. 774 00:44:13,455 --> 00:44:17,490 775 00:44:17,490 --> 00:44:21,060 Hau da, funtsean ordezkari Zailtasun-mailaren 776 00:44:21,060 --> 00:44:23,481 jende gehienak litzateke aurre egiten saiatzen ari zirela 777 00:44:23,481 --> 00:44:24,980 LilyPond erabiltzeko proiektu sinpleak egiteko. 778 00:44:24,980 --> 00:44:29,519 Lehenengoa hau hasiera besterik ez da Chorale atarikoa Bach-ek. 779 00:44:29,519 --> 00:44:31,810 Bat behean Hau zatia da nire lanak batetik, 780 00:44:31,810 --> 00:44:34,650 eta besterik ez da agertuko [INAUDIBLE] nahi duzu gauzak 781 00:44:34,650 --> 00:44:38,550 lerro bat baino gehiago jarriz berean langileak, nola liriko undersetting lan egiten du. 782 00:44:38,550 --> 00:44:41,350 783 00:44:41,350 --> 00:44:46,110 Lyric underlays hori oso gauza bat dira erraza LilyPond erabili musika korala da. 784 00:44:46,110 --> 00:44:48,814 >> Eta, beraz, orduan, batzuk gehiago Adibide konplexuagoa izan. 785 00:44:48,814 --> 00:44:50,980 Horiek guztiak egiten dira LilyPond eta dute bideragarria ari. 786 00:44:50,980 --> 00:44:55,280 Lehenengo zatia honetatik da [INAUDIBLE] [INAUDIBLE] arabera. 787 00:44:55,280 --> 00:44:58,860 Eta hau [INAUDIBLE] etik bakarkako baxu lan bat sortu 788 00:44:58,860 --> 00:45:03,550 [INAUDIBLE] ek flauta, Nork longtime-- da nor 789 00:45:03,550 --> 00:45:07,101 longtime kide bat izan zen musika departamentu hemen, uste dut. 790 00:45:07,101 --> 00:45:08,600 Ez dakit non, baina joan den off. 791 00:45:08,600 --> 00:45:12,410 Baina Harvard aholkulari izan zen Konpositoreak Association denbora luzez. 792 00:45:12,410 --> 00:45:13,530 Wonderful gizon. 793 00:45:13,530 --> 00:45:16,920 Eta duela oso musika batzuk idazten zuen notazioa konplikatua dela LillyPond 794 00:45:16,920 --> 00:45:20,500 hala ere kudea ditzakeen oso nicely. 795 00:45:20,500 --> 00:45:26,030 >> Beraz, besterik ez duzu zentzu bat emateko zer Gauza hau gaitasunak are-- orain 796 00:45:26,030 --> 00:45:28,960 LillyPond barnekoak Oso zaila. 797 00:45:28,960 --> 00:45:31,060 Eta erabili ahal izango duzu Denbora luze bat, besteak beste, 798 00:45:31,060 --> 00:45:32,520 batzuk nahiko konplikatuak egiteko benetan gauza, gabe 799 00:45:32,520 --> 00:45:34,060 Horietako asko ezagutzen beharrik. 800 00:45:34,060 --> 00:45:38,720 Baina oinarrizko ideia on txikiena mailan, LillyPonds atomo 801 00:45:38,720 --> 00:45:39,970 notak dira. 802 00:45:39,970 --> 00:45:42,761 Notak dauka ahotsak izeneko testuinguruan. 803 00:45:42,761 --> 00:45:44,510 Beraz, ahots testuinguruan funtsean dagokio 804 00:45:44,510 --> 00:45:47,410 polifonia lerro bakar batean. 805 00:45:47,410 --> 00:45:49,410 Eta gero, testuinguru izan daiteke hierarkikoki jasotako 806 00:45:49,410 --> 00:45:53,590 Maila altuago direnak direla puntuazioaren Langileak ordezkatzen 807 00:45:53,590 --> 00:45:56,750 edo atsegin Batasun handiago piano Langileak edo abesbatzak Langileak, 808 00:45:56,750 --> 00:45:58,990 eta gero, azkenean, puntuazio testuinguruetan osoan. 809 00:45:58,990 --> 00:46:02,260 Eta egiazki hartzen ahal duzu Liburu batean anitz partiturak. 810 00:46:02,260 --> 00:46:05,770 >> Eta testuinguru guztietan du bat atxikitako grabatzaile kopurua. 811 00:46:05,770 --> 00:46:08,340 Begiratuz gero bitartez Testuinguru baten edukia 812 00:46:08,340 --> 00:46:14,410 eta zenbait ikur edo inprimatu ikurrak beharrezkotzat jo klase jakin. 813 00:46:14,410 --> 00:46:17,840 Beraz, ahots testuinguru guztietan, han [INAUDIBLE] notak 814 00:46:17,840 --> 00:46:24,270 grabatzaile hori da, funtsean, funtzio bat edo Hori idazten egindako ohar guztien objektu bat 815 00:46:24,270 --> 00:46:26,290 orri baten zatiak erdiraketa buruak. 816 00:46:26,290 --> 00:46:29,510 Orduan ez cleft grabatzaile bat, eta horrek idazten egindako clefts langileek. 817 00:46:29,510 --> 00:46:31,517 Orduan ez metronomoa da marka grabatzaile dagoela 818 00:46:31,517 --> 00:46:33,100 Metronome markak idazten egindako puntuazio bat ere. 819 00:46:33,100 --> 00:46:36,410 Eta horiek guztiak egokitzeko nahiko bai hierarkia. 820 00:46:36,410 --> 00:46:39,500 Eta da, oso, oso, oso customizable, bertan behar duzun 821 00:46:39,500 --> 00:46:42,880 Horrelako gauza lortu nahi izanez gero. 822 00:46:42,880 --> 00:46:45,730 >> Beraz, zer esparrutan guztiek dute bat ezaugarri ezberdinak asko 823 00:46:45,730 --> 00:46:52,410 dena dela zuk alda ditzakezun hainbat letra-tartea batetik 824 00:46:52,410 --> 00:46:54,942 Gauzen tamainak hautaketa. 825 00:46:54,942 --> 00:46:56,900 Are gehiago egin nahi baduzu Gauzak konplexuagoak, 826 00:46:56,900 --> 00:46:59,210 ez kapsulatutako scripting hizkuntza da. 827 00:46:59,210 --> 00:47:01,820 Eskema, erabiltzen duten Lisp dialektoak da. 828 00:47:01,820 --> 00:47:04,960 Hauek Ziurrenik ez esan nahi ezer. 829 00:47:04,960 --> 00:47:06,900 Baina, batez ere, eskema bat funtzionala beste 830 00:47:06,900 --> 00:47:09,500 programazio hizkuntza, gehiago edo gutxiago. 831 00:47:09,500 --> 00:47:10,800 >> STEPHEN KREWSON: jakinarazi gorbata. 832 00:47:10,800 --> 00:47:12,690 >> CONNOR HARRIS: Bai. 833 00:47:12,690 --> 00:47:15,390 Gorbata-ona da, suposatzen dut. 834 00:47:15,390 --> 00:47:20,150 Eta irakaskuntza hizkuntza gisa erabiltzen da, benetan, Mass Ave behera MIT. 835 00:47:20,150 --> 00:47:26,590 Eta oso LillyPond erabilgarria da hainbat arrazoi teknikoak. 836 00:47:26,590 --> 00:47:30,317 >> Eta hain erraz egin nahi baduzu Tweaks baldintzazkoak menpe, 837 00:47:30,317 --> 00:47:32,900 Esate for han zenbait puntuazio bat baldintza hori ezagutu, 838 00:47:32,900 --> 00:47:36,495 joan alterazio egiteko diseinua edo whatnot-- gero 839 00:47:36,495 --> 00:47:37,620 instalazio horiek. 840 00:47:37,620 --> 00:47:38,667 Konplikatzen ari dira. 841 00:47:38,667 --> 00:47:40,250 Hortaz, hona hemen kodea lagin nahiko sinplea da. 842 00:47:40,250 --> 00:47:43,810 Bost lerro da. 843 00:47:43,810 --> 00:47:46,120 Funtsean, bi Langileak definitzeko naiz. 844 00:47:46,120 --> 00:47:46,904 Da 3/4 da. 845 00:47:46,904 --> 00:47:48,695 Lehenengo langileek ditu bati atxikitako tempo-ikurra 846 00:47:48,695 --> 00:47:51,110 Baina hori benetan joan joan den puntuazio osoari, 847 00:47:51,110 --> 00:47:54,960 tempo markak delako puntuazio maila dira. 848 00:47:54,960 --> 00:47:59,044 Metronome marka grabatzailea eransten zaio testuinguru lortuz. 849 00:47:59,044 --> 00:48:01,460 Badira botoi, [INAUDIBLE] grabatzaile delako 850 00:48:01,460 --> 00:48:02,710 da plantillen erantsita. 851 00:48:02,710 --> 00:48:04,441 Benetan egin ahal izango da. 852 00:48:04,441 --> 00:48:06,190 Lagina idatzi dut benetan C handietan, 853 00:48:06,190 --> 00:48:07,990 baina besterik ez da erakusteko aukera ditzakezu 854 00:48:07,990 --> 00:48:09,570 Langileak desberdinetan gakoak desberdinak. 855 00:48:09,570 --> 00:48:15,710 Eta oinarrizko sintaxia da idatzi duzula E, F, G, edozein dela ere izenak. 856 00:48:15,710 --> 00:48:18,910 Akzidentalak egin nahi izanez gero, atzizkia duzun da edo ES. 857 00:48:18,910 --> 00:48:22,640 Hau Holandako ra dago musikologiko konbentzio. 858 00:48:22,640 --> 00:48:28,290 >> Eta zortzidun jauzi egin, erabili behar duzu horiek marken, koma edo apostrofoa. 859 00:48:28,290 --> 00:48:30,580 Erlatiboaren besterik esan nahi du edozein dela ere ohar bat egin behar duzu, 860 00:48:30,580 --> 00:48:34,080 automatikoki batean plaec zortzidun aurrekoarekin hurbilen. 861 00:48:34,080 --> 00:48:37,624 Eta baino gehiago jauzi egin nahi baduzu bosgarren edo more-- esan fifth-- 862 00:48:37,624 --> 00:48:39,165 ondoren, [INAUDIBLE] erabili ahal izango duzu. 863 00:48:39,165 --> 00:48:42,580 Baina bestela, ez duzu nahi Zehaztu ohar bakoitza zortzidun du. 864 00:48:42,580 --> 00:48:46,130 >> Eta erlatiboa C, prime, eta C, zehaztu besterik ez duzu saguaren erdiko C 865 00:48:46,130 --> 00:48:48,630 eta base C, bereziki lehen notak. 866 00:48:48,630 --> 00:48:55,020 Ondoren Langileak hauek antolatzen dituzten behar duzu bi ahots hauek edo musika laginak, 867 00:48:55,020 --> 00:48:56,730 eta hogei bat behar duzu. 868 00:48:56,730 --> 00:48:58,440 Eta itxura hau. 869 00:48:58,440 --> 00:49:01,780 870 00:49:01,780 --> 00:49:05,380 >> Denbora hartu nahi baduzu LillyPond lagin hori kopiatu 871 00:49:05,380 --> 00:49:07,530 Aurreko on kodea irristatu behera hemen, eta zuk 872 00:49:07,530 --> 00:49:09,030 bertan idatzi ahal LillyPond zeuk. 873 00:49:09,030 --> 00:49:11,280 Ezagutzen dut lortu dugu zerbait Hori asko itxura hau atsegin dute. 874 00:49:11,280 --> 00:49:17,236 875 00:49:17,236 --> 00:49:19,610 Beraz, ez da teknologia bat da Musika XML izeneko mantendu 876 00:49:19,610 --> 00:49:22,030 Jende guztiz desberdinak. 877 00:49:22,030 --> 00:49:28,150 XML testual baten datuak structure-- dut da ez luke esango datuak structure-- esan 878 00:49:28,150 --> 00:49:29,580 Metafora mapa moduko. 879 00:49:29,580 --> 00:49:33,800 Eta eutsi diseinatu da Datu hierarkikoa oso ondo. 880 00:49:33,800 --> 00:49:37,050 HTML, adibidez, XML mota bat da. 881 00:49:37,050 --> 00:49:41,090 Eta XML esan dezakezu dutelako Izan angelu parentesi eta angelu guztiak 882 00:49:41,090 --> 00:49:44,700 parentesi slash markak Datu show eremuak direla. 883 00:49:44,700 --> 00:49:47,390 >> Ez dut kode bat Musika XML adibide. 884 00:49:47,390 --> 00:49:50,450 Aurkitu ahal izango duzu zeure burua. 885 00:49:50,450 --> 00:49:53,735 Funtsean, arrazoia agian nahi duzu XML erabiltzeko bitarteko fasean bezala 886 00:49:53,735 --> 00:49:55,980 da, lehenik eta behin, da, trukaketa formatu bat 887 00:49:55,980 --> 00:50:02,301 funtsean every-- ez da esan behar dut guztietan, baina puntuazio ezberdinak asko 888 00:50:02,301 --> 00:50:02,800 idazleak. 889 00:50:02,800 --> 00:50:04,966 Beraz Musikan idatzi baduzu XML, ez bakarrik LillyPond dezake 890 00:50:04,966 --> 00:50:08,080 irakurri zuen auxilary honen laguntzaz Musika XML izeneko programa LY den, 891 00:50:08,080 --> 00:50:11,360 baina, aldi berean Finale irakur daiteke bertan, Sibelius ekitaldia. 892 00:50:11,360 --> 00:50:14,770 Zure barneko nola objektuaren arabera hierarkia musika ordezkari lan egiten du, 893 00:50:14,770 --> 00:50:18,820 errazagoa izan daiteke idazteko Musika XML LillyPond baino 894 00:50:18,820 --> 00:50:22,410 eta besterik Music XML fidatu LY bihurtzeko egin. 895 00:50:22,410 --> 00:50:24,282 >> Ez dut uste [INAUDIBLE] Music XML ditu. 896 00:50:24,282 --> 00:50:25,490 STEPHEN KREWSON: Ez du. 897 00:50:25,490 --> 00:50:26,340 Norbaitek da lanean, baina. 898 00:50:26,340 --> 00:50:27,090 >> CONNOR HARRIS: OK. 899 00:50:27,090 --> 00:50:31,040 Euterpea ez dute bat Musika XML irteera funtzioa oraindik. 900 00:50:31,040 --> 00:50:35,340 Azken proiektua ideia bat egin nahi izanez gero, agian, mutil harremanetan jartzeko 901 00:50:35,340 --> 00:50:38,620 Stephen hori badaki, eta Zure laguntza erabili izan dute. 902 00:50:38,620 --> 00:50:40,992 >> STEPHEN KREWSON: noiz gustatuko litzaidake. 903 00:50:40,992 --> 00:50:43,450 CONNOR HARRIS: Era berean, funtsean, programazio hizkuntzetan guztietan 904 00:50:43,450 --> 00:50:46,610 hori da bere gatza merezi Dagoeneko XML liburutegi bat du, 905 00:50:46,610 --> 00:50:51,030 beraz, barrutik bihur ditzakezu guztiak Zure musika objektu batzuk sartu 906 00:50:51,030 --> 00:50:54,120 XML liburutegia idatzi daiteke duten gutxiago beharko litzateke 907 00:50:54,120 --> 00:50:57,470 Zure barne egitura aldaketak musika objektuak edozein dela zuretzat 908 00:50:57,470 --> 00:51:00,310 saiatu idatzi baino idatzi nahi LillyPond zuzenean litzateke. 909 00:51:00,310 --> 00:51:04,380 Ondoren, besterik inprimatu dituzten XML XML liburutegietan zure hizkuntzan, 910 00:51:04,380 --> 00:51:07,260 dela, eta horrek bermatuko du sintaktikoki zuzena eta dena, 911 00:51:07,260 --> 00:51:08,720 eta, ondoren, bihurtu LillyPond izateko. 912 00:51:08,720 --> 00:51:11,060 Beraz, teknologia behar duzu nahi duzu zerbait egiten ari bada begiratu 913 00:51:11,060 --> 00:51:11,650 horrela. 914 00:51:11,650 --> 00:51:14,490 915 00:51:14,490 --> 00:51:16,370 >> [INAUDIBLE], beste auxilarry teknologia. 916 00:51:16,370 --> 00:51:21,700 Hau da, funtsean Tech dabil edo Tech Studio LillyPond da. 917 00:51:21,700 --> 00:51:25,380 Beraz, laguntza eskaintzen dituzten da sintaxia, templates 918 00:51:25,380 --> 00:51:28,770 hainbat komunetarako tresnen konbinazio. 919 00:51:28,770 --> 00:51:32,780 Zatitutako pantaila orain ikusten uzten ditu Zure kodea izan dezakezu leiho batean 920 00:51:32,780 --> 00:51:37,350 eta beste leiho batean PDF eta Ezkutatu PDF lekuak 921 00:51:37,350 --> 00:51:40,650 garrantzitsua du jauzi Zure iturburu lekuak. 922 00:51:40,650 --> 00:51:45,330 Hau da erabilgarria benetan zaren bada idatziz LillyPond fitxategiak yourself 923 00:51:45,330 --> 00:51:47,400 zuk sortzen ari bada baino programazioaren horiek. 924 00:51:47,400 --> 00:51:51,230 Baina, berriro ere, da Zerbait baliagarria izan. 925 00:51:51,230 --> 00:51:51,970 >> Great. 926 00:51:51,970 --> 00:51:55,860 Resources-- Another besterik ez dut honen bidez, oso azkar. 927 00:51:55,860 --> 00:52:01,270 LillyPond manuals-- LillyPond ditu Bere webgunean dokumentazio bikaina. 928 00:52:01,270 --> 00:52:02,270 Tutoretza bat dute. 929 00:52:02,270 --> 00:52:03,478 Sintaxia erreferentziatzat dute. 930 00:52:03,478 --> 00:52:07,010 Mozkinak ehunka dute Hainbat gauza txikiak 931 00:52:07,010 --> 00:52:09,930 Baliteke yo frogatu egin behar hainbat gaitasun. 932 00:52:09,930 --> 00:52:12,250 Erabili nahi baduzu scripting hizkuntzaren 933 00:52:12,250 --> 00:52:14,740 edo zabalagoak egin customizations, gero, ez da 934 00:52:14,740 --> 00:52:16,730 barnekoak URL horretan erreferentzia. 935 00:52:16,730 --> 00:52:21,950 Musika XML erabili nahi izanez gero, ez da URL horretan, musicxml.com/tutorial. 936 00:52:21,950 --> 00:52:27,960 >> Eta gero, eskema ikasi behar baduzu duzulako benetan erabili nahi 937 00:52:27,960 --> 00:52:30,960 scripting LillyPond instalazioetan, gero, ez da [INAUDIBLE] izeneko bat 938 00:52:30,960 --> 00:52:32,918 Interpretazio egituratuak ordenagailu-programak, 939 00:52:32,918 --> 00:52:35,820 hau da, bigarrena bakarra handienak CS testuliburua inoiz written-- 940 00:52:35,820 --> 00:52:39,770 aurkituko me gutxira jakin nahi baduzu zer egin is-- bat handienak uste dut 941 00:52:39,770 --> 00:52:43,580 baina, aldi berean da, oso ona Hizkuntza egoki sarrera. 942 00:52:43,580 --> 00:52:46,630 Ez duzu behar baino gehiago Lehenengo atal batzuk. 943 00:52:46,630 --> 00:52:47,827 >> Eta hori da. 944 00:52:47,827 --> 00:52:48,410 Galderarenbat? 945 00:52:48,410 --> 00:52:54,068 946 00:52:54,068 --> 00:52:57,972 >> Ikaslea: Non egin dezaket deskargatu Sortutako zure Frere Jacques 947 00:52:57,972 --> 00:53:01,050 beraz, jarri ahal izango dut nire iPod? 948 00:53:01,050 --> 00:53:07,574 >> STEPHEN KREWSON: Beno, idatzi ditzakezu wav Euterpea ere fitxategi batzuk daude. 949 00:53:07,574 --> 00:53:08,490 Eta kode duzu. 950 00:53:08,490 --> 00:53:10,000 Da GitHub da. 951 00:53:10,000 --> 00:53:15,590 Egin zure baten aldaerak egin Frere Jacques CS50 hive mind arabera. 952 00:53:15,590 --> 00:53:17,095 Handia litzateke. 953 00:53:17,095 --> 00:53:18,220 CONNOR HARRIS: inork? 954 00:53:18,220 --> 00:53:20,261 STEPHEN KREWSON: behar dugu baxu danborra hobea, too. 955 00:53:20,261 --> 00:53:21,935 Benetan txarra da. 956 00:53:21,935 --> 00:53:26,565 >> Ikaslea: Euterpea bakarra dauka konposizio aldean, baina signal-- 957 00:53:26,565 --> 00:53:27,440 STEPHEN KREWSON: Bai. 958 00:53:27,440 --> 00:53:30,100 Izan ere, lan dut Euterpea ere egin nuenean 959 00:53:30,100 --> 00:53:33,450 tuvo Halako ez da bat graduondoko ikastaro Yale duten 960 00:53:33,450 --> 00:53:35,900 erabiltzen it zen soinu sintesi on. 961 00:53:35,900 --> 00:53:39,810 Beraz, ez da benetan bat modu polit geziak erabiliz 962 00:53:39,810 --> 00:53:46,150 eta idazkera ikusi dugu batzuk seinalearen funtzio elkarrekin konposatzen. 963 00:53:46,150 --> 00:53:50,610 Bereziki, gehienak Baxu Horietako sine olatu sinple bat besterik ez da. 964 00:53:50,610 --> 00:53:54,240 Baina horiek konposatzen hasten bazara bitxi programazioko modutan, 965 00:53:54,240 --> 00:54:00,010 ero soinua lortu dezakezu ondorioak, goitik bitxi bezala. 966 00:54:00,010 --> 00:54:04,640 Oso gritty sor ditzakezu modulazio asko soinuak. 967 00:54:04,640 --> 00:54:07,730 >> Granular buruzko proiektu bat egin nuen sintesia, hau da, 968 00:54:07,730 --> 00:54:12,290 FM eta laginketa nonbait artean. 969 00:54:12,290 --> 00:54:15,230 Oso txikia hartu duzu, laginak txikiak, eta, ondoren, 970 00:54:15,230 --> 00:54:20,440 horiek konbinatu nolabaiteko modulatzaile eta eraikitzeko soinu aberatsagoa. 971 00:54:20,440 --> 00:54:24,900 Halaber maketatan egin dugu, beraz, to fisika pentsatzen saiatzen 972 00:54:24,900 --> 00:54:29,410 eta antzeko zerbait Psychoacoustics tronpeta bat, eta horrela pentsatzen 973 00:54:29,410 --> 00:54:32,320 soinua itzulerako off tronpeta kanpaiaren 974 00:54:32,320 --> 00:54:35,200 eta akustika gela eta modelaketa 975 00:54:35,200 --> 00:54:40,195 Oinarrizko osziladoreak egin duten. 976 00:54:40,195 --> 00:54:47,690 977 00:54:47,690 --> 00:54:48,940 CONNOR HARRIS: Eskerrik asko hainbeste. 978 00:54:48,940 --> 00:54:50,140 Eskerrik asko etortzeagatik. 979 00:54:50,140 --> 00:54:52,400 Eta prest nago beti galderak hartuko email-- arabera 980 00:54:52,400 --> 00:54:55,020 connorharris@college.harvard.edu. 981 00:54:55,020 --> 00:54:57,020 >> STEPHEN KREWSON: Bai. stephen.krewson@yale.edu. 982 00:54:57,020 --> 00:54:58,810 983 00:54:58,810 --> 00:55:00,360 Cool. 984 00:55:00,360 --> 00:55:01,667