CONNOR HARRIS: Kaixo.
Naiz Connor Harris.
CS50 Harvard CA bat naiz.
STEPHEN KREWSON: naiz Stephen Krewson.
Yale CS50 TF bat naiz.
CONNOR HARRIS: Eta ari gara hitz joan teknologia batzuei buruz duzula agian
Oraindik nahi izanez gero erabili nahi amaierako proiektua egiteko edo benetan
musikarekin ezer.
Lehen bat bideratua goaz Haskell izeneko programazio hizkuntza.
Da funtzional bat hizkuntza, beraz, paradigma du
C edo PHP oso desberdina edo inperatibo beste hizkuntzetan
Dagoeneko erabili ditut, eta, batez ere, Liburutegi bat Haskell idatzitako
Euterpea deitzen diren pertsonei laguntzeko musika idazten funtzionalki batera,
funtsean.
Eta Stephen oinez egingo Horren adibide handi baten bidez.
>> Honen ondoren, aurkeztuko dizkizut dut LillyPond izeneko zerbait, eta horrek
tipografia music teknologia bat da.
Sort LaTeX bezalakoa da musikarekiko duzun edozein bada
erabili dute LaTeX matematika klaseak edo beste P multzo klaseak edo zer egin behar duzu.
Eta, beraz, ematen dut, berriro, Horren adibide xume batzuk
eta seinalatu orokorrean baliabide batzuk hobeto zuzendaritzapean.
>> STEPHEN KREWSON: In Gainera, uste dugu
cool konfiguratzeko izango litzateke Aholku pixka bat
arteko bide aldera Euterpea sortutako MIDI fitxategiak
LillyPond ere, beraz, ez dugu ematen Gidoiak Instrukzio batzuk
direla ez da egin behar LillyPond hornitua
besterik ez da kode irekiko mantentzea eta gasbide joan zaitez.
CONNOR HARRIS: Berriz ere, nabarmentzekoa da,
Bi teknologia horiek, zuk ez dute haiek elkarrekin erabiltzeko.
Oraindik ez dute horrela diseinatuta elkarrekin, oso ondo egin zuten arren.
>> STEPHEN KREWSON: Eskuin.
Eta guztiz doan.
CONNOR HARRIS: So eskertza, besterik irakurri.
STEPHEN KREWSON: Behar bezala adierazi.
Folks horiek esker.
Hau izango behingoz gainean luzatuko dut.
Instalazio prozesua apur bat delikatua.
Dute bat irakurri dugu me GitHub on begirada bat hartu ahal izango duzu.
Email me edozein zalantza izanez gero.
Baina hau exekutatu egingo dugu hipotesi azpian hori da denontzat lan.
CONNOR HARRIS: Eta ezin baduzu eskuratu, LillyPond lan big aurre ez egiteko.
Ez dago zuzeneko Compilationen parte hartzen izango da, gutxienez, nire amaieran.
STEPHEN KREWSON: Haskell eta LillyPond biak eduki behar instalatzaileak.
Euterpea gisa deskargatzen da paketea, beraz, eta abar.
Beraz, ordenagailu musikari buruz hitz egiten ari gara.
Eta ez da Oso 50.000 oin ikuspegia.
Ez dago of a alderdi ezberdinak batzuk.
Eta hau zakarra da, eta ez da xehetasun batzuk ilundu egingo da.
Baina zerbait dela pentsa genezake algoritmikoak konposaketa bezala,
algoritmoak erabiliz, kodea erabiliz, sortzen
mota batzuk of-- agian auto-antzeko ohar, edo, agian, ohar sekuentzia
murriztapen batzuk pean.
Eta gero, horiek ezin izango burutu edo interpretatu
instrumentu analogikoa edo horrelako zerbait.
Baina osaera zen algorithmically egin.
>> Baina noski, agian arloan ordenagailu musika edo musika digital
Gehiago digitala da ezagutzen gara soinu sintesi edo laginketa digitala
eta grabaketa digitala.
Instrumentu digital asko daude laginketa digital bidez egiten da.
Izan ere, horietako bat erabiliz egingo dugu letra-liburutegi bat soinu forma geroago.
>> Baina ez da zerbait izeneko etorri dira sintesi digitala
berandu 70eko eta sartu 'batera 80ko Yamaha eta John Chowning Stanford
FM sintesia egiten edo Frequency modulazioa sintesia,
non garraiolari bat izan duzu seinale eta modulazio seinale bat
bai audio espektro.
Baina zer bideratuta ari gara gaur MIDI izeneko zerbait da,
eta, jakina, algoritmikoak konposizioa.
>> Ez gara instrumentuak egiteko, baina beharrean ari gara musika batzuk egiteko,
eta gero interpretatu egingo instrumentu batzuek duten
dira behar conformant general MIDI estandarra.
Beraz, zein da MIDI?
Ez dut gehiegi sakon da sartuko, baina MIDI datuak transferitzeko protokoloa da.
Da gida baten moduko bat topatu hainbat enpresa eta industriek
soinuak edo adabaki antolatzeko.
Beraz, ikusiko dugu ez MIDI estandar bat da
desberdinak perkusioa guztientzat soinuak eta MIDI gomendioak
synth mota guztietako jardueretan edo Instrumentu guztiek mota desberdinak
orkestra bat talde, esan.
>> Ezagutzen duzu, ziurrenik, 127 0 bitartez MIDI mezuak.
MIDI seinale bat da, normalean Pixka bat adieraziz
Datu bat edo bat ote den status pakete, eta gero, ez da
zazpi seinale bat bit.
Eta horiek kontrolatu ahal bolumen guztia
ekintzaren edo presiopean gakoa da jakin baten
MIDI batekin burutzen ari bada controller baita, noski,
notak.
Eta, jakina, MIDI ditu oso baliagarria izan da,
alanbre modu bat delako elkarrekin edo daisy kate
MIDI gailu sorta bat.
Daukat zazpi edo zortzi nire etxean atzera.
Lortzen benetan zaila, baina benetan boteretsua da.
Eta benetan zaharra da.
Da 80ko hamarkadaren hasieran, eta benetan polita eta txikia da.
CONNOR HARRIS: Bai.
Guztiak klasiko Nintendo bideo-jokoak, ziurrenik
MIDI musika fitxategiak, adibidez dute.
>> STEPHEN KREWSON: Hona hemen bat MIDI general adibide,
MIDI mota bat bezala erakusten protokoloa orokorreko.
Eta uste dut dela pentsa dezakezu zehaztapen arteko aldea
ez dagoela antzeko zerbait izan behar du Instrumentu horiek soinuak eta benetako
egintza horiek gauzatzeko soinuak soinu-tipo bat edo MIDI jakin batean
sintetizadoreaName aldea izanik Agian typeface-- horrek dio arteko,
oro har, hau diseinatzea da irudikatzeko modu horretara
karaktere eta letra jakin bat duten tamaina eta tinbre berezia dauka,
eta ez da the-- gauzatzeko
>> CONNOR HARRIS: Agian bat hobea konparaketa litzateke
izan Unicode estandarra says-- ematen karaktere arteko zenbakia da, eta benetan
munduko hizkuntza guztietan, edo Hizkuntzaren gidoiak multzo zabala da
munduan, eta, ondoren, horiek dira Zerbait grafikoa itzul
font hainbat paketeak arabera.
Eta, jakina, ez pentsa dezakezu MIDI soinuaren Unicode bezala.
Eta besterik zerrenda bat korronte handi bat of-- da ekitaldiak eta instrumentu eta whatnot of,
eta bereizi bat eduki behar duzu programa, tipografia bat bezala,
Hori errenderizatzeko sartu Zerbait hori entzungarri.
>> STEPHEN KREWSON: Zergatik Haskell?
Haskell programazio funtzionala da hizkuntza, oso aurreratuak,
C oso desberdina, PHP oso desberdina.
Eta ari gara, ez dagoela bat ikusteko joan Funtzio Haskell konposizio erraztasuna
Hori bidez brisa aukera emango digute idazten edo jarraitu idazten, transkribatu,
Frere Jacques antzeko zerbait, abesti sinple hori
atal asko ditu bertan dela auto-antzekoa edo errepikatuz dira.
Beraz, honen batzuk izango dira zergatik motibazioa
Haskell erabiltzen ari gara, eta bertan, funtzio lehen mailako herritar dira.
>> Eta hedatu egin nahi izan dut Pixka bat hau.
Pixka bat erraza notate Frere Jacques Haskell.
Baina zer nahi izanez gero danborra zati bat gehitu nahi duzu?
Zer egin frogatu nahi badugu Roland 808 edo 909 danbor baten antzeko zerbait
makina bertan duzu 16 inguru dituen etapak?
Normalean hauek dira 16an bezala ohar pentsatu.
Eta global kontrola dezakezu Denborarekin, eta jaso ahal izango duzu
perkusioa atal ezberdinak sorta bat kontrabaxua danborra, txalo bat, tranpak desberdinak,
txanoak handiko ireki eta itxiak kanal moduko hauetan,
eta gero ekualiza dezakezu edo haien bolumena doitzeko.
>> Eta ikusiko dugu modu polit bat Urrats hau adierazten Haskell
guztiak batera sequencer Haskell hainbat gauza cool
sorrerako egin dezakegu zerrendak eta iragazketa zerrendak baino gehiago,
zerrendak baino mapping, mapping zerrendak gehiagoko funtzioak.
Eta apologia azkar bat.
Hau oso gaingiroki eta sketch oso azkar
alderdi batzuen Haskell eta Euterpea of,
horietatik bat domeinu-partida da Hizkuntza kapsulatutako idatzia
Haskell musika-mota egiteko ere.
Beraz, mesedez, ez begiratu kodea konektatuta.
Sua sortu GHCI, horrek Glasgow da Haskell Compiler interpreteak.
Eta egon batzuk egiten ari naiz hau pixka batean
beraz, nola egiten da ikusi ahal izango duzu.
>> Eta honetan kargatu zurekin ahalbidetzen the-- sintaxia colon eta orduan da
komandoa.
Fitxategi kargatu dezakezu.
Fitxategi horiek arakatzeko dezakezu funtzio guztiak ikusteko
modulu jakin batean existitzen.
Eta ikusiko dugu, mota eta mota orduan bezala Klase beraz Haskell garrantzitsuak dira,
beraz, beti check ditzakezu bereziki zu DSCL berri batean lanean ari bada
Hau atsegin, zer musika mota bat da?
Badakizu horrela zenbakizko buruzko I mota Haskell lan,
baina ez dakit musika buruz.
Baina bidean ari dira aztertzen dezakezu t edo idatzi komando hau erabiliz definitu
eta orduan jakin batean deituz funtzio edo datu-objektu bat.
CONNOR HARRIS: Bai.
C eta Clang pentsatu baduzu motei buruz hardass zen,
Haskell buruzko ideia ez duzu.
Haskell buruz gauza ona dela Zure kodea eskuratu ahal izanez gero bildu
eta Haskell mota egiaztatzen badu, seguruenik eskubidea,
mota sistemari hain zorrotza delako.
>> STEPHEN KREWSON: Bai.
Beraz, besterik gabe, joan nahi dut , bidez, eta berriro,
hau ez da egiten batzuk justice-- da Haskell ezaugarriak, gutxienez
Bere creators-- eta sortu den 1980ko hamarkadaren amaieran jende mordo batek ere,
20 urte inguruko batzorde bat jende pentsatu garrantzitsuak izan ziren.
Eta lehenengo gauza dute paper bat agertzen duten
Haskell sorrera deskribatu lehen 20 urte edo gehiagoko
zen alferra zela.
Beraz, zer esan nahi du horrek?
>> Beno, nolabaiteko dugu esan nahi du adierazpide, ebaluatu behar dugu.
Eta Haskell hau egiten du dei bat ere beharrik modu edo bide ez-zorrotz baten arabera.
Hau da, mordo bat badaukagu gure adierazpen osagaiak,
ebaluazio atzeratzen saiatzen gara azpiosagaiek horietako
absolutuaren azken minutu bat arte Hori da arte benetan dugu behar horiek.
>> Beraz, esan nahi dugu hau, eta ez da Benetan cool, batez ere,
abstrakzioa buruz ari zaren pentsatzen bada Urrats sequencer musikal bat.
Piztu, eta hasten zara Urrats sequence-- bat martxan
duzu inoiz danbor batekin lan egin baduzu machine-- eta besterik jartzen da betirako.
Beraz, benetan polita izango bagenu litzatekeela Hori emulatzeko ezin Haskell.
Eta hori egin ahal izango dugu, nekeza egin balioak, infinitua zerrendak bereziki.
Oso erraza da, idazteko zerrenda infinitua Haskell.
Besterik ezin behera erabiltzen duzun sintaxia Hemen, non ikusten duzu 1 3 bidez,
kendu 3 1 dot dot, eta Hori zerrenda amaigabe bat da
zenbaki arrunten guztien zabalduz den neurrian, ezin duzu imajinatu ere on.
>> A aurkeztu nahi dut tolesturak kontzeptua berehala.
Eta berriro ere, helburua Mintegi hau ez da
Haskell tolesen buruz ikasi edo ordena funtzio handiagorik.
Baina besterik ez da aurkeztu nahi dut zenbat bitxi zentzu zehatza emateko
Haskell da eta nola indartsua da.
Eta, batez ere, ari gara jolasten joan gure danborra atal ezberdinak egiten dugu,
egon zerrendak manipulatzeko goaz zenbakiak, horiek tolesgarri, bata bestearen gainean.
Eta hori egin ahal izateko, dizkizugu mapak eta tolesturak erabiliz.
>> Ez dago eskuineko elkarteetako da tolestu, ikusi zein eskubide hori da
hemen 1 ken kantitatea, 2 ken kantitatea, 3 ken 0.
Eta bat sintaxia fold, bider bat emango dizu
base balio bat eta ondoren operation-- bat Kasu honetan, gainera, edo kenketa ere.
Bi kasuetan ikusi dugun.
Eta gero ez Metagailu bat dela Zerrenda osoa zehar pilatzen,
operadorea plus hori aplikatuz edo ken, eta, ondoren, metatu.
Beraz, hau the-- izango da deitzen zen bada fold r plus 0 batera, 0 hasita,
orduan genuke laburbildu guztiak Zerrenda horretan zenbakiak.
Eta hori, 1etik 3ra zerrenda bat da.
CONNOR HARRIS: beraz, jarri beste horrela, fold r hiru argumentu hartzen.
Badira funtzio bat dela bera bi argumentu hartzen,
ondoren, ez da hasierako balio bat da, eta ez balio-zerrenda bat da.
Eta zer egin nahi duzu hartu duzu hasierako balioa, lehen balioa,
Horietako jarri funtzioa sartu.
Zer atera duzun, , feed hori hartu duten
funtzioa sartu bigarren balio, zer atera duzun,
Ateratzen, elikatzen duten sartu irugarren balio funtzioa.
Eta gero behera bazoaz Zerrenda osoa hau era honetan,
Azkenean iritsi da zu zenbait balio hori singular
hasitakoa mota bereko batera egindako eta mota bereko
Zerrendako gauzak, eta, ondoren, bueltan fold R. ondorioa da
STEPHEN KREWSON: Beraz, bereziki, hauek dira, ordena funtzio altuagoa,
Oraindik beste hartzen dutelako funtzioak emandako argumentu bat bezala.
>> CONNOR HARRIS: Bai.
Erabili dituzun bada beste zenbait languages-- R ezagutzen dut, [INAUDIBLE]
Hizkuntza ditu honek, izeneko murriztea.
Agian antzeko funtzioak duzu beste hizkuntza batzuetan, besterik izeneko
Gauza ezberdinak.
>> STEPHEN KREWSON: Eta Zer da fold R inguru polita
kasu honetan fold dela R infinitua zerrendak lan.
Beraz, beheko honetan, P5 honetan Ohar sortzen duten
aktibatuta daudela urrats sequencer batean danborra zati batzuk, bosgarren danborra parte,
eta, agian, conga bat da danborra edo zerbait.
Eta hau da, nahita bat hau idazteko modu kamutsa,
baina dibertigarria da, zeren asko erakusten du
Haskell eta Euterpea buruz gauza.
>> Beraz, tolestu R colon-- colon honen da besterik gabe, gauza batzuk bultzatzen duten eragile batez
elkarrekin huts bat izeneko list-- batean zerrenda, eta horrek parentesi hutsik dago besterik.
Eta deitzen naiz dagoela zerrenda infinitua honetan.
Hau da, benetan bi zerrenda batzen behera hemen.
The list 1 koma 6 dot dot 1, 6, 11, 16 da.
Beraz, besterik ere Haskell-- karaktereak, zuk
osoan zehar sortzen ahal zenbakien sekuentzia
duten bost zenbakiak dira aparte luzatze infinituraino sartu.
Eta gunearen aurretik joan nintzen list-- pixka bat laburragoa honetan
3, 8, 21-- besterik erakusteko nola zerrendak kateatu ahal izango dituzu.
>> Eta gero, ez dut bera tolestuta.
Eta honen ondorioz sortu besterik moduko bat izanik identitate operazioa, baina infinitua da.
Eta tolestu R Hori egin daiteke, delako nekerik ebaluatzen, goian ikus daitekeen bezala.
Dugula 1 eta 2 eta 3 bada, ezin dugu besterik parentesi off gainerako osoan zehar.
Ez dela lan ken edo plus, baina
egingo colon honen alde lan egiteko identitate zerrenda horretako eragiketa.
>> Beraz, nola ia erabili ez dugu hori badugu Gauzak zerrenda infinituki luzea izan?
Beno, Haskell eskaintzen funtzio asko
eta begiratu horiek sartu gehiagotan Zure aldia propioa hartu, esate baterako,
horrek dio, OK, ez gara zerrenda infinitua hau sortuz,
baina besterik ez gara pixka bat hartu du Da Eta kasu horretan honetan zenbaki
hau ikusiko dugu geroago Gure danborra makina, kode
GM besterik global mota batzuk urrats kopurua aldagai
sequencer batean.
Roll-makinak On I erakutsi duzu, hori da normalean 16
baina ezarri dut 32.
Ez da benetan axola.
>> Haskell ere bada hutsa, hain sendoak dituen Idazteko estatikoan duten Connor aipatu.
Beraz, funtzio dira sense-- batean matematiko
gehiago matematiko ari dira dutela bermatzen ari
ez sartzeko edo edozein motatako aldatu aldagai edo burutzeko sarrera edo irteera.
Beraz, funtzio bat izanez gero, determinista da.
Beti izango da bera itzuli Programaren estatuan balio
edo berdin jarraituko dute.
Badira, noski, salbuespenak monadikoari honetan, baina hori da gure esparrua haratago da.
>> CONNOR HARRIS: Bai.
Horrek esan nahi du, nahiz eta, ez zenbait garrantzitsua [INAUDIBLE]
horren ondorioak.
Bat da oso erraza dela parallelize Haskell programak.
Duzu bada delako, Nik esango nuke, funtzio bat
milioi bat balioen funtzionatzeko behar, bada Dakizuenez funtzioa beti izango da
balio badu bera eman elikatzeko balioa jakin batean duzu
Oraindik [INAUDIBLE] 1 f bada, f 2, orduan f 3 edo whatnot-- 1 f
Ez dago idazteko joan fitxategi batean edo zerbait egin
Hori f2 balioa aldatzea izango da.
Zuk besterik zatitu daiteke funtzio hau bat milioi makina desberdinen edo milioi bat
hariak edo dena ezberdinak, erantzunak guztiak atzera,
Bueltan balioen zaitez atzera, eta, ondoren, hori da.
Beraz, oso erraza gauzak parallelize izateko.
>> Arazotxo sarrera hori da eta irteera bereziki
motako sistema kabituko Modu oso konplikatua da.
Ez dugu eskubidea horretan joan, baina I baliabide batzuk begiratu animatzen zaituztegu
online horri buruz ikasi nahi duzu bada.
>> STEPHEN KREWSON: So Idazten classes-- eta honek
moten klaseak was-- ziren asmatu konpontzeko
operadorea gainkarga arazo bat.
Beraz, berdintasuna izan nahi dugu Gauza mota ezberdinen artean.
Jakina, of-- uste izan dugu zenbakizko moten arteko berdintasuna
pentsatu oso erraza da, baina zerrendak arteko berdintasunari buruz zer?
Arteko berdintasunari buruz zer zuhaitz hanka datu egiturak?
Eta hau guztia ere posible Haskell mota klaseak delako.
>> Beraz, datu type-- jakin bat definitu baduzu eta hemen, horiek musika-zelaiak dira.
Oraindik azkenik lortzean dugu ordenagailu musika.
Beraz, C, C zorrotzak izan dugu, eta abar eta abar.
Egileenak sorta da momentu mota ezberdinak.
EQ-- EQ mota klase sartzen dute.
Horrek esan nahi du onartzen dute berdintasuna eragiketak.
Beraz, zuk bat egin ote diren dezake musikala primitiboak sekuentzia
beste bat bezala bera da.
>> Ordinalak class zati dira.
Horrek esan nahi du ordena bat da horietara.
D C. C zorrotz ondoren dator C ondoren dator, baita.
Egileenak klaseari dute erakutsiko da, eta horrek esan nahi du, ahal izango dute
kontsola bat edo terminal inprimatzeko.
Sartzen joan ziren bizitzera Klase izendatuak, eta horrek
esan nahi du, nahiz eta horiek pertsonaiak dira,
Azpiko zenbakizko bat dute ordezkaritza 0 aurrerako
eta off ordea igaro Gauza asko daude hemen, 20 edo, beraz,
edo, 30 edo 40, agian.
>> CONNOR HARRIS: Eta noiz datu-mota bat dugu
Hori keyword horrekin derives-- "Deriving--" motako klase jakin bat,
konpiladore saiatuko dela esan nahi du Zerbait automatikoki eraikitzeko.
Beraz, agian nahi dituzu nahi define kalitatea ezberdina dauka.
C zorrotz definitu nahi dituzu D laua berdina, adibidez.
Eraikuntza honekin Hemen, ez dut uste C zorrotz
eta D laua berdina izango da, izan ere, konpiladoreak automatikoki
Posible balio ezberdinak esaten beste behin, desberdina da.
>> Beraz, posible da jaramonik ez inplementazioak lehenetsiak,
klaseak mota horiek.
Berriz ere, bada erreferentziazko begiratzeko horri buruz ikasi nahi duzun.
STEPHEN KREWSON: Eta Hemen, egia esan, hau egingo
geroago kode dugu litzaiguke.
Artizki operadore batzuk ikusi ditugu konposizio sekuentziala egiteko,
konposizio paraleloa, eta beraz, dagozkio, pluses hauek eta zeinuak berdinak
puntuz inguratuta.
Horrek esan nahi du desberdin horiek jolastu ahal izango dugu musikala primitiboak bat bestearen atzetik.
Hori konposizio sekuentziala da.
>> Edo horiek jolastu ahal izango dugu Aldi berean, paraleloan.
Beraz, musika-balio bat izan daiteke dut, eta, ondoren, hau berdin eta puntuz,
artizki paralelo konposizio operadorea, eta play akordeak bat balitz bezala.
Eta ari gara erabil joan denean konbinatu dugu
Gure danbor batekin parte gure gutxi Frere Jacques abestia
bi sekuentzia horiek play Aldi berean, musika-balioak.
>> Is-- Curry Currying azken Haskell Curry, izena duten
Haskell irudia omenez.
Eta honek aukera ematen digu bat Polita dotorezia Oraindik dugu
horiek guztiak idatziz funtzio edo gauden iragazkiak
mapping gure zerrendak baino gehiago izango da.
Bi funtzio A argumenturik x eta y-- f
den bezala irudika daitezke x f y aplikatuta.
Beraz, funtzio bat da argumentu bat da, itzultzen
argumentu baten funtzioa beste.
Beraz, horrek esan nahi du bat mapa dezakegu funtzioak x f y en zerrenda aztertzen.
CONNOR HARRIS: nahi Horren adibide bat emateko?
STEPHEN KREWSON: Bai.
Adibide bat dut hemendik gauzak idatziko dugu batzuk.
Beraz errepikatzeko 2-- bai, errepikatzeko izango
balio bat da, hau da, zenbat aldiz zerbait errepikatzeko,
eta, ondoren, balioa hartuko du Ohi zerrenda bat edo zerbait.
Hortaz, hona hemen, mapping gaude errepikatzeko 2 Beste zerrenda bat baino gehiago.
>> Errepikatzeko 2 mapa beraz badugu, aplikatu errepikatzeko dugu 2 bada
list-- honen lehenengo elementua eta horiek musikala phrases-- zerrendak dira
bi sortuko dituzte "sleeping-- duzu" beraz, lotan, lotan.
Beraz, orain bi ditugu.
Baina errepikatzeko bi hartzen argumentuak, baina garelako
currying eta gero mapping, erreplika 2 ordezkatzen dugu
haber sido itzuli funtzio gisa argumentu bat besterik ez birritan replicating.
Eta gero ari gara bakoitzari aplikatuz esaldi zerrenda honen elementu.
>> Eta concat Haskell da Zerrenda bat berdintzea eragiketa.
Erreplika 2 egingo delako zerrenden zerrenda bat sortzeko.
Eta hau tarteko forma hau da hemen.
Eta, beraz, ondoren concat dezakegu edo berdindu atera birritan.
CONNOR HARRIS: A errazagoa currying adibide,
zinela antzekoak bada imajinatu f besterik da duten bi hartzen multiplication funtzioa
argudioak eta beren produktua itzultzen.
Beraz, f bat behar duzu bada, 4, 5, 20 da.
Baina hau ez pentsa dezakezu gisa also-- f 4 duzu
argumentu bat dela eta itzultzen hartzen lau aldiz hau besterik argumentu
Aplikazio partziala bertan Argumentu 4 bakarrarekin.
Eta elikatzeko 4 f bada 5, emango dizu 20.
Eta hori errazagoa bat currying adibide.
Ohi da testuliburua lehenengoetako bat da.
>> STEPHEN KREWSON: Lambda esamolde edo funtzio anonimo
beste Haskell bandera.
Beraz Látigo bat behar badugu gutxi funtzioa bizitza errepikatzeko,
baina diotenez, ez da aurkitu Liburutegi estandarrak,
sintaxia bat erabili ahal izango dugu Honako antzekoa.
Eta hau baino gehiago dugu brisa.
Gauza bat asko ikusiko duzu of the in deiak danborra makina da egiten ari gara
zerbait izeneko iragazi, lehen bezala, zein,
Funtzio baten mapping bat da Zerrenda bat baino gehiago, baina da
funtzio boolear baten mapping bat.
>> Beraz, hemen dugu adibide bat anonimoki of a bat
definitu funtzio boolear dagoela besterik hartzen pare balioak bat.
Hau ez da, hertsiki hitz Funtzio anonimoak.
Baina batez definitzeko da laburtasunerako sintaxia,
eta hau besterik x modulu hartzen n--
CONNOR HARRIS: Bai.
Beraz, f funtzioa da Bi argumentu n eta p
Hori dela berez funtzio bat itzultzen Argumentu bat funtzio bat, hots, x.
STEPHEN KREWSON: I aipatutako artizki operadore.
Zer dira artizki operadore?
Beno, artizki operadore dira modu normal eragiketak adierazten dugu,
esan, mathematics-- 2 plus aurkitu 2 ordez operadorea plus
eta, ondoren, bi argumentu 2 eta 2.
CONNOR HARRIS: deitzen poloniar notazioa, hau da,
epe bat duzu edozein jakingo zuen zalantza dut.
>> STEPHEN KREWSON: Eskuin.
Alderantzikatu polish edo aurrizki notazioa.
Baina Haskell erabaki artizki eragileak erabili.
Beraz, hauek dira batzuk pertsonalizatuak dela
diren zehaztu Euterpea DSCL Haskell.
Beraz, hau konposaketa sequential zen.
Hau konposizio paraleloa zen, eta honek zen konposizio paralelo truncating.
Eta egingo dugu, behar duten Gure danborra makina batekin,
azkenekoa dugu erabili duelako izango tupla gutxi han-operadore
danborra makina batera jolastu Gure Frere Jacques abestiarekin.
Eta gure danborra makina da infinitua izango.
Jokatzen du, besterik ez da betiko.
Baina Frere Jacques abestia ez da.
Ez da luzea.
Taberna gutxi batzuk besterik ez da.
Beraz, danborra makina gelditzeko behar dugu laster musikal balio laburragoa dator gisa
amaiera emateko.
Eta infixed operadorea da super horrekin lagungarria.
>> Eta artizki atsegin notazioa hau da, mota polita,
esaten duelako bezalako funtzio bat duzu aurrekontua, eta horrek zatiketa ematen
zerbaitek x Bestela Barkatu, hori bat eta b izan behar du.
Bertan idatzi izan duzu b komatxo gisa.
Beraz jarri du elementu duzu bada horren beste adibide bat.
x zerrenda batzuetan elementu, jarri baduzu egiten Backticks ere, erabili ahal izango duzu.
Ez da sinbolo bat izan arren plus edo minus edo aldiz bezala,
baten izena erabili ahal izango duzu Backticks horrelako funtzio
artizki operadorea, hau da, nahiko cool gisa.
CONNOR HARRIS: Berriz ere, hau da, azukrea besterik sintaktiko guztiak, benetan.
Ez du eraginik hizkuntza muina.
>> STEPHEN KREWSON: Beraz, hemen ikusten dugu alde gure Frere Jacques abesti Esaldi azken,
Akorde gutxi batzuk jokatu dut edo konposizio paralelo erabiliz heren
operadorea.
Hau batzuk esaten beste modu bat da zer egin dugu besterik ez dira esaten.
Beraz, funtzio mapa ditzakezu Argumentu bat zerrendetan gorako.
CONNOR HARRIS: Berriz ere, erreferentziak Haskell-- sarrera testu-liburuak for
egingo du hori guztia dute bertan.
>> STEPHEN KREWSON: Hemen daukazue polit bat gakoa urrats sekuentziadoretik lerroa
erabiliz, begirada bat hartuko dugu Zerrenda ulermen bat.
Eta hemen ikusten dugu elementu hori Atzera komatxo artean operadorea finkoa ere.
Beraz, x zerrendan elementu bat baldin bada x-ren, gero guk eman deituko minutu funtzioak.
Beraz, minutu besterik perkusioa funtzio bat da.
Zenbait balio p hori hartzen du itxitako guztien multzoa zati
perkusio soinu ezberdinak ikusi dugun Aurreko diapositiba batean,
eta, ondoren, ematen dion laurdeneko iraupena.
Bestela, QNR bat ematen dio, eta QNR besterik laurdeneko atsedena bat da.
>> Beraz, hau zerbait polita eraikiz da.
Elementuen zerrenda bat daukagu, eta batetik zerrenda batzuk baino gehiago dugu begizta
Gehienez gure urratsa sequencer balioa emateko.
Eta Oraindik ere i jakin batean dugu Gehienez balioa bat zerrenda horretan,
i hori honetako kide bada multzo funtzio honetan sortu,
bai eta, ondoren, aktibatu dugu perkusioa ohar batean.
Bestela, atsedena, jolastu besterik ez dugu bertan Bestela esan, besterik geratzen gara isilik geratu.
Eta hemen ikusi ahal izango dugu, eta horrek Zerrenda ulermena sintaxia hau,
x da hau biztanle Zerrenda bat eraiki
sequencer tamaina globala da.
CONNOR HARRIS: Bai.
Egiteko oinarrizko sintaxia Zerrenda ulermenak da
tarte, balio inplikatuz zenbait aldagai, bar,
aldagaien balio posible beraiek, parentesi itxita.
Eta egin duzun bada Multzo sintetikoki Edozein matematika klasean sailkatu,
hala nola 2n baliteke ezarri dute n edo dena n z da.
Antzeko izendapen hori gauza Ekarri da iradokitzailea izan nahi du
matematikatan hori.
STEPHEN KREWSON: Eta dezakezu Anitz predikatuen aplikatu
eta zerrenda batean iragazkiak anitz ulermena, hau da, nahiko polita.
Algebraica types-- dugu Ezin izango linger luze hemen.
Ez zeukan ere nozioa ona Haskell edo ona, begi-bistakoa den kontzeptua izaten
nola hartu, esan, default baten funtzio bat edo zerbait parametroa.
Python ere, hau da, nahiko erraza.
Zuk besterik esan dezaket berdin on funtzioaren adierazpena,
ere balio lehenetsia Kasu bakar bat ere ez da hornitu.
>> Haskell, agian, ezin duzu erabili agian, agian, idatzi,
Hori dela eta, ez da ezer hartzen edo motakoa balio bat besterik ez da.
Beraz, hau ustiatu dugu danborra makina aukerakoa bolumena eman ahal izateko
danborra zati bakoitza parametro.
Eta, beraz, EQ izateko modu bat ematen digu edo kanal jakin baten bolumen batean.
>> CONNOR HARRIS: In Haskell beste adibide,
ikus daitezke, agian erabilitako huts egin dezake funtzioak.
Hau komun bat da.
>> STEPHEN KREWSON: Eta hornitu ahal izango duzu error mezua nolabaiteko lehenetsi gisa.
Eta hori bereziki erabilgarri denean I / O Haskell egiten ari zarenean.
Hori trikimailuak izan daiteke.
CONNOR HARRIS: Edo batentzat Antzeko adibide, uste
Hori zatiketa dakar funtzio baten 0 izan daiteke parametro baten.
Eta funtzio hori Could itzultzeko agian edozein dela ere.
Beraz, ez dago zatiketa ez da 0 bada, edozein dela besterik itzuliko da.
Eta bada ez dituen zatiketa da 0, ezer itzuliko da
error seinalatzeko modu gisa.
Ondorio bat delako Haskell en mekanografia oso zorrotza
da, ez dagoela real-- ez salbuespenak baldar dira, funtsean,
error manipulazioa baldar.
Eta hau da, oso egiteko modu komun.
>> STEPHEN KREWSON: Beraz, orain lortu dugu beste kontuan-flexiones gauza
Haskell, inguru horietatik eredua da datozen eta funtzioen definizioak.
Erakutsi dut azken diapositiba du Urrats sekuentzia deklarazioa
funtzioa, agian, balio bat hartu, gero int, orduan ints zerrenda bat,
ondoren, sekuentzia bat itzultzen musika baloreak ez komentatua
bai zelaian eta bolumen batera.
>> Beraz, hiru argudio horiek izan daiteke eredua honela parekatzen.
Eta beti ziur izan nahi dugu Oinarri kasuan edo irteera kasu egin lehen.
Eta azpimarra horiek besterik da interpretatu daiteke
hori ez dago inolako balio du esan nahi.
Beraz sekuentzia urratsera dei bat jasoko badugu balio batzuk, beste balio batzuk,
eta, ondoren, zerrenda hutsik, zer nahi dugun itzultzeko isiltasuna besterik, atsedena hartzeko 0 da.
>> Eta horren ordez Zerrenda edo 0 huts bat izanik,
Gainerako a 0 da, garelako musika motari aurre,
eta musikaren zerrenda hutsik egin mota besterik ez iraupena ez gainerako bat da.
Musika ez da.
Eta gero, ikusi dugu beste urrats bat lortuko badugu sekuentzia v batekin bolumena argumentua,
zuhurtzia instrumentu for p Argumentu, eta, ondoren, x-ren zerrenda bat.
>> Gero gauza batzuk egin ditugu.
Hain zuzen ere, aplikatu dugu Zerrenda ulermena honetan,
eta batzuk egin ditugu agian balio eragiketak
Piztu nahi zenbakizko balio bat da, beraz, sartu orduan izendatuak litezke eta erabili
instrumentua aukeratzeko.
Berriz ere, hau da, pixka bat Pixka nahita inconcise
Besterik bitxi gauza guztiak erakutsi Haskell egin dezakezu ahala
Begirada bat, zure denbora hartu.
>> Ados.
Beraz, azkenik iritsi zer ezarri dugu egin,
hau da, ordenagailua musika batzuk egiteko.
Beraz, nahi gogorik Frere Jacques abestia egiteko.
Beraz, ez dira zenbat Frere Jacques esaldi?
Lau.
Great.
Eta zer polita da hori guztiak ari dira errepikatzen
Nondik kopuru bera, eta horrek bi da.
>> Beraz, lau esaldi daukagu bakoitza bi aldiz errepikatu.
Eta, batez ere, ari borobil bat dute.
Eta asko daude, Modu askotan ezartzea
Hori dibertigarria egin izan zitekeen txanda.
Hori egin nuen bat ere Nahiko modu erraz hemen,
bertan besterik lerroan construct-- da Funtzio music balio-zerrenda bat hartzen du
eta bihurtzen da konposizio sequential sartu konposizio sekuentzial hori aplikatuz
operadorea.
>> Eta gero, zati desberdinak atzeratzen dut eginez hasiko atseden batekin horiek.
Beraz, hasteko bi neurriak gainerako bat dut, eta, ondoren, lau neurriak gainerako batean,
eta ondoren, sei atsedena neurriak, eta, ondoren, txanda
lan egiten du, denok abesti hau ezagutzen den bezala.
Ikusi dugu bi oharpenak edo musika balioak aldaketak
direla sequential honetan jasotako musika elementuen antolamendua.
Gehigarrien bolumen bat daukagu.
Hau oharpenak funtzioa da bolumen jakin batekin musika.
Hau adibide ona da a MIDI seinale exekutatzen
0-tik 127 ra, zazpi bit Hori egin daiteke informazioa.
>> Eta gero, oso ikusi genuen laburki, baina MIDI orokorrari
ezberdinen tresna guztien zerrenda.
Eta ez da horietako asko oso bat.
A audio travail digitala erabiltzen baduzu, Ableton Live edo Pro Tools bezala,
Han sorta izugarri zabalago bat sintetizatzaileak eta VST tresnen.
Baina MIDI estandarra bakarrik dozena gutxi, edo zenbait dauka.
Eta horietako batzuk dibertigarriak dira.
Dibertigarria izango litzateke pentsatu nuen jokatu badugu instrumentua MIDI instrumentua
helikoptero, eta, ondoren, hurrengo alderantziz zehar,
pad synth bat egin dugu, eta, ondoren, hau xelebre berunezko uhin karratu synth,
eta gero, ahots lokatz dira, bat Pixka nire MIDI txarra Hots
sintetizadorea, baina dute Ados.
>> Eta gero utzi hau ikusi dugu eta Haskell from sintaxia,
eta, ondoren, jokatzen ari gara zati horiek guztiak elkarrekin
paralelo konposizio operadorea batera.
Eta ezin izan dugu seguruenik honen batzuk erakusteko.
Hemen kodea da.
Eta C ikus dezakezu, ez nuke izango eztarria konpentsazio eta ezarpena asko
mahai duzu aurretik Kodea musika egin izan dute hau.
Edo beste edozein programazio hizkuntza, ziurrenik zenuke
nolabaiteko elkarreragin liburutegi edo API eta guztia sortu,
eta, ondoren, garbitu egin behar duzuna.
Baina hemen ere Haskell da, nire ustez, beste behin delta lortuko duzu hura, oso
irakurgarriak eta oso adierazkorra.
Beraz, ez inplementazioa da Frere Jacques.
Ados.
Orain perkusioa gehitu nahi dugu, eta hau pixka Messier apur bat da.
Beraz, dezagun diapositibak begirada bat.
Beraz, ideia handia da egin zerrendak edo zati mordo bat.
Roll-en makina horiek, han ziren normalean, agian zortziak
10 rhythm edo perkusioa zatiak.
Eta ondoren, teknika sorta bat erabili.
Eta, horiek erabiliz, hitz egin dugu tolesturak, iragazkiak, lambda funtzio,
zerrendak balioak sortzea baino gehiago kartografiatu barruti batzuetan 1 r, r 16a da,
edo 32 sequencer urratsak.
>> Eta gero ez dago zerrenda horretan balio bat esan nahi duzu sequencer bidez dugu exekutatzen ari den bezala,
Bidez behera lasterka eta baino gehiago, bihurtzen da ohar horretan,
eta lagin hori antzeman du lortzen.
Hemen dira modu ezberdinak bitxi guztiak Hasi nintzen oharrak sortzeko.
Proba ezazu zeure erdi batura orrian.
Cool soinua izango da.
Time, ahalbidetzea honen bidez egingo dugu.
Baina oraintxe, asmatzen dut demo behar dugu zer dugu.
Dezagun espero hau OK doa.
>> Beraz, hau GHCI da.
Eta fitxategi bat kargatu beharko dugu Song.lhs izeneko daukat,
bertan fitxategia erakutsi besterik ez dizut da.
Ados, handia.
Connor esan lehenago bezala, konpilatu, mota hautatuta da,
beraz, asko arnasa hartu ahal izango dut errazagoa.
Ez da putz egin nuen joan.
>> Nahi nuen duzu zerbait erabilgarria erakusteko.
Duten ikusi ahal izango duzu modulua kargatuta 50 izeneko.
Modulu hori araka ditzakezu.
Eta hori da, hain polita doing-- buruz, agian, zer
egiten ari zarenean ere Haskell ez da software garapen esaten,
baina asko egin dezakezu Zure kabuz gauza dibertigarria.
Eta workflow da benetan polita aldean beste hizkuntza asko,
benetan bat ikus dezakezu delako irakurgarri modu zer gertatzen den.
Beraz dugula ikusten dugu horiek guztiak, esaldi horrek,
musika zelaiak zerrendak dira, eta, ondoren, dugu eraikitzeko horiek eman zerbait handiago,
bertan musika abestia da.
Musika-unitate bat da.
Eta gero, hori guztia jolastu ahal izango dugu izeneko funtzio antzezlanaren musika batekin.
Hemen ikusi ahal izango duzu, behera.
Zein da, besterik gabe, jolasteko.
>> Ez nuen buruz hitz esatea behar dut dolarraren ikur hori, hori da nonahi.
Dolarraren ikurra artizki operadorea bat da.
Baina, lehenak txikiena duena da Edozein operadorea, horrek eraginkortasunez
Guztia on dagoela esan nahi du dolarraren ikurra ezkerraldean
eta dolarraren ikurra eskuinean, baino lehen urratsak ebaluatu goaz.
Beraz Ordena da beste bat bezalakoa da parentesi gehituz modu.
>> CONNOR HARRIS: Funtsean Funtzio konposaketa.
Eta ez duzula bada have-- bermatzen da funtzio bai alde edo artizki duzu
albo banatan operadoreak, ez dute Topo lotzeko eta emango dizu
ustekabeko emaitzak.
>> STEPHEN KREWSON: Beraz can-- dugu hori erabilita, esan genezake.
Lehenik eta behin, jolastu dugu danborrak gabe.
Hori helikopteroa da, MIDI helikopteroa.
>> [Musika jotzen]
Ez dago uhin karratua da.
Ahots lokatz du.
Eta zuk benetan joan ahal honekin basatia.
Nahiko simple bat jaso dut, banekien ez dudalako pizten off
gehiago Chew ezin izan nuen baino.
Horretarako, mantendu nahiko erraz ideia nagusiak erakusteko.
Baina orduan nintzen bezala, dugu lortu danbor batzuk gehitu honetarako.
Just delako hau da a Pixka impenetrable,
eta ez nuen erabili danborra zatien izenak,
Horietako mapatzen I dutela ari delako Klase ataza horren zati,
Kartografiatu I ints.
One kontrabaxua danborra bat bezalakoa da.
Zero baita.
Zazpi kapelu luzea da.
Eta behera hemen non funtzio zaitez pixka bat gehiago ausazko,
horiek conga danborrak bezalakoak dira.
>> Beraz naizenean uste duzu agian, bada danborra makina bat martxan jarri ahal izateko modu dibertigarrian
da oso txukun erabiltzeko Zure kontrabaxua danborra ereduak.
Horrela, esate baterako, gainetik iragazketa gaitu dena batera zerrenda itzuli dela ematen
1 bat denean hartu modulua 04.
Beraz, lortu dut 1, 5, 9, 13, 17-- hain honetan neurri bakoitzeko lehen erritmora da.
>> Eta gero, hau da, bera Bi urrats baino gauza aldatu.
Beraz, hori offbeat da.
Beraz, hau izango litzateke kapelu baten antzeko zerbait.
Eta gero, berriz, behera hemen, apur bat ausazko da,
conga danborrak egiten ari garelako.
Eta marakak batzuk behera izan dut hemen ere.
>> Beraz, play danborra makina deitu izan dut, baina betiko joan litzateke,
eta baliteke grabbing hasiko da Nire sistema memoria guztia.
Beraz, funtzio hau deitu dut musika, bertan ikusiko dugun bezala jokatu,
the truncating konposizio paralelo erabili gure little Frere Jacques song play
bitxi danborra makina honekin batera.
Beraz, dezagun begirada bat.
Eta mesedez ez hobetu nire danborra zati guztien moldaketa.
Ez da nire espezialitatea, baina ez dut fun asko egiten baitu.
>> [Musika jotzen]
>> Beraz, jakina, hau guztia Pixka bat ez fun gisa
ez badugu bihurtzeko hogei bat, beraz, agian,
interpretatu ahal izango dira Giza interprete moduan.
Beraz, ezin izango dut da hemendik.
Nik dagoeneko sortutako fitxategiak.
Ikusi ahal izango duzu, ez dagoela bat dot LilyPond fitxategi eta honek
Nire segue baino gehiago izango da Connor-- eta dot MIDI fitxategi bat,
eta dot PDF fitxategi bat, hau da, zer LilyPond azken finean sortuko du.
>> Baina horiek gidoiak horiek dira, eta ez dut besterik exekutatu horiek beren laguntza aukerekin.
Horiek eskuratu nahi izanez gero, bada, eta lasterka Euterpea, MIDI fitxategi bat sor dezakezu.
Eta gero, MIDI fitxategi batetik MIDI 2LY programa honekin,
Lily bat sortzeko dezakezu Pond fitxategia, eta, ondoren,
puntuazioa, PDF bat sor ditzake.
Eta honetan begirada bat hartu behar dugu.
Beraz Connor ziurrenik erakutsiko ditu nola hau hobe oharrak egiteko,
baina hau da Frere Jacques gisa me sortutako Euterpea ere.
Besterik C. hurrena behar dut zer aldatu da benetan ere atera.
Baina hori egiteko gasbide da Hori dela-ekin nola egiten duzu.
Hitz egin gehiago LilyPond buruz hitz egiteko.
>> CONNOR HARRIS: OK Ikus dezagun.
Ba ikasi duzu Haskell aipatu duzu?
STEPHEN KREWSON: Oh yeah.
Begiratu ikasi duzu Haskell.
Da baliabide luzatzen da.
Hori nola hasi nintzen , ikasteko eta handia da.
Ez mutu ikaskuntza.
>> CONNOR HARRIS: Beraz online da.
Beraz izeneko tipo bat [INAUDIBLE] learnyouahaskell.com, tarterik gabe.
Gramatika gaixorik dago.
STEPHEN KREWSON: It ilustratua da, gehiegi.
CONNOR HARRIS: Beraz, zer da LilyPond?
Deklaratiboa programazio bat da musika tipografia hizkuntza.
Beraz declarative-- ahal duzun HTML bezalako gauzak pentsatzea,
non Oraindik ez saying-- HTML ez du esaten web nabigatzaile nola egin beharko lukete
render-orriak pausoz pauso.
Besterik hau esanez textual description da
zer nahi duzun orrialdera itxurarik.
>> Eta gero, gainera, ez da programa bat hizkuntza honetan biltzen du,
edo haren irakurri du, eta, ondoren, benetan tipografia egiten duzu,
eta spits horiek wonderful begira PDF puntuazioak.
Halaber, PNG formatuan edo dena eskuratu ahal izango duzu.
Pentsatzeko modu ona da horren analogiaz da
LaTeX duten moduko LillyPond bezala, baina besterik tipografia arruntak.
Beraz ordez of-- ez da WYSIWYG, Zer duzu ikusi
Duzuna lortzen, bezala, esan Finale da, edo Sibelius,
edo Microsoft Word, non idatzi dezakezu denbora errealean eta zirriborroa denbora errealean gauzak
eta ikusi aldaketak berehala.
>> Da testu oinarrituta.
Zure konpilatu behar duzu aparteko programa bat erabiliz partiturak
eta PDFak zaitez geroago.
Hau da, apur bat gutxiago erabiltzeko erosoa bazaude
zuzenean idazten saiatzen puntuazio bat sartu eta zu
ordenagailuan konposatzen nahian.
Baina ez dira asko da abantaila.
One, asko nicer itxura du, LillyPond benetan delako
denbora hartu egin Diseinuaren erabakiak behar bezala,
Sibelius edo Finale, bertan izan ez bezala arriskutsua algoritmoak egiteko orain
Hori erakusteko ahal izango dute denbora errealean gauzak.
>> Beraz, zergatik da LilyPond-- infografia zaila da.
Musika ezer egiten ari bada eta partiturak egindako idatzi nahi duzula,
Ez duzu idatzi nahi zuk zeuk dena
nola marraztu duten hasita Langileak eta nola oharren marrazteko.
Oso zaila da. Honez egin aurretik.
Fina zara.
>> Finale edo Sibelius erabili nahi baduzu, fitxategia gauza horiek formatuak
oso konplikatuak dira, eta ezin duzu benetan erabil itzazu programazioaren.
Ireki dezakezu Sibelius Finale batera eta joan Fitxategia, Export PDF gisa zeure burua,
baina ezin duzu benetan deitzen duten gidoi bat.
LillyPond baduzu, deitu gidoiak horiek.
Erraz ahal izango duzu batetik bestera joateko LaTeX LillyPond.
Ezin izango dut denbora askorik duzula joan oraintxe teknologia horiek sartu,
baina existitzen dira.
Begiratu nahi baduzu LillyPond liburu batean,
Hori dator programa bat da Zure LillyPond banaketa,
eta hori errepikatzean da LillyPond LaTeX sartu zatiak
Zerbait egin nahi baduzu musikologia dokumentu handi bat bezala
adibide, esate baterako.
Eta maila ona eman da Bizitza duzu ezer egiten ari bada
musika, eta ez bakarrik CS50 batera.
Erabili dut LillyPond guztientzat Nire konposizio proiektuak
funtsean nintzenetik bat batxilergoko senior.
>> Hortaz, hona hemen adibide xume batzuk.
Hau da, funtsean ordezkari Zailtasun-mailaren
jende gehienak litzateke aurre egiten saiatzen ari zirela
LilyPond erabiltzeko proiektu sinpleak egiteko.
Lehenengoa hau hasiera besterik ez da Chorale atarikoa Bach-ek.
Bat behean Hau zatia da nire lanak batetik,
eta besterik ez da agertuko [INAUDIBLE] nahi duzu gauzak
lerro bat baino gehiago jarriz berean langileak, nola liriko undersetting lan egiten du.
Lyric underlays hori oso gauza bat dira erraza LilyPond erabili musika korala da.
>> Eta, beraz, orduan, batzuk gehiago Adibide konplexuagoa izan.
Horiek guztiak egiten dira LilyPond eta dute bideragarria ari.
Lehenengo zatia honetatik da [INAUDIBLE] [INAUDIBLE] arabera.
Eta hau [INAUDIBLE] etik bakarkako baxu lan bat sortu
[INAUDIBLE] ek flauta, Nork longtime-- da nor
longtime kide bat izan zen musika departamentu hemen, uste dut.
Ez dakit non, baina joan den off.
Baina Harvard aholkulari izan zen Konpositoreak Association denbora luzez.
Wonderful gizon.
Eta duela oso musika batzuk idazten zuen notazioa konplikatua dela LillyPond
hala ere kudea ditzakeen oso nicely.
>> Beraz, besterik ez duzu zentzu bat emateko zer Gauza hau gaitasunak are-- orain
LillyPond barnekoak Oso zaila.
Eta erabili ahal izango duzu Denbora luze bat, besteak beste,
batzuk nahiko konplikatuak egiteko benetan gauza, gabe
Horietako asko ezagutzen beharrik.
Baina oinarrizko ideia on txikiena mailan, LillyPonds atomo
notak dira.
Notak dauka ahotsak izeneko testuinguruan.
Beraz, ahots testuinguruan funtsean dagokio
polifonia lerro bakar batean.
Eta gero, testuinguru izan daiteke hierarkikoki jasotako
Maila altuago direnak direla puntuazioaren Langileak ordezkatzen
edo atsegin Batasun handiago piano Langileak edo abesbatzak Langileak,
eta gero, azkenean, puntuazio testuinguruetan osoan.
Eta egiazki hartzen ahal duzu Liburu batean anitz partiturak.
>> Eta testuinguru guztietan du bat atxikitako grabatzaile kopurua.
Begiratuz gero bitartez Testuinguru baten edukia
eta zenbait ikur edo inprimatu ikurrak beharrezkotzat jo klase jakin.
Beraz, ahots testuinguru guztietan, han [INAUDIBLE] notak
grabatzaile hori da, funtsean, funtzio bat edo Hori idazten egindako ohar guztien objektu bat
orri baten zatiak erdiraketa buruak.
Orduan ez cleft grabatzaile bat, eta horrek idazten egindako clefts langileek.
Orduan ez metronomoa da marka grabatzaile dagoela
Metronome markak idazten egindako puntuazio bat ere.
Eta horiek guztiak egokitzeko nahiko bai hierarkia.
Eta da, oso, oso, oso customizable, bertan behar duzun
Horrelako gauza lortu nahi izanez gero.
>> Beraz, zer esparrutan guztiek dute bat ezaugarri ezberdinak asko
dena dela zuk alda ditzakezun hainbat letra-tartea batetik
Gauzen tamainak hautaketa.
Are gehiago egin nahi baduzu Gauzak konplexuagoak,
ez kapsulatutako scripting hizkuntza da.
Eskema, erabiltzen duten Lisp dialektoak da.
Hauek Ziurrenik ez esan nahi ezer.
Baina, batez ere, eskema bat funtzionala beste
programazio hizkuntza, gehiago edo gutxiago.
>> STEPHEN KREWSON: jakinarazi gorbata.
>> CONNOR HARRIS: Bai.
Gorbata-ona da, suposatzen dut.
Eta irakaskuntza hizkuntza gisa erabiltzen da, benetan, Mass Ave behera MIT.
Eta oso LillyPond erabilgarria da hainbat arrazoi teknikoak.
>> Eta hain erraz egin nahi baduzu Tweaks baldintzazkoak menpe,
Esate for han zenbait puntuazio bat baldintza hori ezagutu,
joan alterazio egiteko diseinua edo whatnot-- gero
instalazio horiek.
Konplikatzen ari dira.
Hortaz, hona hemen kodea lagin nahiko sinplea da.
Bost lerro da.
Funtsean, bi Langileak definitzeko naiz.
Da 3/4 da.
Lehenengo langileek ditu bati atxikitako tempo-ikurra
Baina hori benetan joan joan den puntuazio osoari,
tempo markak delako puntuazio maila dira.
Metronome marka grabatzailea eransten zaio testuinguru lortuz.
Badira botoi, [INAUDIBLE] grabatzaile delako
da plantillen erantsita.
Benetan egin ahal izango da.
Lagina idatzi dut benetan C handietan,
baina besterik ez da erakusteko aukera ditzakezu
Langileak desberdinetan gakoak desberdinak.
Eta oinarrizko sintaxia da idatzi duzula E, F, G, edozein dela ere izenak.
Akzidentalak egin nahi izanez gero, atzizkia duzun da edo ES.
Hau Holandako ra dago musikologiko konbentzio.
>> Eta zortzidun jauzi egin, erabili behar duzu horiek marken, koma edo apostrofoa.
Erlatiboaren besterik esan nahi du edozein dela ere ohar bat egin behar duzu,
automatikoki batean plaec zortzidun aurrekoarekin hurbilen.
Eta baino gehiago jauzi egin nahi baduzu bosgarren edo more-- esan fifth--
ondoren, [INAUDIBLE] erabili ahal izango duzu.
Baina bestela, ez duzu nahi Zehaztu ohar bakoitza zortzidun du.
>> Eta erlatiboa C, prime, eta C, zehaztu besterik ez duzu saguaren erdiko C
eta base C, bereziki lehen notak.
Ondoren Langileak hauek antolatzen dituzten behar duzu bi ahots hauek edo musika laginak,
eta hogei bat behar duzu.
Eta itxura hau.
>> Denbora hartu nahi baduzu LillyPond lagin hori kopiatu
Aurreko on kodea irristatu behera hemen, eta zuk
bertan idatzi ahal LillyPond zeuk.
Ezagutzen dut lortu dugu zerbait Hori asko itxura hau atsegin dute.
Beraz, ez da teknologia bat da Musika XML izeneko mantendu
Jende guztiz desberdinak.
XML testual baten datuak structure-- dut da ez luke esango datuak structure-- esan
Metafora mapa moduko.
Eta eutsi diseinatu da Datu hierarkikoa oso ondo.
HTML, adibidez, XML mota bat da.
Eta XML esan dezakezu dutelako Izan angelu parentesi eta angelu guztiak
parentesi slash markak Datu show eremuak direla.
>> Ez dut kode bat Musika XML adibide.
Aurkitu ahal izango duzu zeure burua.
Funtsean, arrazoia agian nahi duzu XML erabiltzeko bitarteko fasean bezala
da, lehenik eta behin, da, trukaketa formatu bat
funtsean every-- ez da esan behar dut guztietan, baina puntuazio ezberdinak asko
idazleak.
Beraz Musikan idatzi baduzu XML, ez bakarrik LillyPond dezake
irakurri zuen auxilary honen laguntzaz Musika XML izeneko programa LY den,
baina, aldi berean Finale irakur daiteke bertan, Sibelius ekitaldia.
Zure barneko nola objektuaren arabera hierarkia musika ordezkari lan egiten du,
errazagoa izan daiteke idazteko Musika XML LillyPond baino
eta besterik Music XML fidatu LY bihurtzeko egin.
>> Ez dut uste [INAUDIBLE] Music XML ditu.
STEPHEN KREWSON: Ez du.
Norbaitek da lanean, baina.
>> CONNOR HARRIS: OK.
Euterpea ez dute bat Musika XML irteera funtzioa oraindik.
Azken proiektua ideia bat egin nahi izanez gero, agian, mutil harremanetan jartzeko
Stephen hori badaki, eta Zure laguntza erabili izan dute.
>> STEPHEN KREWSON: noiz gustatuko litzaidake.
CONNOR HARRIS: Era berean, funtsean, programazio hizkuntzetan guztietan
hori da bere gatza merezi Dagoeneko XML liburutegi bat du,
beraz, barrutik bihur ditzakezu guztiak Zure musika objektu batzuk sartu
XML liburutegia idatzi daiteke duten gutxiago beharko litzateke
Zure barne egitura aldaketak musika objektuak edozein dela zuretzat
saiatu idatzi baino idatzi nahi LillyPond zuzenean litzateke.
Ondoren, besterik inprimatu dituzten XML XML liburutegietan zure hizkuntzan,
dela, eta horrek bermatuko du sintaktikoki zuzena eta dena,
eta, ondoren, bihurtu LillyPond izateko.
Beraz, teknologia behar duzu nahi duzu zerbait egiten ari bada begiratu
horrela.
>> [INAUDIBLE], beste auxilarry teknologia.
Hau da, funtsean Tech dabil edo Tech Studio LillyPond da.
Beraz, laguntza eskaintzen dituzten da sintaxia, templates
hainbat komunetarako tresnen konbinazio.
Zatitutako pantaila orain ikusten uzten ditu Zure kodea izan dezakezu leiho batean
eta beste leiho batean PDF eta Ezkutatu PDF lekuak
garrantzitsua du jauzi Zure iturburu lekuak.
Hau da erabilgarria benetan zaren bada idatziz LillyPond fitxategiak yourself
zuk sortzen ari bada baino programazioaren horiek.
Baina, berriro ere, da Zerbait baliagarria izan.
>> Great.
Resources-- Another besterik ez dut honen bidez, oso azkar.
LillyPond manuals-- LillyPond ditu Bere webgunean dokumentazio bikaina.
Tutoretza bat dute.
Sintaxia erreferentziatzat dute.
Mozkinak ehunka dute Hainbat gauza txikiak
Baliteke yo frogatu egin behar hainbat gaitasun.
Erabili nahi baduzu scripting hizkuntzaren
edo zabalagoak egin customizations, gero, ez da
barnekoak URL horretan erreferentzia.
Musika XML erabili nahi izanez gero, ez da URL horretan, musicxml.com/tutorial.
>> Eta gero, eskema ikasi behar baduzu duzulako benetan erabili nahi
scripting LillyPond instalazioetan, gero, ez da [INAUDIBLE] izeneko bat
Interpretazio egituratuak ordenagailu-programak,
hau da, bigarrena bakarra handienak CS testuliburua inoiz written--
aurkituko me gutxira jakin nahi baduzu zer egin is-- bat handienak uste dut
baina, aldi berean da, oso ona Hizkuntza egoki sarrera.
Ez duzu behar baino gehiago Lehenengo atal batzuk.
>> Eta hori da.
Galderarenbat?
>> Ikaslea: Non egin dezaket deskargatu Sortutako zure Frere Jacques
beraz, jarri ahal izango dut nire iPod?
>> STEPHEN KREWSON: Beno, idatzi ditzakezu wav Euterpea ere fitxategi batzuk daude.
Eta kode duzu.
Da GitHub da.
Egin zure baten aldaerak egin Frere Jacques CS50 hive mind arabera.
Handia litzateke.
CONNOR HARRIS: inork?
STEPHEN KREWSON: behar dugu baxu danborra hobea, too.
Benetan txarra da.
>> Ikaslea: Euterpea bakarra dauka konposizio aldean, baina signal--
STEPHEN KREWSON: Bai.
Izan ere, lan dut Euterpea ere egin nuenean
tuvo Halako ez da bat graduondoko ikastaro Yale duten
erabiltzen it zen soinu sintesi on.
Beraz, ez da benetan bat modu polit geziak erabiliz
eta idazkera ikusi dugu batzuk seinalearen funtzio elkarrekin konposatzen.
Bereziki, gehienak Baxu Horietako sine olatu sinple bat besterik ez da.
Baina horiek konposatzen hasten bazara bitxi programazioko modutan,
ero soinua lortu dezakezu ondorioak, goitik bitxi bezala.
Oso gritty sor ditzakezu modulazio asko soinuak.
>> Granular buruzko proiektu bat egin nuen sintesia, hau da,
FM eta laginketa nonbait artean.
Oso txikia hartu duzu, laginak txikiak, eta, ondoren,
horiek konbinatu nolabaiteko modulatzaile eta eraikitzeko soinu aberatsagoa.
Halaber maketatan egin dugu, beraz, to fisika pentsatzen saiatzen
eta antzeko zerbait Psychoacoustics tronpeta bat, eta horrela pentsatzen
soinua itzulerako off tronpeta kanpaiaren
eta akustika gela eta modelaketa
Oinarrizko osziladoreak egin duten.
CONNOR HARRIS: Eskerrik asko hainbeste.
Eskerrik asko etortzeagatik.
Eta prest nago beti galderak hartuko email-- arabera
connorharris@college.harvard.edu.
>> STEPHEN KREWSON: Bai. stephen.krewson@yale.edu.
Cool.