CONNOR HARRIS: Hi.
Tá mé Connor Harris.
Tá mé CA CS50 ag Harvard.
STEPHEN KREWSON: Tá mé Stephen Krewson.
Tá mé ina TF do CS50 ag Yale.
CONNOR HARRIS: Agus táimid ag dul chun labhairt faoi ​​roinnt teicneolaíochtaí a d'fhéadfadh tú
iarraidh úsáid a bhaint má tá suim agat a dhéanamh ar thionscadal deiridh nó i ndáiríre
rud ar bith le ceol.
Táimid ag dul a bheith ag díriú ar dtús teanga cláir a dtugtar Haskell.
Tá sé ina feidhmiúil teanga, agus mar sin an paradigm
Tá an-difriúil ó C nó PHP nó teangacha riachtanach eile
go atá tú úsáid cheana féin, agus go háirithe ar leabharlann scríofa i Haskell
ar a dtugtar Euterpea, ar féidir leo cabhrú le daoine le scríobh ceol feidhmiúil,
go bunúsach.
Agus beidh Stephen shiúlann tú trí sampla iontach de sin.
>> Tar éis seo, beidh mé tú a thabhairt isteach chun rud ar a dtugtar LillyPond, a
Is teicneolaíocht don cheol clóchuradóireacht.
Tá sé saghas cosúil le LaTeX don cheol más aon cheann de tú
bhain úsáid LaTeX do ranganna math nó ranganna a leagtar P eile nó a bhfuil tú.
Agus mar sin beidh mé a thabhairt duit, arís, roinnt samplaí simplí de sin
agus pointe tú sa gcoitinne treo roinnt acmhainní níos fearr.
>> STEPHEN KREWSON: I Ina theannta sin, shíl muid é
bheadh ​​cool a chur ar bun le beagán de leideanna
i dtreo píblíne idir Euterpea-ghintear comhaid MIDI
i LillyPond, mar sin a chuirimid ar fáil roinnt teagasc ar scripteanna
é sin a dhéanamh go bhfuil ar fáil le LillyPond
ach a choinneáil foinse oscailte agus a fháil ar píblíne ag dul.
CONNOR HARRIS: Arís, Ba chóir go gcuirfí béim,
dá teicneolaíochtaí, tú nach bhfuil a iad a úsáid le chéile.
Ní bhíonn siad ag a ceapadh chun obair le chéile, cé go bhfuil siad an-nicely.
>> STEPHEN KREWSON: Ceart.
Agus go hiomlán saor in aisce.
CONNOR HARRIS: Mar sin, admhálacha, a léamh ach go.
STEPHEN KREWSON: go cuí faoi deara.
Go raibh maith agat do na folks.
Seo beidh mé linger ar díreach ar feadh nóiméad.
An próiseas a shuiteáil Is le beagán tricky.
Táimid tar éis a léamh dom ar an GitHub gur féidir leat a chur le breathnú ar.
Just a ríomhphost chugam má tá aon cheist agat.
Ach beidh muid ag siúl seo faoi na toimhde go bhfuil an ag obair do gach duine.
CONNOR HARRIS: Agus más rud é nach féidir leat fháil LillyPond a bheith ag obair, aon déileáil mór.
Níl aon tiomsú beo go Beidh a bheith i gceist, ar a laghad ar mo deireadh.
STEPHEN KREWSON: Haskell agus Ba chóir go mbeadh LillyPond suiteálaithe araon.
Tá Euterpea íoslódáil mar phacáiste, mar sin de agus mar sin de.
Mar sin, tá muid ag caint faoi cheol ríomhaire.
Agus é seo ach an-fhonn 50,000-chos.
Níl roinnt gnéithe éagsúla de.
Agus é seo garbh agus is ag dul a gcuirfidh go mion.
Ach d'fhéadfadh muid a smaoineamh ar rud éigin cosúil le comhdhéanamh algorithmic,
ag baint úsáide as halgartaim, ag baint úsáide as cód, a ghiniúint
roinnt de chineál of-- b'fhéidir féin-den chineál céanna ord na nótaí, nó b'fhéidir nótaí
faoi ​​roinnt shriantacht.
Agus ansin d'fhéadfadh iad siúd a bheith dhéantar nó léirmhíniú
le hionstraimí aschur nó aon rud mar sin.
Ach bhí an comhdhéanamh rinneadh algorithmically.
>> Ach ar ndóigh, b'fhéidir an limistéar ceol ríomhaire nó ceol digiteach
tá muid níos mó eolas go bhfuil digiteach sintéis fuaime nó sampláil digiteach
agus taifeadadh digiteach.
A lán de uirlisí digiteacha Déantar é seo trí samplála digiteach.
Go deimhin, beidh orainn a bheith ag baint úsáide as ceann amháin de na daoine i bhfoirm leabharlann cló fuaime níos déanaí.
>> Ach rud éigin ann freisin ar a dtugtar sintéise digiteach a tháinig amach
de na '70s agus isteach sa' 80s déanach leis Yamaha agus John Chowning ag Stanford
ag déanamh FM sintéis nó Sintéis modhnú Minicíocht,
áit a raibh tú iompróir comhartha agus comhartha mhodhnaithe
araon i speictream fuaime.
Ach cad tá muid ag dírithe ar Tá lá atá inniu ann rud ar a dtugtar MIDI,
agus ar ndóigh, comhdhéanamh algorithmic.
>> Níl muid ag dul chun ionstraimí a dhéanamh, ach táimid ag dul ina ionad sin a dhéanamh ar roinnt ceoil,
agus ansin beidh a fháil a léiriú ag roinnt ionstraimí a
Tá conformant chuig an caighdeán ginearálta MIDI.
Mar sin, cad atá MIDI?
Níl mé ag dul a fháil ró-dhomhain isteach é, ach tá MIDI prótacal aistriú sonraí.
Tá sé ar chineál an treoir ar fud cuideachtaí agus tionscail éagsúla
do fuaimeanna nó paistí a eagrú.
Mar sin, beidh orainn a fheiceáil go níl caighdeán MIDI
do na cnaguirlisí éagsúla fuaimeanna agus moltaí MIDI
do na cineálacha éagsúla Sintéiseach nó cineálacha éagsúla de na hionstraime
grúpaí i ceolfhoireann, a rá.
>> Tá tú eolach is dócha 0 trí 127 teachtaireachtaí MIDI.
Tá comhartha MIDI de ghnáth giotán amháin ag léiriú
bíodh sé ina sonraí nó data stádas, agus ansin níl
seacht píosaí de comhartha.
Agus is féidir leis na rialú gach rud ó toirte
don ghníomh nó brú ar eochair ar leith
má tá tú ag feidhmiú le MIDI rialtóir chomh maith le, ar ndóigh,
nótaí.
Agus ar ndóigh, tá MIDI thar a bheith úsáideach,
mar tá sé ar bhealach chun sreang le chéile nó slabhra Nóinín
a bunch de feistí crua-earraí MIDI.
Tá mé seacht nó ocht ais ar mo theach.
Faigheann sé casta i ndáiríre, ach tá sé i ndáiríre cumhachtacha.
Agus tá sé i ndáiríre d'aois.
Tá sé ó na '80s go luath, agus tá sé i ndáiríre deas agus beag.
CONNOR HARRIS: Yeah.
Gach an Nintendo clasaiceach bheadh ​​cluichí físeáin is dócha
bhfuil comhaid MIDI don cheol, mar shampla.
>> STEPHEN KREWSON: Seo sampla de MIDI ginearálta,
ag taispeáint MIDI mar chineál de prótacal ginearálta.
Agus is dóigh liom gur féidir linn smaoineamh ar an difríocht idir an tsonraíocht
gur chóir go mbeadh rud éigin cosúil le fuaimeanna na ionstraim agus an iarbhír
réadú na n-ionstraimí fuaimeanna i cló fuaime nó MIDI áirithe
sintéiseoir mar an difríocht idir b'fhéidir typeface-- a deir,
go ginearálta, is é seo an dearadh Ar an mbealach seo go háirithe chun ionadaíocht
characters-- agus cló ar leith go bhfuil méid ar leith agus thondath,
agus níl réadú the--
>> CONNOR HARRIS: B'fhéidir a bheadh ​​comparáid níos fearr
bheith ar an gcaighdeán Unicode says-- tugann sé roinnt le gach carachtar, agus i ndáiríre
gach teanga ar fud an domhain, nó sraith mór na scripteanna teanga
ar fud an domhain, agus ansin iad siúd rinneadh i rud éigin grafach
ag pacáistí cló éagsúla.
Agus ar ndóigh, is féidir leat smaoineamh ar MIDI mar an Unicode fuaime.
Agus tá sé ach liosta of-- sruth mór na n-imeachtaí agus ionstraimí agus whatnot,
agus caithfidh tú a bheith ar leithligh clár, cosúil le cló,
i gcóir chun gur i rud éigin go bhfuil inchloiste.
>> STEPHEN KREWSON: Sin, cén fáth Haskell?
Is Haskell tá cláir feidhme teanga,-dul chun cinn,
an-difriúil ó C, an-difriúil ó PHP.
Agus táimid ag dul a fheiceáil go bhfuil ann éasca le comhdhéanamh feidhme i Haskell
a ligfidh dúinn a Breeze trí cumadóireachta nó clóscríobh suas, transcribing,
rud éigin cosúil le Frere Jacques, amhrán seo simplí go
Tá a lán de na codanna ann go Tá féin-den chineál céanna nó athrá.
Mar sin, beidh sé seo a bheith ar roinnt de an spreagadh le haghaidh cén fáth
táimid ag ag baint úsáide as Haskell, ina bhfuil Tá feidhmeanna saoránaigh den chéad scoth.
>> Agus bhí mé a leathnú seo le beagán.
Tá sé rud beag beag éasca le chlárú a Frere Jacques i Haskell.
Ach cad má bhíomar ag iarraidh add a cuid druma dó?
Cad a tharlaíonn má bhíomar ag iarraidh chun iarracht a dhéanamh rud éigin cosúil le Roland 808 nó 909 druma
meaisín áit a bhfuil tú thart ar 16 céimeanna éagsúla?
De ghnáth is iad seo cumha mar 16ú nótaí.
Agus is féidir leat a rialú an domhanda tempo, agus is féidir leat a phiocadh amach
a bunch na codanna cnaguirlisí éagsúla de druma Bass, le bualadh bos, sreangdhrumaí éagsúla,
hataí arda oscailte agus dúnta ar na saghas cainéil,
agus ansin is féidir leat EQ nó choigeartú dá dtoirt.
>> Agus beidh orainn a fheiceáil ar bhealach deas i Haskell a ionadaíonn an chéim
sequencer leis na rudaí fionnuar éagsúla i Haskell
Is féidir linn a dhéanamh leis a ghiniúint liostaí agus scagadh thar liostaí,
mapáil thar liostaí, mapáil feidhmeanna thar liostaí.
Agus leithscéal tapaidh.
Is é seo an cursory an- agus sceitse ró tapaidh
de roinnt de na gnéithe de Haskell agus Euterpea,
a bhfuil fearann-sonrach teanga leabaithe scríofa
i Haskell do chineálacha ceoil.
Mar sin, le do thoil déan seiceáil amach an cód ar líne.
Dóiteáin suas GHCI, a bhfuil an Glaschú Haskell Tiomsaitheoir Ateangaire.
Agus beidh mé ag déanamh roinnt de seo i beagán
ionas gur féidir leat a fheiceáil conas a dhéanfar é.
>> Agus ceadaíonn sé seo duit a luchtú isteach le the-- é an error colon agus ansin
an t-ordú.
Is féidir leat a luchtú i gcomhaid.
Is féidir leat é a úsáid brabhsáil ar na comhaid sin a fheiceáil go léir na feidhmeanna go
ann i modúl ar leith.
Agus ansin mar beidh orainn a fheiceáil, cineálacha agus cineál Tá ranganna chomh tábhachtach i Haskell,
ionas gur féidir leat check-- i gcónaí go háirithe má tá tú ag obair i DSCL nua
mar seo, cad é cineál ceoil?
Tá a fhios agam mar gheall ar an mbealach uimhriúil cineálacha oibre i Haskell,
ach níl a fhios agam i bhfad faoi cheol.
Ach is féidir leat iniúchadh a dhéanamh ar an mbealach a bhíonn siad arna sainiú ag baint úsáide as an t-ordú nó cineál
agus ansin ag glaoch i leith fheidhm nó rud sonraí.
CONNOR HARRIS: Yeah.
Má cheap tú C agus Clang Bhí hardass faoi chineálacha,
tá tú aon smaoineamh faoi Haskell.
Is é an rud go maith faoi Haskell go más féidir leat a fháil ar do cód a chur le chéile
agus más rud é seiceálacha cineál Haskell, is dócha ceart,
toisc go bhfuil an córas cineál sin dian.
>> STEPHEN KREWSON: Yeah.
Mar sin, ba mhaith liom ach chun dul through-- agus arís,
nach bhfuil sé seo á dhéanamh justice-- sé cúpla de na gnéithe de Haskell go, ar a laghad,
lena creators-- agus bhí sé cruthaithe sna 1980í déanacha ag a bunch de na daoine,
coiste de thart ar 20 people-- shíl bhí tábhachtach.
Agus an chéad rud siad liostaithe i bpáipéar a
cur síos ar an genesis de Haskell thar an chéad 20 bliain nó mar sin
ná go raibh sé leisciúil.
Mar sin, cad a chiallaíonn sé?
>> Bhuel, ciallaíonn sé nuair atá againn chineál éigin a nochtadh, ní mór dúinn chun meastóireacht a dhéanamh air.
Agus a dhéanann Haskell seo i glao trí riachtanais slí nó ar bhealach neamh-dian.
Is é sin, má tá muid a bunch de comhpháirteanna ar ár focal,
déanaimid ár ndícheall chun moill an meastóireacht de na subcomponents
go dtí an minute-- iomlán deiridh is é sin go dtí go bhfuil gá againn i ndáiríre iad.
>> Mar sin, a bhfuil an means-- really cool, go háirithe
má tá muid ag smaoineamh ar an astarraingt de sequencer céim ceoil.
Chasann tú é ar, agus dtosaíonn tú reáchtáil sequence-- céim
má d'oibrigh tú riamh le druma machine-- agus téann sé ach go deo.
Mar sin, bheadh ​​sé gur deas má táimid D'fhéadfadh aithris go bhfuil i Haskell.
Agus is féidir linn é a dhéanamh le gan teorainn luachanna, i liostaí ar leith gan teorainn.
Tá sé an-éasca le cineál ar liosta gan teorainn i Haskell.
D'fhéadfá a úsáid ach an error síos anseo, áit a bhfeiceann tú 1 trí 3,
bain an 3 1 ponc ponc, agus go bhfuil an liosta gan teorainn
de na huimhreacha aiceanta leathnú ar chomh fada agus is féidir leat a shamhlú.
>> Ba mhaith liom a thabhairt isteach coincheap na folds ar an bpointe boise.
Agus arís, an cuspóir de nach bhfuil an seimineár
chun foghlaim faoi folds i Haskell nó feidhmeanna ord níos airde.
Ach ba mhaith liom ach a thabhairt isteach é a thabhairt le tuiscint cruinn ar conas aisteach
Tá Haskell agus cé chomh cumhachtach is atá sé.
Agus go háirithe, táimid ag dul chun be-- nuair a dhéanann muid ár páirteanna druma éagsúla,
táimid ag dul a bheith ionramháil liostaí de uimhreacha, iad fillte ar a chéile.
Agus sin a dhéanamh go, beidh orainn bheith ag baint úsáide léarscáileanna agus folds.
>> Níl a associative ceart huaire, a bhfuil an ceart seo ar cheann
here-- 1 lúide an chainníocht, 2 lúide an méid, 3 lúide 0.
Agus an chomhréir le haghaidh huaire, a thabhairt duit huaire
luach bonn agus ansin operation-- sa chás seo, suimiú nó dealú.
Tá mé léirithe dá chás.
Agus ansin níl an accumulator go accumulates thar an liosta iomlán,
a chur i bhfeidhm go móide oibreoir nó lúide, agus ansin accumulating air.
Mar sin, beidh sé seo a bheith the-- má bhí sé ar a dtugtar le r huaire móide de 0, ag tosú le 0,
ba mhaith linn suim ansin go léir na huimhreacha sa liosta sin.
Agus sin liosta ó 1 go 3.
CONNOR HARRIS: Mar sin chun é a chur eile bhealach, a thógann huaire r trí argóintí.
Níl feidhm go Bíonn féin dhá argóint,
ansin níl a luach tosaithe, agus níl liosta de luachanna.
Agus cad a dhéanann tú é a ghlacadh tú luach tosaithe, an chéad luach,
iad a chur isteach ar an fheidhm.
Cad a dhéanann tú a fháil amach, ghlacadh go, beatha a
isteach an fheidhm atá leis an an dara luach, méid a fhaigheann tú amach,
ghlacadh go, beatha go isteach an feidhm de chuid an tríú luach.
Agus ansin má théann tú síos an liosta iomlán ar an mbealach seo,
tú ag dul a fháil sa deireadh roinnt luach uatha go
den chineál céanna an méid a thosaigh tú amach leis agus den chineál céanna
mar rudaí ar an liosta, agus ansin sin an toradh ar ais huaire R.
STEPHEN KREWSON: Mar sin, go háirithe, Is iad na feidhmeanna ord níos airde,
toisc go bhfuil siad ag cur eile feidhm mar cheann de na hargóintí.
>> CONNOR HARRIS: Yeah.
Má tá tú ag úsáid eile áirithe languages-- tá a fhios agam R, [inaudible]
Tá an teanga seo, ar a dtugtar a laghdú.
D'fhéadfá a bhfuil feidhmeanna cosúla acu i dteangacha eile, ach ar a dtugtar
rudaí éagsúla.
>> STEPHEN KREWSON: Agus cad atá deas faoi huaire R
Is sa chás seo go huaire Is féidir le R obair le liostaí gan teorainn.
Mar sin, sa bun, P5 seo Tá ghiniúint na nótaí go
Tá iompaithe ar an sequencer chéim do roinnt chuid druma, an cúigiú cuid druma,
agus b'fhéidir go bhfuil sé ina conga druma nó rud éigin.
Agus é seo d'aon ghnó bhealach maoluillinneacha na scríbhneoireachta seo,
ach tá sé spraoi, mar gheall ar Léiríonn sé go leor
de rudaí mar gheall Haskell agus Euterpea.
>> Mar sin, huaire R den colon colon-- é ach oibreoir a pushes rudaí
le chéile ar a dtugtar list-- ar folamh liosta, a bhfuil ach na lúibíní folmha.
Agus tá mé ag glaoch go ar an liosta gan teorainn.
Sé seo i ndáiríre dhá liosta shuimiú le chéile síos anseo.
An liosta 1 camóga 6 ponc Is ponc 1, 6, 11, 16.
Mar sin, Haskell-- i díreach cúpla carachtair, tú
Is féidir a ghiniúint an fad ord na n-uimhreacha
go bhfuil cúig uimhir ó chéile síneadh ar i Infinity.
Agus réamhcheangal I a ghabhann leis sin an list-- beag níos giorra
3, 8, 21-- ach a thaispeáint duit conas is féidir leat liostaí comhcheangail.
>> Agus ansin tá mé fillte ar féin.
Agus a chríochnaíonn suas seo díreach a bheith ar chineál an oibriú aitheantais, ach tá sé gan teorainn.
Agus huaire is féidir R sin a dhéanamh, mar gheall ar é lazily meastóireacht, mar atá sa thuas.
Má táimid tar éis 1 agus 2 agus 3, is féidir linn ach lúibín as an chuid eile ar fad é.
Ní bheidh ag obair le haghaidh lúide nó móide, ach tá sé
Beidh ag obair le haghaidh an colon oibríocht aitheantais ar an liosta.
>> Mar sin, conas is féidir linn a úsáid go praiticiúil go má táimid go mbeadh liosta infinitely fada de rudaí?
Bhuel, soláthraíonn Haskell a lán de na functions--
agus táim níos mó i sin a chur i do time-- féin, mar shampla ghlacadh
a deir, OK, tá muid ghiniúint an liosta gan teorainn,
ach táimid ag dul díreach a chur roinnt líon na n-é Agus sa case--
beidh orainn a fheiceáil seo níos déanaí i ár code-- meaisín druma
Is GM ach roinnt de chineál domhanda athróg do líon na céimeanna
sa sequencer.
Ar na meaisíní rolladh i liom Léirigh tú, go bhfuil de ghnáth 16,
ach tá mé i bhfeidhm é le 32.
Ní chuireann sé ábhar i ndáiríre.
>> Is Haskell íon freisin, mar sin tá sé láidir clóscríobh statach a luadh Connor chun.
Mar sin, tá feidhmeanna matamaiticiúla sa sense--
tá siad níos matamaiticiúla go bhfuil siad ag ráthaithe
chun a rochtain nó a athrú de chineál ar bith athróg nó a chomhlíonadh ionchuir nó aschuir.
Mar sin, má tá tú feidhm, tá sé deterministic.
Beidh sé ar ais gcónaí mar an gcéanna luach i staid na gclár
nó fanacht mar an gcéanna.
Tá, ar ndóigh, eisceachtaí monadic leis seo, ach sin thar ár raon feidhme.
>> CONNOR HARRIS: Yeah.
Cad a chiallaíonn sé seo, cé go bhfuil, go bhfuil tá cúpla tábhachtach [inaudible]
hiarmhairtí seo.
Is é ceann go bhfuil sé an-éasca a parallelize cláir Haskell.
Toisc má tá tú, rá, feidhm de sin
riachtanais a oibriú ar luachanna milliún, más rud é tá a fhios agat go mbeidh an fheidhm i gcónaí
a thabhairt amach ar an luach céanna má beatha tú ag value-- áirithe
má tá tú [inaudible] f de 1, f de 2, ansin f de 3 nó whatnot-- f de 1
nach bhfuil ag dul a scríobh amach go comhad nó rud éigin a dhéanamh
a athrú ar an luach na f2.
Is féidir leat a scoilt ach suas an fheidhm seo do milliún meaisíní éagsúla nó milliún
snáitheanna éagsúla nó is cuma cad, fháil ar fad na freagraí ar ais,
fháil ar fad na luachanna ar ais ar ais, agus ansin go bhfuil sé.
Mar sin, an-éasca chun rudaí a parallelize.
>> Is é an downside go ionchur agus aschur go háirithe
oiriúnach isteach sa chóras cineál ar bhealaí an-chasta.
Ní féidir linn dul isteach go ceart anois, ach tá mé tú a spreagadh chun breathnú ar roinnt acmhainní
líne más mian leat chun foghlaim faoi sin.
>> STEPHEN KREWSON: Mar sin, cineál classes-- agus tá sé seo
Ranganna was-- de chineálacha bhí invented chun an fhadhb
fadhb ar ró-ualú oibreora.
Mar sin, bhíomar ag iarraidh a bheith acu le comhionannas idir na cineálacha éagsúla de rudaí.
Ar ndóigh, d'fhéadfadh muid a cheapann of-- comhionannas idir cineálacha uimhriúil
Tá an-éasca chun smaoineamh ar, ach cad faoi comhionannas idir liostaí?
Cad mar gheall ar an gcomhionannas idir struchtúir sonraí cos crann?
Agus is é seo go léir is féidir i Haskell mar gheall ar ranganna chineál.
>> Mar sin, má tá tú shainiú type-- áirithe sonraí agus anseo, tá na páirceanna imeartha ceoil.
Táimid ag dul ar deireadh le roinnt ceoil ríomhaire.
Mar sin, ní mór dúinn C, C géar, agus mar sin de agus mar sin de.
Mbaineann siad le bunch de ranganna chineál éagsúla.
EQ-- mbaineann siad leis an rang cineál eq.
Ciallaíonn siad tacaíocht oibríochtaí comhionannais.
Mar sin, is féidir leat a mheas cé acu ceann ord na primitives ceoil
Is mar cheann éagsúla mar an gcéanna.
>> Mbaineann siad leis an rang ordinal.
Ciallaíonn níl an ordú leis na.
Tagann D tar éis C. C géar a thagann i ndiaidh C chomh maith.
Mbaineann siad leis an rang thaispeáint, rud a chiallaíonn gur féidir leo
a chló le consól nó críochfort.
Mbaineann siad leis an aicme áirithe, a
Ciallaíonn sé sin cé tá na carachtair,
tá siad uimhriúil bun Ionadaíocht ag tosú ag 0
agus ag dul amach trí, áfach a lán rudaí anseo, 20 nó mar sin,
nó 30 nó 40, b'fhéidir.
>> CONNOR HARRIS: Agus nuair ní mór dúinn a cineál sonraí
go derives-- leis eochairfhocal "deriving--" aicme cineál áirithe,
ciallaíonn sé go mbeidh an tiomsaitheoir iarracht rud éigin a thógáil go huathoibríoch.
Mar sin, b'fhéidir go mbainfidh tú ag iarraidh a ar chaighdeán a shainiú ar bhealach éagsúil.
Feicfidh tú ag iarraidh a shainmhíniú C géar mar is ionann agus D árasán, mar shampla.
Leis an tógáil anseo, ní dóigh liom go C géar
agus beidh D cothrom a bheith comhionann, mar gheall ar Beidh an tiomsaitheoir go huathoibríoch
rá gach luach féideartha éagsúla Is éagsúil ó gach eile.
>> Mar sin, is féidir a shárú na implementations réamhshocraithe
de na cineálacha de ranganna.
Arís, ag féachaint ar an tagartha más ba mhaith leat a fháil amach faoi sin.
STEPHEN KREWSON: Agus anseo, i ndáiríre, beidh sé seo
bheith cabhrach do nuair chódú linn a níos déanaí.
Feicimid cuid de na hoibreoirí Infix le comhdhéanamh sheicheamhach,
comhdhéanamh comhthreomhar, agus mar sin amach, na pluses agus comharthaí comhionann
timpeallaithe ag colons.
Ciallaíonn sin gur féidir linn a imirt ar na éagsúla primitives ceoil i ndiaidh a chéile.
Sin comhdhéanamh seicheamhach.
>> Nó is féidir linn iad a imirt i comhthreomhar ag an am céanna.
Mar sin is féidir liom a bheith luach ceoil, agus ansin is ionann seo agus colons,
Infix oibreoir comhdhéanamh comhthreomhar, agus iad a imirt mar chineál de corda.
Agus táimid ag dul a úsáid nuair seo le chéile againn
ár gcuid druma lenár beag Frere Jacques-amhrán
a imirt an dá sraitheanna de Luachanna ceoil ag an am céanna.
>> Currying Curry is-- bhí caite ainm de Haskell Curry, a
Tá an íomhá Haskell ainmnithe i ndiaidh.
Agus ceadaíonn sé seo dúinn elegance deas nuair a bhíonn muid
scríobh seo go léir difriúil feidhmeanna nó scagairí a bhfuil muid
ag dul a bheith mapáil thar ár liostaí.
Feidhm de dhá arguments-- f ar x agus y--
Is féidir a léiriú mar f de x bhfeidhm ar y.
Mar sin, tá sé ina fheidhm de argóint amháin go bhfilleann
feidhm eile de argóint amháin.
Mar sin, ciallaíonn sé seo gur féidir linn a mhapáil ar fheidhm f de x thar liosta na y ar.
CONNOR HARRIS: Want a sampla a thabhairt de seo?
STEPHEN KREWSON: Yeah.
Tá mé sampla ar dheis anseo ó roinnt de na rudaí beidh muid ag scríobh.
Mar sin, a mhacasamhlú 2-- go maith, mhacasamhlú a ghlacadh
luach amháin, a bhfuil cé mhéad amanna rud éigin a mhacasamhlú,
agus ansin beidh sé a chur ar value-- de ghnáth liosta nó rud éigin.
Mar sin anseo, tá muid mapáil mhacasamhlú 2 thar liosta.
>> Mar sin, má mhapáil linn a aithris 2, má mhacasamhlú linn a 2 maidir
go dtí an chéad eilimint den list-- agus tá na liostaí de phrases-- ceoil
Beidh aird dhá cheann de "sleeping-- tú" mar sin tá tú codlata, tá tú ag codlata.
Mar sin, anois tá dhá.
Ach tógann aithris dhá argóintí, ach toisc go bhfuil muid a
currying agus ansin mapáil, Is féidir linn a ionadaíocht a aithris 2
bheith ar ais mar fheidhm de argument-- amháin replicating díreach faoi dhó.
Agus ansin tá muid ag chur i bhfeidhm go dtí gach eilimint ar an liosta de na frásaí.
>> Agus is é concat a Haskell bhfeidhm le flattening liosta.
Mar gheall ar aithris 2 Beidh tháirgeadh liosta de na liostaí.
Agus is é seo an fhoirm seo idirmheánach anseo.
Agus mar sin ansin is féidir linn concat nó flatten go amach faoi dhó.
CONNOR HARRIS: A simplí sampla de currying,
más rud é gur mhaith leat a like-- shamhlú go bhfuil f ach fheidhm iolrú a thógann dhá
argóintí agus tuairisceáin a táirge.
Mar sin, má tá tú f 4 5, tá sé 20.
Ach is féidir leat smaoineamh ar seo mar also-- tá tú feidhm f 4
go nglacann argóint agus tuairisceáin ceithre huaire argument-- seo ach
iarratas páirteach a ach argóint amháin 4.
Agus má tá tú beatha f de 4 5, a thabhairt duit 20.
Agus sin a simplí sampla de currying.
Tá sé de ghnáth ar cheann de na cinn téacsleabhar.
>> STEPHEN KREWSON: Lambda nathanna nó feidhmeanna gan ainm
Tá sainmharc Haskell eile.
Mar sin, más gá dúinn a whip suas beag aithris saol fheidhm,
ach a rá nach bhfuil sé i an leabharlann caighdeánach,
féidir linn a úsáid le error cosúil leis an méid seo a leanas.
Agus beidh orainn Breeze thar an.
Rud amháin go mbainfidh tú a fheiceáil go leor de sa meaisín druma Tá tá muid glaonna a dhéanamh
go rud ar a dtugtar scagaire, a mar a bhíodh,
Is mapáil feidhme thar liosta, tá sé ach
mapáil d'fheidhm Boole.
>> Mar sin, ní mór dúinn anseo sampla de ar gan ainm
fheidhm Boole sainmhínithe go ach a thógann luachanna lánúin.
Nach bhfuil sé seo go docht ag labhairt feidhm gan ainm.
Ach tá sé a shainiú le go error do brevity,
agus tógann sé seo ach x modúl n--
CONNOR HARRIS: Yeah.
Dá bhrí sin tá f feidhm de dhá argóint n agus p
go tuairisceáin feidhm go bhfuil féin feidhm de argóint amháin, is é sin x.
STEPHEN KREWSON: I oibreoirí Infix luaitear.
Cad iad na hoibreoirí Infix?
Bhuel, tá na hoibreoirí Infix an ghnáthshlí ionadaíocht againn oibríochtaí,
rá, i mathematics-- 2 móide 2 in ionad an oibreora móide
agus ansin dhá argóint 2 agus 2.
CONNOR HARRIS: Tá sé ar a dtugtar nodaireacht Polish droim ar ais, a bhfuil
téarma amhras orm go mbeadh aon cheann de tú a fhios.
>> STEPHEN KREWSON: Ceart.
Droim ar ais nodaireacht Polish nó réimír.
Ach shocraigh Haskell chun úsáid oibreoirí Infix.
Mar sin, is iad seo cuid de na cinn saincheaptha a
Sainmhínítear an Euterpea DSCL i Haskell.
Mar sin, bhí an comhdhéanamh seicheamhach.
Bhí sé seo comhdhéanamh comhthreomhar, agus tá sé seo Bhí ag teascadh comhdhéanamh comhthreomhar.
Agus beidh orainn gá go lenár inneall druma,
toisc go beidh orainn a úsáid na deireanach oibreoir sa mhéid is go tuple beag ann
a imirt ar an meaisín druma chomh lenár amhrán Frere Jacques.
Agus is é ár n-inneall druma ag dul a bheith gan teorainn.
Imríonn sé ach go deo.
Ach nach bhfuil an t-amhrán Frere Jacques.
Níl sé go fada.
Tá sé ach cúpla barraí.
Mar sin, ní mór dúinn chun stop a chur ar an meaisín druma mar luath agus a thagann an luach ceoil níos giorra
chun deiridh.
Agus sin oibreoir infixed Is cabhrach Super leis sin.
>> Agus nodaireacht Infix cosúil tá sé seo de chineál ar deas,
mar a deir tá tú feidhm mhaith ceanglófar, a thugann an rannán slánuimhir
de x ag rud éigin else-- brón orm, ba chóir a bheith ina agus b.
D'fhéadfá a scríobh sé mar a ceanglófar de b.
Mar sin, má tá tú eilimint put-- sampla eile de seo.
x eilimint i roinnt liosta, má chuir tú sé i Backticks, is féidir leat é a úsáid.
Cé nach bhfuil sé ina siombail cosúil le móide nó lúide nó tráthanna,
is féidir leat úsáid a bhaint as an t-ainm fheidhm mar sin i Backticks
mar oibreoir Infix, a bhfuil deas fionnuar.
CONNOR HARRIS: Arís, is é seo gach siúcra díreach syntactic, i ndáiríre.
Ní chuireann sé isteach ar an croí teanga.
>> STEPHEN KREWSON: Mar sin, a fheicimid anseo le haghaidh an frása deireanach ar ár amhrán Frere Jacques,
Bhí mé roinnt chords beag nó thrian ag baint úsáide as an comhdhéanamh comhthreomhar
oibreoir.
Is é seo an bealach eile de rá roinnt an méid atá againn ach ag rá.
Mar sin, is féidir leat a feidhmeanna léarscáil de argóint amháin thar liostaí.
CONNOR HARRIS: Arís, tagairtí do téacsleabhair tosaigh Haskell--
beidh seo ar fad ann.
>> STEPHEN KREWSON: Mar sin, tá anseo le go leor líne lárnach den sequencer chéim
beidh orainn a chur le breathnú ar úsáid a bhaint as liosta tuisceana.
Agus féach againn anseo go eilimint i oibreoir seasta i Sleachta ar ais.
Mar sin, má tá x gné ar an liosta de x ar, ansin beidh muid ag glaoch suas feidhmeanna perc.
Dá bhrí sin tá perc ach feidhm cnaguirlisí.
Bíonn sé roinnt luach p go mar chuid de shraith teorantach ar fad
na fuaimeanna cnaguirlisí éagsúla a chonaic muid i sleamhnán roimhe seo,
agus ansin tugann sé go ré nóta ráithe.
Eile tugann sé sé QNR, agus QNR ach a chuid eile nóta ráithe.
>> Mar sin, is é seo a thógáil suas rud éigin deas.
Ní mór dúinn liosta na n-eilimintí, agus beidh muid lúb thar roinnt liosta ó cheann
leis an luach max ár sequencer chéim.
Agus nuair a bhíonn muid ag i leith i an liosta sin de amháin go dtí an luach max,
más i ina bhall de seo leagtha cruthaíodh i an fheidhm seo,
go maith, ansin dúinn dul sé i nóta cnaguirlisí.
Seachas sin, ní mór dúinn a imirt ach a chuid eile, a is é sin le rá, ní mór dúinn fós ach adh.
Agus is féidir linn a fheiceáil anseo go bhfuil i liosta seo error tuisceana,
x Tá daonra ag an liosta tógtha amháin
leis an méid domhanda an sequencer.
CONNOR HARRIS: Yeah.
An error bhunúsach do tá liosta de na léamhthuiscint Foinse
lúibín, luach a bhaineann le roinnt athróg, barra,
luachanna a d'fhéadfadh na n-athróg iad féin, dúnta lúibín.
Agus má tá tú ag déanamh nodaireacht tógálaí atá leagtha in aon saghas aicme matamaitice,
a bheadh ​​agat a leagtar 2n sórt is é sin n i nó n i z.
Chineál céanna thing-- nodaireacht seo i gceist a bheith suggestive
den nodaireacht mhatamaitice.
STEPHEN KREWSON: Agus is féidir leat predicates il i bhfeidhm
agus scagairí il i liosta tuiscint, a bhfuil go leor deas.
Ailgéabracha a chuirimid ar types-- Ní bheidh linger fada anseo.
Ní Tá coincheap maith i Haskell nó maith, coincheap soiléir
de conas a ghlacadh, a rá, mainneachtain paraiméadar le feidhm nó rud éigin.
I Python, tá sé seo éasca go leor.
Is féidir leat a rá go díreach le cothrom ar an dearbhú na feidhme,
luach réamhshocraithe i Tá cás none fáil.
>> I Haskell, d'fhéadfaí tú b'fhéidir úsáid a bhaint as b'fhéidir an cineál b'fhéidir,
a thógann ceachtar rud ar bith nó luach de chineál ach.
Mar sin, leas a bhaint as muid seo sa mheaisín druma chun deis a thabhairt dúinn a thabhairt toirt roghnach
paraiméadair le gach ceann de na codanna druma.
Mar sin tugann sin dúinn ar bhealach a bhfuil eq nó toirt ar cainéal ar leith.
>> CONNOR HARRIS: I samplaí Haskell eile,
go dtiocfadh leat a fheiceáil in úsáid b'fhéidir le haghaidh feidhmeanna a d'fhéadfadh a dteipeann orthu.
Is é seo ceann coiteann.
>> STEPHEN KREWSON: Agus is féidir leat a sholáthar éigin de teachtaireacht earráide mar réamhshocrú.
Agus sin go háirithe handy nuair bhfuil tú ag déanamh an I / O i Haskell.
Is féidir sin a bheith cleasanna.
CONNOR HARRIS: Nó ar feadh Mar shampla den chineál céanna, a cheapann
feidhme a mbíonn i gceist roinn ar pharaiméadar d'fhéadfadh a bheith 0.
Agus d'fhéadfadh sin an fheidhm ar ais b'fhéidir is cuma cad.
Mar sin, má tá aon roinn de 0, Beidh sé ar ais ach is cuma cad.
Agus má tá roinnt ag 0, beidh sé ar ais rud ar bith
mar bhealach chun comharthaíocht an earráid.
Mar gheall ar dhroim ar cheann de na Clóscríobh an-dian Haskell ar
é go bhfuil aon real-- eisceachtaí awkward, go bunúsach,
Tá láimhseáil earráid awkward.
Agus tá sé seo an- bhealach coitianta a dhéanamh.
>> STEPHEN KREWSON: Mar sin anois a fháil againn go ceann eile rud aigne-lúbthachta
faoi ​​Haskell, a bhfuil patrún meaitseáil agus feidhm sainmhínithe.
Thaispeáin mé tú ar an sleamhnán seo caite an dearbhú an t-ord chéim
feidhm, a bhí ar luach b'fhéidir, ansin ina slánuimhir, ansin liosta de ints,
ansin ar ais ar ord na Luachanna ceoil anótáilte ann
leis an dá pháirc agus toirt.
>> Sin, is féidir na trí argóintí a patrún a mheaitseáil ar an mbealach seo a leanas.
Agus ba mhaith linn i gcónaí a bheith cinnte go dhéanamh cás bonn nó cás imeachta den chéad uair.
Agus na fostríocanna Is féidir a léiriú go díreach
a chiallaíonn aon luach sin ann.
Mar sin, má fhaigheann muid glaoch seicheamh chun dlús a le roinnt luach, luach éigin eile,
agus ansin ar an liosta folamh, cad ba mhaith linn ach tost, a chuid eile 0 a thabhairt ar ais.
>> Agus in ionad sin bheith ina liosta folamh nó 0,
tá sé ina chuid 0, toisc go bhfuil muid ag déileáil leis an gcineál ceoil,
agus an liosta folamh de cheol Is cineál ach a chuid eile ar aon ré.
Tá sé aon cheol.
Agus ansin linn a fheiceáil má fhaigheann muid céim seicheamh le v do argóint toirt,
p chun ionstraim réamhchúram argóint, agus ansin liosta de x ar.
>> Ansin a dhéanann muid roinnt rudaí.
Go háirithe, iarratas a dhéanamh linn liosta seo tuiscint,
agus comhlíonfaidh muid roinnt oibríochtaí ar an luach b'fhéidir
chun dul isteach luach uimhriúil sin d'fhéadfaí é a áirithe ansin agus a úsáidtear
a roghnú an ionstraim.
Arís, tá sé seo le beagán giotán d'aon ghnó inconcise
ach a thaispeáint go léir na rudaí aisteach Is féidir leat a dhéanamh i Haskell mar atá tú
chur le breathnú ar sé ar do chuid ama féin.
>> Ceart go leor.
Mar sin, tá muid ag dul ar deireadh a dhéanamh leagtha amach againn a dhéanamh,
a bhfuil a dhéanamh ar roinnt ceoil ríomhaire.
Mar sin, táimid ag dul chun iarracht a dhéanamh a dhéanamh ar an amhrán Frere Jacques.
Mar sin, tá cé mhéad frásaí i Frere Jacques?
Ceithre.
Mór.
Agus cad atá deas é go tá siad ar fad arís agus arís eile
an méid céanna uaireanta, a bhfuil dhá.
>> Mar sin, ní mór dúinn ceithre frásaí gach arís agus arís eile dhá uair.
Agus go háirithe, tá siad i mbabhta.
Agus tá go leor, go leor bealaí a chur i bhfeidhm
babhta d'fhéadfadh a bheith spraoi a dhéanamh.
Mé a rinneadh é a chur sa deas ar bhealach simplí anseo,
a bhfuil ach a construct-- an líne Bíonn feidhm liosta de luachanna ceoil
agus casadh sé isteach i gcomhdhéanamh seicheamhach trí chur i bhfeidhm go seicheamhach comhdhéanamh
oibreoir.
>> Agus ansin mé moill ar na codanna éagsúla trí iad a dhéanamh tús a chur le gcuid eile.
Mar sin, tús a chur mé le gcuid eile de dhá bheart, agus ansin a chuid eile de ceithre bheart,
agus ansin a chuid eile de shé bearta, agus ansin an babhta
Oibríonn, mar atá a fhios againn go léir an t-amhrán.
Feicimid dhá nótaí nó modhnuithe ar na luachanna cheoil
atá atá sa seicheamhach socrú na n-eilimintí an cheoil.
Ní mór dúinn toirt mbreiseán.
Is é seo an fheidhm a anótáil ceol le toirt ar leith.
Is sampla maith de comhartha MIDI ag rith
0-127, na seacht giotán de eolas gur féidir a chur i gcrích.
>> Agus then-- chonaic muid sé an- go hachomair, ach an MIDI ginearálta
liosta de na hionstraimí éagsúla.
Agus nach bhfuil a lán iomlán acu.
Má úsáideann tú stáisiún oibre fuaime digiteach, cosúil le Ableton Live nó Uirlisí Pro,
níl an réimse thar a leithne de synthesizers agus ionstraimí VST.
Ach an caighdeán MIDI amháin Tá cúpla, nó roinnt dosaen.
Agus tá cuid acu greannmhar.
Shíl mé go mbeadh sé spraoi má bhí againn an ionstraim an ionstraim MIDI
héileacaptar, agus ansin an bhealach chugainn tríd an babhta,
rinne muid a Synth ceap, agus ansin de luaidhe corny seo Synth tonn cearnach,
agus ansin guth ooze, atá ina beagán indistinct ar mo MIDI dona
sintéiseoir, ach tá siad ceart go leor.
>> Agus ansin linn a fheiceáil an ligean agus i comhréir ó Haskell,
agus ansin tá muid ag imirt go léir na codanna le chéile
leis an oibreoir comhdhéanamh comhthreomhar.
Agus d'fhéadfadh muid a thaispeáint is dócha roinnt de seo.
Seo an cód.
Agus is féidir leat a fheiceáil i C, ba mhaith a bheith ann a lán de na imréitigh scornach agus a leagan síos
an cód an tábla roimh tú d'fhéadfaí a dhéanamh ceol mar seo.
Nó aon cláir eile teanga, gur mhaith leat is dócha
a idirghníomhú le éigin de leabharlann nó API agus a leagtar gach rud ar bun,
agus ansin gur mhaith leat a ghlanadh suas.
Ach anseo i bhfuil Haskell, dar liom, uair amháin gheobhaidh tú an hang of it, thar a
inléite agus an-expressive.
Mar sin, tá an cur i bhfeidhm de Frere Jacques.
Ceart go leor.
Anois, ba mhaith linn cnaguirlisí a chur leis, agus tá sé seo le beagán Messier.
Mar sin, a ligean ar ghlacadh le breathnú ar na sleamhnáin.
Mar sin, is é an smaoineamh mór a dhéanamh a bunch de liostaí nó codanna.
Ar na meaisíní rolladh i, tá Bhí go hiondúil faoi b'fhéidir ocht
go dtí 10 rithim nó cnaguirlisí codanna.
Agus ansin a úsáid a bunch de theicnící.
Agus tá muid Labhair faoi these-- ag baint úsáide as folds, scagairí, feidhmeanna lambda,
mapáilte thar liostaí chun luachanna a ghiniúint i roinnt raon 1 go deas, r 16,
nó 32 céimeanna sa sequencer.
>> Agus ansin má tá luach sa liosta mar tá muid ag rith tríd an sequencer,
ag rith tríd sé os cionn agus os a chionn, casadh sé ar an nóta,
agus faigheann sampla tharraing.
Seo iad na bealaí aisteach éagsúla Tháinig mé suas leis chun nótaí a ghiniúint.
Bain triail as sé ar do shuim leath féin.
Beidh sé fuaim cool.
Am a cheadú, beidh muid ag dul tríd an.
Ach do ceart anois, buille faoi thuairim mé ba chóir dúinn taispeána méid atá againn.
A ligean ar súil go dtéann sé seo ceart go leor.
>> Mar sin, is é seo GHCI.
Agus beidh orainn luchtú comhad Tá mé ar a dtugtar song.lhs,
a bhfuil an comhad thaispeáin mé díreach tar éis duit.
OK, mór.
Mar a dúirt níos luaithe Connor, é a thiomsú, é a cineálcheadaíodh sheiceáil,
mar sin is féidir liom a breathe i bhfad níos éasca.
Níl sé ag dul a shéideadh suas ar dom.
>> Raibh mé ag iarraidh a thaispeáint duit rud éigin úsáideach.
Is féidir leat a fheiceáil go bhfuil modúl luchtaithe ar a dtugtar 50.
Is féidir leat brabhsáil mhodúl sin.
Agus tá sé seo chomh deas faoi ​​doing-- b'fhéidir cad a
bhfuil tú ag déanamh i nach bhfuil Haskell ar a dtugtar forbairt bogearraí,
ach is féidir leat a dhéanamh ar a lán de stuif spraoi ar do chuid féin.
Agus is é an sreabhadh oibre gur deas mar i gcomparáid le go leor teangacha eile,
mar is féidir leat a fheiceáil i ndáiríre bhealach inléite cad atá ar siúl.
Mar sin, feicimid go bhfuil muid seo go léir frásaí, a
Tá liostaí de páirceanna imeartha ceoil, agus ansin dúinn a thógáil ar na suas i rud éigin níos mó,
a bhfuil amhráin, ar cheol.
Tá sé ina aonad ceoil.
Agus ansin is féidir linn a imirt seo go léir le feidhm a dtugtar ceol spraoi.
Is féidir leat a fheiceáil síos anseo.
Cé acu is imirt ach.
>> Ba chóir dom a say-- Ní raibh mé ag caint faoi an comhartha Dollar go bhfuil i ngach áit.
Is comhartha Dollar oibreoir Infix eile.
Ach tá sé an tosaíocht is ísle aon oibreoir, a go héifeachtach
Ciallaíonn sé sin go gach rud ar an taobh clé den chomhartha dollar
agus an ceart an comhartha Dollar, táimid ag dul a fháil meastóireacht os a chomhair.
Mar sin, tá sé saghas cosúil eile bhealach a chur leis lúibíní.
>> CONNOR HARRIS: Tá sé go bunúsach comhdhéanamh feidhm.
Agus cinntíonn sé nach mian leat have-- má tá tú feidhmeanna dá thaobh nó Infix
oibreoirí ar an dá thaobh, ní bheidh siad chomhlachú trasna air agus a thabhairt duit
torthaí gan choinne.
>> STEPHEN KREWSON: Mar sin, táimid ag can-- ag baint úsáide as sin, is féidir linn glaoch.
Gcéad dul síos, beidh orainn imirt air gan na drumaí.
Sin an héileacaptar, an héileacaptar MIDI.
>> [Ag seinm ceoil]
Níl an tonn cearnach.
An ooze guth.
Agus is féidir leat dul i ndáiríre fiáin leis seo.
Phioc mé ceann simplí go leor, mar a fhios agam nár chóir dom bite uaire
níos mó ná raibh mé in ann chew.
Just a choinneáil simplí go leor a thaispeáint ar an príomh-smaointe.
Ach ansin bhí mé cosúil le, tá muid Fuair ​​a chur ar roinnt drumaí leis seo.
Díreach mar is é seo beag giotán impenetrable,
agus ní raibh mé úsáid as an ainm de na codanna druma,
Mapáilte mé them-- toisc go mbíonn siad chuid den aicme sin áirithe rangaithe,
Mapáilte liom iad a ints.
Is é ceann cosúil le druma Bass.
Is nialais chomh maith.
Is Seacht hata ard.
Agus síos i anseo i gcás an feidhmeanna a fháil beagán níos randamach,
is iad seo cosúil le drumaí Chonga.
>> Mar sin, má cheapann tú go about-- b'fhéidir bhealach spraoi le meaisín druma a chur i bhfeidhm
é a úsáid an-ordúil patrúin ar do druma Bass.
Mar sin, mar shampla, ar scagadh thar an liosta le gach rud a thugann ar ais
a 1 nuair atá sé déanta modúl 04.
Mar sin, a fháil mé 1, 5, 9, 13, 17-- seo amhlaidh Is é an chéad buille de gach beart.
>> Agus ansin is é seo mar an gcéanna Rud bhog níos mó ná dhá chéim.
Mar sin, go bhfuil an offbeat.
Mar sin, bheadh ​​sé seo a bheith rud éigin cosúil le hata ard.
Agus ansin arís, síos anseo, tá sé ina beagán randamach,
mar gheall orainn ag déanamh drumaí Chonga.
Agus tá mé roinnt maracas síos anseo, freisin.
>> Go bhféadfaí mé glaoch meaisín druma imirt, ach bheadh ​​sé dul ar aghaidh go deo,
agus d'fhéadfadh sé tús a grabbing suas go léir an chuimhne i mo chóras.
Mar sin, beidh mé glaoch fheidhm seo imirt ceol, a mar beidh orainn a fheiceáil,
bain úsáid as an comhdhéanamh comhthreomhar ag teascadh a imirt ar ár beag Frere Jacques-amhrán
chomh maith leis an meaisín druma aisteach.
Mar sin a ligean ar ghlacadh le breathnú.
Agus le do thoil nach a fheabhsú ar mo socrú na codanna druma.
Nach mo speisialtachta, ach tá mé Bhí a lán de spraoi a dhéanamh air.
>> [Ag seinm ceoil]
>> Mar sin, ar ndóigh, is é seo go léir le beagán ní mar spraoi
más rud é nach féidir linn é a thiontú go scór mar sin b'fhéidir sé
D'fhéadfaí a léirmhíniú ag thaibheoir daonna.
Mar sin, ní bheidh mé rith sé anseo.
Tá mé ghintear cheana na comhaid.
Is féidir leat a fheiceáil go níl a ponc LilyPond file-- agus
Beidh mo segue ar aghaidh go dtí Connor-- agus comhad ponc MIDI,
agus comhad ponc PDF, a bhfuil cad Beidh LilyPond ghiniúint ar deireadh thiar.
>> Ach tá siad seo na scripteanna, agus beidh mé ach reáchtáil leo lena gcuid roghanna cabhrú leat.
Má fhaigheann tú na bun agus a reáchtáil le Euterpea, is féidir leat a ghiniúint comhad MIDI.
Agus ansin ó na comhaid MIDI leis an gclár seo MIDI 2LY,
is féidir leat a ghiniúint Lily Comhad lochán, agus ansin tú
Is féidir a ghiniúint PDF den scór.
Agus ba chóir dúinn a chur le breathnú ar seo.
Mar sin, beidh Connor thaispeáint is dócha agat conas a anótáil seo níos fearr,
ach tá sé seo Frere Jacques mar ginte ag dom i Euterpea.
Tá sé seo go díreach i C. I chóir a bheith figured amach cad é an hack tá sé i ndáiríre i.
Ach is é sin an phíblíne haghaidh conas a dhéanann tú sin leis sin.
A ligean ar labhairt níos mó faoi LilyPond.
>> CONNOR HARRIS: OK ligean ar a fheiceáil.
An raibh tú a lua Foghlaim leat Haskell?
STEPHEN KREWSON: Oh yeah.
Amharc ar Foghlaim tú Haskell.
Tá sé sna hacmhainní.
Sin é an chaoi a thosaigh mé foghlaim, agus tá sé go hiontach.
Foghlaim ní balbh.
>> CONNOR HARRIS: Mar sin, tá sé ar líne.
Mar sin, Guy ainmnithe [inaudible] learnyouahaskell.com, gan aon spásanna.
Tá gramadach tinn.
STEPHEN KREWSON: Tá sé léirithe, freisin.
CONNOR HARRIS: Mar sin, cad é LilyPond?
Tá sé ina cláir declarative teanga le haghaidh clóchuradóireacht ceoil.
Mar sin, is féidir leat declarative-- smaoineamh ar rudaí cosúil le HTML,
i gcás nach bhfuil tú saying-- HTML Ní rá conas ba chóir brabhsálaithe gréasáin
Leathanaigh sholáthar céim ar chéim.
Tá sé seo ag rá ach seo Is cur síos téacsúil
de cad ba mhaith leat an leathanach chun breathnú cosúil.
>> Agus ansin tá sé chomh maith le clár go Tiomsaíonn teanga seo,
nó a léamh a isteach agus ansin i ndáiríre a dhéanann an clóchuradóireacht do shon,
agus spits sé amach na scóir PDF iontach lorg.
Is féidir leat freisin bhformáid PNG nó cibé.
Bealach maith chun smaoineamh de tá sé seo de réir analaí
ná go bhfuil LaTeX saghas cosúil LillyPond, ach do díreach ngnáthnós clóchuradóireacht.
Mar sin, ina ionad sin of-- nach bhfuil sé WYSIWYG, Cad Féach leat
Cad Faigh tú, cosúil le, a rá Finale é, nó Sibelius,
nó Microsoft Word, áit ar féidir leat cineál i bhfíor-am agus dréacht-rudaí i bhfíor-am
agus féach ar athruithe instantaneously.
>> Tá sé an téacs bunaithe.
Tá tú a thiomsú do scóir baint úsáide as clár ar leith
agus a fháil amach PDFs níos déanaí.
Tá sé seo le beagán níos lú áisiúil le haghaidh úsáid má tá tú
ag iarraidh a scríobh go díreach i scór agus an bhfuil tú
ag iarraidh a chumadh ar an ríomhaire.
Ach tá a lán buntáistí atá leis.
One, a dhéanann sé cuma a lán níos deise, mar is féidir LillyPond iarbhír
a chur ar an am a dhéanamh cinntí a leagan amach i gceart,
murab ionann agus Sibelius nó Finale, a bhfuil a dhéanamh halgartaim gcontúirt mar sin
gur féidir leo a thaispeáint rudaí i bhfíor-am.
>> Mar sin, cén fáth go bhfuil LilyPond-- Is grafaicí ríomhaire crua.
Má tá tú ag déanamh rud ar bith le ceol agus ba mhaith leat a scríobh amach scóir,
nach bhfuil tú ag iarraidh a scríobh amach gach rud le tú féin
ag tosú leis an gcaoi a tharraingt foirne agus conas a notepads tharraingt.
Tá sé an-deacair. Baineann sé le bheith déanta roimh.
Tá tú breá.
>> Más mian leat a úsáid Finale nó Sibelius, na formáidí comhaid le haghaidh na rudaí
Tá an-chasta, agus ní féidir leat i ndáiríre iad a úsáid programmatically.
Is féidir leat a oscailt suas Sibelius le Finale agus téigh go dtí Comhad, Easpórtáil mar PDF duit féin,
ach ní féidir leat i ndáiríre glaoch go ón script.
LillyPond, is féidir leat glaoch ó na scripteanna.
D'fhéadfá a iterate go héasca LillyPond le LaTeX.
Ní bheidh mé go bhfuil i bhfad ama chun dul isteach na teicneolaíochtaí ceart anois,
ach tá siad ann.
Más mian leat chun breathnú isteach i leabhar LillyPond,
tá sé ina clár a thagann leis do dháileadh LillyPond,
agus tá sé do iterating Blúirí LillyPond i LaTeX
más mian leat rud éigin a dhéanamh cosúil le doiciméad musicology mór
le samplaí, mar shampla.
Agus tá sé ina scil maith do saol má tá tú ag déanamh aon rud
le ceol, ní hamháin CS50.
Bainim úsáid LillyPond do gach de mo tionscadail comhdhéanamh
ó bhí mé go bunúsach sinsearach i scoil ard.
>> Mar sin, tá anseo roinnt samplaí simplí.
Tá sé seo go bunúsach ionadaí ar an leibhéal deacrachta
go daoine is mó a mbeadh aghaidh é bhí siad ag iarraidh
úsáid a bhaint as LilyPond do thionscadail simplí.
Tá sé seo an chéad cheann an tús go prelude chorale ag Bach.
Tá sé seo ar cheann bun sliocht ó cheann de mo oibreacha féin,
agus tá sé díreach ann chun a thaispeáint tú rudaí cosúil le [inaudible]
a chur línte iolracha sa gcéanna foirne, cé chomh lyric oibreacha undersetting.
Tá underlays Lyric rud go bhfuil an- éasca le húsáid LilyPond do cheol córúil.
>> Agus mar sin ansin níl roinnt níos mó samplaí casta anseo.
Gach na atá déanta i LilyPond agus tá siad go bhfuil indéanta.
Is é seo an chéad sliocht as [Inaudible] ag [inaudible].
Agus seo [inaudible] ó píosa do Bass aonair
feadóg mhór ag [inaudible], is longtime-- a
bhí sé ina bhall longtime den roinn ceoil anseo, sílim.
Níl mé cinnte nuair a tá sé imithe amach chun.
Ach bhí sé an comhairleoir an Harvard Cumann Cumadóirí ar feadh i bhfad.
Fear iontach.
Agus scríobhann sé roinnt ceoil go bhfuil an- nodaireacht casta go LillyPond
Is féidir le láimhseáil mar sin féin an-nicely.
>> Mar sin, ach a thabhairt duit tuiscint ar cad an rud ar cumais are-- sin
na internals de LillyPond Tá an-chasta.
Agus is féidir leat é a úsáid le haghaidh ar feadh i bhfad, lena n-áirítear
do roinnt casta go leor rudaí, gan ndáiríre
a bhfuil a fhios ag a lán mar gheall orthu.
Ach tá an smaoineamh bunúsach go bhfuil ar an leibhéal is ísle, na hadaimh de LillyPonds
Is iad na nótaí.
Go bhfuil na nótaí a comhthéacs a dtugtar guthanna.
Mar sin, an comhthéacs guth go bunúsach fhreagraíonn
do líne amháin de polyphony.
Agus ansin is féidir a bheith comhthéacs atá hierarchically
i cinn ar leibhéal níos airde go ionadaíocht a fhoirne ar an scór
nó grúpaí níos mó cosúil le fhoirne pianó nó foirne cór,
agus ansin ar deireadh thiar gcomhthéacsanna scór ar fad.
Agus is féidir leat a chuimsiú i ndáiríre scóir il i leabhar.
>> Agus tá gach comhthéacs a líon na n-ghreanadóirí ceangailte.
Má fhéachann tú tríd an ábhar gcomhthéacs
agus a phriontáil siombail áirithe nó aicme áirithe siombailí mar is gá.
Mar sin, chun gach comhthéacs guth, níl [inaudible] nótaí
engraver go bunúsach le feidhm nó rud a scríobhann amach na nóta
cinnirí ar na codanna ceart an leathanach.
Ansin, níl a engraver cleft, a scríobhann amach clefts ar an bhfoireann.
Ansin, níl a metronome marc engraver go
scríobhann amach marcanna metronome i scór.
Agus oiriúnach go léir go leor go maith isteach sa ordlathas.
Agus tá sé an-, an-, an- customizable, atá de dhíth ort
más mian leat a rudaí mar sin a fháil.
>> Mar sin, tá go léir na comhthéacsanna a a lán de na tréithe éagsúla
gur féidir leat a mhodhnú le haghaidh gach rud as an spásáil go cló éagsúla
roghnú do mhéideanna na rudaí.
Más mian leat a dhéanamh fiú rudaí níos casta,
níl an teanga scriptithe leabaithe.
Úsáideann siad an scéim, a Tá canúint de LISP.
Na ní a dhéanamh is dócha chiallaíonn rud ar bith a thabhairt duit.
Ach go bunúsach, scéim feidhme eile
teanga cláir, níos mó nó níos lú.
>> STEPHEN KREWSON: An comhionannas vótaí-i.
>> CONNOR HARRIS: Yeah.
Tá sé ina cheangal-i maith, is dócha.
Agus tá sé in úsáid mar theanga teagaisc, i ndáiríre, síos Aifreann Ave. Ag MIT.
Agus tá sé an-áisiúil do LillyPond ar chúiseanna teicniúla éagsúla.
>> Agus mar sin más mian leat a dhéanamh simplí tweaks ag brath ar conditionals,
chun example-- níl áirithe choinníoll den scór go chéile,
athruithe ar an a dhéanamh leagan amach nó whatnot-- ansin
tá na háiseanna ann.
Tá siad casta.
Mar sin, tá anseo sampla cód simplí go leor.
Tá sé cúig línte.
Go bunúsach, tá mé ag a shainiú dhá foirne.
Tá sé i 3/4.
Tá an chéad fhoireann ceangailte marc luas,
ach tá go ag dul i ndáiríre dul ar aghaidh go dtí an scór ar fad,
mar gheall ar marcanna luas atá ar an leibhéal scór.
An engraver marc metronome ceangailte comhthéacs chun scór.
Tá eochracha éagsúla, mar gheall ar an [inaudible] engraver
ceangailte na foirne.
Is féidir leat a dhéanamh i ndáiríre é.
Is é an sampla a scríobh mé iarbhír i C mór,
ach tá sé ach go léiriú féidir leat a bheith
eochracha éagsúla i foirne éagsúla.
Agus is é an error bunúsach scríobhann tú faoi ​​deara ainmneacha le E, F, G, is cuma cad.
Más mian leat accidentals a dhéanamh, Iarmhír tú IS nó ES.
Tá sé seo ó Ollainnis coinbhinsiúin musicological.
>> Agus a dhéanamh leaps ochtach, caithfidh tú a úsáid tic leis na marcanna, camóg nó apostrophe.
Ciallaíonn an gaol díreach is cuma cad tá tú nóta,
beidh sé a plaec go huathoibríoch sa ochtáibh gaire leis an gceann roimhe.
Agus más mian leat chun léim níos mó ná a fifth-- rá cúigiú nó more--
ansin caithfidh tú a bhaint as an [inaudible].
Ach a mhalairt, ní gá duit a sonraigh an ochtach de gach nóta amháin.
>> Agus coibhneasta C, príomh, agus C, a shonrú tú díreach lár C
agus bonn C, go háirithe an chéad nótaí.
Ansin tá tú na foirne a eagrú dá guthanna nó samplaí de cheol,
agus tá tú scór.
Agus tá sin mar seo.
>> Más mian leat a chur ar an am chun cóip sampla de LillyPond
cód ar an roimhe sin sleamhnán síos anseo, agus tú
Is féidir a scríobh sé do LillyPond duit féin.
Tá a fhios agam tá muid fuair rud éigin go Breathnaíonn a lán cosúil seo.
Mar sin, níl an teicneolaíocht eile chothabháil ar a dtugtar Ceol XML
ag daoine go hiomlán difriúil.
Is XML sonraí téacsúla structure-- mé Níor cheart a rá sonraí structure-- rá
saghas léarscáil meafar de.
Agus tá sé deartha chun a shealbhú sonraí ordlathach go han-mhaith.
HTML, mar shampla, i ndáil le cineál XML.
Agus is féidir leat insint XML toisc go bhfuil siad Bhí gach lúibíní uillinn agus uillinn
marcanna Slais lúibín go réimsí sonraí a thaispeáint.
>> Ní dóigh liom go bhfuil cód sampla ó Cheoil XML.
Is féidir leat é a fháil duit féin.
Go bunúsach, d'fhéadfadh an chúis is mian leat XML a úsáid mar an chéim idirmheánach
is é, ar an gcéad, tá sé bhformáid idirmhalartaithe
do every-- bunúsach nár chóir dom a rá gach, ach tá a lán de scór éagsúla
scríbhneoirí.
Mar sin, má scríobhann tú sa Cheol XML, ní féidir ach LillyPond
léamh le cabhair an auxilary clár ar a dtugtar Ceol XML go LY,
ach freisin, is féidir Finale léamh é, is féidir Sibelius a léamh.
Ag brath ar conas do réad inmheánach Oibríonn ordlathas as ionadaíocht a cheol,
d'fhéadfadh sé a bheith níos éasca a scríobh amach Ceol XML ná go LillyPond
agus díreach ag brath ar Cheol XML go LY a dhéanamh ar an chomhshó.
>> Ní dóigh liom go [inaudible] Tá Ceol XML.
STEPHEN KREWSON: Ní chuireann sé.
D'iarr duine éigin ag obair ar sé, cé.
>> CONNOR HARRIS: OK.
Níl Euterpea bhfuil Feidhm aschur Ceol XML fóill.
Más mian leat smaoineamh deiridh an tionscadail, b'fhéidir a fháil i dteagmháil le guys
go bhfuil a fhios Stephen, agus D'fhéadfadh siad a úsáid do chabhair.
>> STEPHEN KREWSON: Ba bhreá liom go.
CONNOR HARRIS: Chomh maith leis sin, go bunúsach, gach teangacha cláir
go fiú a shalann Tá leabharlann XML cheana,
ionas gur féidir leat a thiontú go hinmheánach go léir de do cheol i roinnt réad
gur féidir leis an leabharlann XML scríobh amach a bheadh ​​de dhíth níos lú
athruithe ar do struchtúr inmheánach ar cibé agóid ceol tú
ag iarraidh a scríobh ná mar a scríobh sé díreach i LillyPond bheadh.
Ansin a phriontáil ach é amach le XML le na leabharlanna XML i do theanga,
a ráthú go bhfuil sé syntactically ceart agus gach rud,
agus ansin é a thiontú go LillyPond.
Mar sin, an teicneolaíocht b'fhéidir gur mhaith leat breathnú isteach má tá tú ag déanamh rud éigin
mar seo.
>> [Inaudible], ceann eile teicneolaíocht auxilarry.
Sé seo go bunúsach Oibreacha Tech nó Tech Stiúideo do LillyPond.
Mar sin, cuireann sé cúnamh le error, le teimpléid
do éagsúla coitianta teaglaim na n-ionstraimí.
Ceadaíonn sé scáileán scoilt féachana amhlaidh Is féidir leat do chuid cód in aon fhuinneog
agus PDF i bhfuinneog eile agus cliceáil ar áiteanna sa PDF
chun léim go dtí an ábhartha spotaí i do cód foinse.
Tá sé seo níos mó úsáideach má tá tú i ndáiríre scríbhneoireacht LillyPond comhaid féin
ná má tá tú ag ghiniúint iad programmatically.
Ach arís, tá sé rud éigin úsáideach a bheith acu.
>> Mór.
Resources-- Eile Feicfidh mé díreach tar éis dul tríd an han-tapa.
Tá LillyPond manuals-- LillyPond doiciméadú den scoth ar a láithreán gréasáin.
Tá siad teagaisc.
Tá siad tagairt error.
Tá siad na céadta snippets le haghaidh rudaí beaga éagsúla
d'fhéadfadh gá yo dhéanamh a léiriú cumais éagsúla.
Más mian leat úsáid a bhaint as an teanga scriptithe
nó a chur níos fairsinge customizations, ansin níl
internals tagartha ag an URL.
Más mian leat a úsáid Ceol XML, níl go URL, musicxml.com/tutorial.
>> Agus ansin más gá tú an scéim a fhoghlaim mar is mian leat i ndáiríre a úsáid
na háiseanna scriptithe i LillyPond, ansin níl a [inaudible] ar a dtugtar
Léiriú struchtúrtha Cláir Ríomhaireachta,
a nach bhfuil ach an dara is mó téacsleabhar CS riamh written--
teacht liom ina dhiaidh sin más mian leat a fháil cad a cheapann mé an mó is-- amháin
ach tá sé chomh maith go maith an- thabhairt isteach chun an teanga chuí.
Ní bheidh sé uait níos mó ná an chéad ailt chúpla.
>> Agus sin é.
Ceisteanna ar bith?
>> MAC LÉINN: Cén áit ar féidir a íoslódáil do ghintear Frere Jacques
mar sin is féidir liom é a chur ar mo iPod?
>> STEPHEN KREWSON: Bhuel, is féidir leat scríobh amach le roinnt comhad wav i Euterpea.
Agus tá tú an cód.
Tá sé ar GitHub.
Déan do chuid féin de athruithe Frere Jacques ag CS50 aigne hive.
Bheadh ​​sé go hiontach.
CONNOR HARRIS: Duine ar bith eile?
STEPHEN KREWSON: Ní mór dúinn druma Bass níos fearr, freisin.
Tá sé i ndáiríre dona.
>> MAC LÉINN: Tá Euterpea ní hamháin an taobh comhdhéanamh, ach signal--
STEPHEN KREWSON: Tá.
Go deimhin, ar an obair I Rinne i Euterpea nuair mé
Thóg this-- níl iarchéime chúrsa ag Yale go
Úsáideann Bhí it-- ar sintéis fuaime.
Mar sin, níl i ndáiríre bhealach deas ag baint úsáide as saigheada
agus roinnt de na nodaireacht chonaic muid de cumadóireachta le chéile feidhmeanna comhartha.
Go háirithe, an dord don chuid is mó acu ach tonn Sín simplí.
Ach má thosaíonn tú ag cumadh iad siúd ar bhealaí cláir aisteach,
Is féidir leat a fháil ar fuaime dÚsachtach éifeachtaí, cosúil le cascades aisteach.
Is féidir leat a chruthú an-gritty fuaimeanna le go leor de modhnú.
>> Rinne mé le tionscadal ar granular sintéise, a bhfuil
áit éigin i idir FM agus sampláil.
Ghlacann tú an-bheag, samplaí beag, agus ansin
iad a chur le chéile le éigin de modulator agus a thógáil suas le fuaim níos saibhre.
Rinne muid freisin samhaltú fisiciúil, mar sin ag iarraidh a smaoineamh ar an fhisic
agus psychoacoustics de rud éigin cosúil le trumpa, agus ag smaoineamh ar an mbealach
Tá an fhuaim bouncing as an clog an trumpa
agus na acoustics na an seomra agus samhaltú
gur leis an oscillators bunúsacha.
CONNOR HARRIS: Go raibh maith agat an méid sin.
Go raibh maith agat as teacht.
Agus tá mé i gcónaí sásta a ceisteanna a chur ag email--
connorharris@college.harvard.edu.
>> STEPHEN KREWSON: Yeah. stephen.krewson@yale.edu.
Cool.