કોન્નોર HARRIS: મહત્તમ. હું કોન્નોર હેરિસ છું. હું હાર્વર્ડ ખાતે એક CS50 CA છું. STEPHEN KREWSON: હું સ્ટીફન Krewson છું. હું યેલ અંતે CS50 માટે ટીએફ છું. કોન્નોર HARRIS: અને અમે વાત કરવા જઈ રહ્યાં છો કેટલાક ટેકનોલોજી વિશે કે તમે કદાચ જો તમને રસ છો, તો ઉપયોગ કરવા માંગો છો અંતિમ પ્રોજેક્ટ કરવાથી અથવા ખરેખર સંગીત સાથે કંઈપણ. અમે પ્રથમ પર ધ્યાન કેન્દ્રિત કરી રહ્યા છીએ Haskell કહેવાય પ્રોગ્રામિંગ ભાષા. તે વિધેયાત્મક છે ભાષા, જેથી નમૂનારૂપ C અથવા PHP, ખૂબ જ અલગ છે અથવા અન્ય હિતાવહ ભાષાઓ કે જો તમે પહેલાથી જ વપરાય છે, અને ખાસ કરીને કર્યું Haskell માં લખાયેલ લાઇબ્રેરી પર લોકોને મદદ કરી શકે છે, કે જે Euterpea કહેવાય વિધેયાત્મક રીતે સંગીત લખવાનું, મૂળભૂત. અને સ્ટીફન જવામાં આવશે તે એક મહાન ઉદાહરણ દ્વારા. આ પછી, હું તમને રજૂ કરીશું LillyPond કહેવાય કંઈક છે, કે જે ટાઇપસેટીંગ સંગીત માટે ટેકનોલોજી છે. તે પ્રકારના LaTeX જેવું છે સંગીત માટે તમે જો કોઈ હોય તો ગણિત વર્ગો માટે LaTeX ઉપયોગ કર્યો છે અથવા અન્ય પી સમૂહ વર્ગો અથવા શું તમે હોય છે. અને તેથી હું ફરીથી, તમે આપી શકશો, કે કેટલાક સરળ ઉદાહરણો અને સામાન્ય રીતે તમે નિર્દેશ કેટલાક વધુ સારી સાધનો દિશા. STEPHEN KREWSON: માં વધુમાં, અમે વિચાર્યું સુયોજિત કરવા માટે ઠંડી હશે સંકેતો એક થોડુંક વચ્ચે પાઇપલાઇન તરફ Euterpea પેદા મીડી ફાઇલો LillyPond, તેથી અમે પૂરી પાડે છે સ્ક્રિપ્ટો પર કેટલાક સૂચના છે કે તે કરવા માટે LillyPond સાથે પૂરી પાડવામાં આવેલ માત્ર તે ઓપન સોર્સ રાખવા અને જતા પાઇપલાઇન મળે છે. કોન્નોર HARRIS: ફરીથી, અમે ભાર મૂકે છે કરીશું આ બે ટેકનોલોજી, તમે સાથે મળીને તેમને વાપરવા માટે નથી. તેઓ કામ કરવા માટે રચાયેલ કરી રહ્યાં છો તેની સાથે, છતાં તેઓ ખૂબ જ સરસ રીતે કામ કરે છે. STEPHEN KREWSON: અધિકાર. અને તદ્દન મફત છે. કોન્નોર HARRIS: તેથી સમર્થન, કે જે હમણાં જ વાંચી શકાય છે. STEPHEN KREWSON: બચાવી નોંધ્યું હતું. તે જાણતા માટે આભાર. આ હું માત્ર એક ક્ષણ માટે લંબાવું પડશે. સ્થાપન પ્રક્રિયા થોડો મુશ્કેલ છે. અમે એક GitHub પર મને વાંચી છે તમે પર એક નજર કરી શકો છો. જો તમે કોઇ પ્રશ્નો હોય, તો માત્ર મને ઇમેઇલ કરો. પરંતુ અમે ધારણા હેઠળ આ સ્કોર પડશે આ છે કે જે દરેકને માટે કામ કરે છે. કોન્નોર HARRIS અને જો તમે નથી કરી શકો છો LillyPond, કોઈ મોટો સોદો કામ મળે છે. કોઈ જીવંત સંકલન છે તે ઓછામાં ઓછા મારા ઓવરને પર, સામેલ કરવામાં આવશે. STEPHEN KREWSON: Haskell અને LillyPond બંને સ્થાપકોને હોવી જોઇએ. Euterpea તરીકે ડાઉનલોડ થયેલ પેકેજ, તેથી પર અને તેથી આગળ. તેથી અમે કમ્પ્યુટર સંગીત વિશે વાત કરી રહ્યા છીએ. અને આ માત્ર એક છે ખૂબ જ 50,000 ફૂટ જુઓ. તે થોડા અલગ પાસાઓ છે. અને આ રફ છે અને અમુક વિગતવાર અસ્પષ્ટ જઈ રહી છે. પરંતુ અમે કંઈક વિચાર કરી શકે છે ગાણિતિક રચના જેમ, અલ્ગોરિધમનો ઉપયોગ કરીને, પેદા કરવા માટે કોડ મદદથી અમુક પ્રકારના of-- કદાચ સ્વ સમાન નોંધો, અથવા કદાચ નોંધો ક્રમ કેટલાક અવરોધ હેઠળ. અને પછી તે હોઈ શકે છે કરવામાં અથવા અર્થઘટન એનાલોગ વગાડવા સાથે અથવા જેમ કંઈપણ. પરંતુ રચના હતી ઍલ્ગરિધમનો થાય છે. પરંતુ અલબત્ત, કદાચ વિસ્તાર કમ્પ્યુટર સંગીત અથવા ડિજિટલ સંગીત અમે ડિજિટલ સાથે વધુ પરિચિત છો અવાજ સંશ્લેષણ અથવા ડિજિટલ નમૂના અને ડિજિટલ રેકોર્ડિંગ. ડિજિટલ સાધનો ઘણો છે ડિજિટલ નમૂના દ્વારા થાય છે. હકીકતમાં, અમે તે એક ઉપયોગ કરી શકશો પાછળથી એક અવાજ ફોન્ટ પુસ્તકાલય સ્વરૂપમાં. પણ કંઈક કહેવાય છે બહાર આવી છે કે ડિજિટલ સંશ્લેષણ અંતમાં '70s અને માં' સાથે 80 સ્ટેનફોર્ડ ખાતે યામાહા અને જ્હોન Chowning એફએમ સંશ્લેષણ કરી અથવા ફ્રિકવન્સી મોડ્યુલેશન સંશ્લેષણ, જ્યાં તમે એક વાહક હતી સંકેત અને Modulating સિગ્નલ બંને ઓડિયો સ્પેક્ટ્રમ. પરંતુ અમે તેના પર ધ્યાન કેન્દ્રિત કરી રહ્યાં છે તે આજે, મીડી કહેવાય કંઈક છે અને અલબત્ત, ગાણિતિક રચના. અમે વગાડવા કરી રહ્યા છે, પરંતુ નથી કરી રહ્યાં છો અમે તેના બદલે કેટલાક સંગીત બનાવવા જઈ રહ્યાં છો, અને પછી તે અર્થઘટન મળશે કેટલાક સાધનો દ્વારા માટે conformant છે સામાન્ય મીડી પ્રમાણભૂત. તેથી મીડી શું છે? હું ખૂબ ઊંડા તેને વિચાર નથી જઈ રહ્યો છું પરંતુ મીડી ડેટા ટ્રાન્સફર પ્રોટોકોલ છે. તે સમગ્ર માર્ગદર્શિકા એક પ્રકારની છે વિવિધ કંપનીઓ અને ઉદ્યોગો અવાજ અથવા પેચો આયોજન માટે. તેથી અમે તે જોશો એક MIDI સ્ટાન્ડર્ડ છે બધા અલગ અલગ પર્ક્યુસન માટે અવાજો અને મીડી ભલામણો સિન્થ બધા વિવિધ પ્રકારો માટે અથવા બધા સાધન વિવિધ પ્રકારના એક ઓર્કેસ્ટ્રા જૂથો, કહે છે. તમે કદાચ સાથે પરિચિત છો 0 મારફતે 127 મીડી સંદેશાઓ. એક MIDI સંકેત સામાન્ય રીતે છે સૂચવે છે એક બીટ તે એક ડેટા અથવા શું સ્થિતિ પેકેટ, અને પછી ત્યાં છે સંકેત સાત બીટ્સ. અને આ નિયંત્રિત કરી શકો છો વોલ્યુમ બધું ક્રિયા કે દબાણ ચોક્કસ કી પર તમે MIDI સાથે ચલાવી રહ્યાં છો, તો નિયંત્રક તેમજ, અલબત્ત, નોંધો. અને અલબત્ત, મીડી છે અત્યંત ઉપયોગી રહી તે વાયર કરવા માટે એક માર્ગ છે કારણ કે સાથે મળીને અથવા ડેઇઝી સાંકળ મીડી હાર્ડવેર ઉપકરણો એક ટોળું. હું મારા ઘરમાં સાત કે આઠ પાછા છે. તે ખરેખર જટિલ નહીં પરંતુ તે ખરેખર શક્તિશાળી છે. અને તે ખરેખર જૂના છે. તે શરૂઆતમાં '80s માંથી છે, અને તે ખરેખર સરસ અને નાના છે. કોન્નોર HARRIS: યાહ. તમામ ક્લાસિક નિન્ટેન્ડો વિડિઓ ગેમ્સ કદાચ કરશે ઉદાહરણ માટે સંગીત માટે મીડી ફાઈલો હોય છે. STEPHEN KREWSON: અહીં એક છે સામાન્ય મીડી ઉદાહરણ, એક પ્રકાર તરીકે મીડી દર્શાવે સામાન્ય પ્રોટોકોલ. અને હું અમે વિચાર કરી શકો છો લાગે છે સ્પષ્ટીકરણ વચ્ચે તફાવત કંઈક ત્યાં પ્રયત્ન કરીશું કે આ સાધન વાસ્તવિક લાગે છે અને તે વગાડવા અનુભૂતિ લાગે ધ્વનિ ફોન્ટ અથવા ચોક્કસ મધ્યમ માં આ તફાવત હોવાથી સિન્થેસાઇઝર જે કહે છે કદાચ એક typeface-- વચ્ચે, સામાન્ય રીતે, આ ડિઝાઇન છે આ ચોક્કસ રીતે પ્રતિનિધિત્વ characters-- અને ચોક્કસ ફોન્ટ કે, એક ચોક્કસ માપ અને માત્રા અને તીવ્રતા છોડીને સંગીત ધ્વનિ કે અવાજનો વિશિષ્ટ ગુણ છે અને the-- અનુભૂતિ છે કોન્નોર HARRIS: કદાચ સારી સરખામણી કરશે હોઈ યુનિકોડ સ્ટાન્ડર્ડ આપે says-- એક દરેક પાત્ર માટે નંબર છે, અને ખરેખર વિશ્વમાં દરેક ભાષા, અથવા ભાષા સ્ક્રિપ્ટો એક વિશાળ સમૂહ વિશ્વમાં, અને પછી તે છે કંઈક ગ્રાફિકલ માં પ્રસ્તુત વિવિધ ફોન્ટ પેકેજો દ્વારા. અને દેખીતી રીતે, તમે વિચાર કરી શકો છો અવાજ યુનિકોડ તરીકે મીડી. અને તે એક મોટી સ્ટ્રીમ of-- માત્ર એક યાદી છે ઘટનાઓ અને સાધનો અને whatnot ના, અને તમે એક અલગ હોય છે કાર્યક્રમ, ટાઇપફેસ જેમ, માં કે રેન્ડર કરવા માટે બુલંદ છે કે જે કંઈક. STEPHEN KREWSON: તેથી શા માટે Haskell? Haskell એક કાર્યાત્મક પ્રોગ્રામિંગ છે ખૂબ અદ્યતન ભાષા, સી થી ખૂબ જ અલગ, PHP, ખૂબ જ અલગ છે. અને અમે એક છે તે જોવા જઈ રહ્યાં છો Haskell માં કાર્ય રચના સરળતા કે અમને મારફતે સમીર માટે પરવાનગી આપે છે લખવાની, કંપોઝ અથવા લખીને, Frere જેક્સ કંઈક, આ સરળ ગીત તે ભાગો ઘણો છે કે સ્વ સમાન અથવા પુનરાવર્તન કરવામાં આવે છે. તેથી આ કેટલાક હશે શા માટે પ્રેરણા અમે Haskell ઉપયોગ કરી રહ્યાં છો કે જેમાં કાર્યો પ્રથમ વર્ગ નાગરિકો છે. અને હું વિસ્તારવા માગે છે આ એક થોડો. તે થોડો સરળ છે Haskell માં Frere જેક્સ Notate. પરંતુ અમે ઇચ્છતા હોય તો શું તે ડ્રમ ભાગ ઉમેરવા માંગો છો? અમે બનાવવા માટે પ્રયાસ કરવા ઇચ્છતા હોય તો શું એક રોનાલ્ડ 808 અથવા 909 ડ્રમ કંઈક તમારી પાસે જ્યાં મશીન આશરે 16 વિવિધ પગલાંઓ? સામાન્ય રીતે આ છે તરીકે 16 મી નોંધો માનવામાં આવે છે. અને તમે વૈશ્વિક નિયંત્રિત કરી શકો છો ટેમ્પો, અને તમે પસંદ કરી શકો છો વિવિધ પર્ક્યુસન ભાગો એક ટોળું બાસ ડ્રમ, એક તાળી પાડવી, વિવિધ snares, ખોલો અને બંધ ઉચ્ચ ટોપી ચેનલો આ પ્રકારની પર, અને પછી તમે EQ કરી શકો છો અથવા તેમના વોલ્યુમ સંતુલિત કરો. અને અમે એક સરસ રીતે જોઈ શકશો આ પગલું રજૂ Haskell બધા સાથે Sequencer Haskell વિવિધ ઠંડી વસ્તુઓ અમે પેદા સાથે કરી શકો છો યાદીઓ પર યાદીઓ અને ફિલ્ટરીંગ, યાદીઓ પર મેપિંગ, મેપિંગ યાદીઓ પર કાર્ય કરે છે. અને ઝડપી માફી. આ એક ખૂબ જ ઉપરછલ્લું છે અને વધારે પડતા ઝડપી સ્કેચ પાસાંઓ કેટલાક Haskell અને Euterpea છે, એક ડોમેન ચોક્કસ જે જડિત લખાતી ભાષા સંગીતવાદ્યો પ્રકારો માટે Haskell માં. તેથી કોડ તપાસો નથી કરો. ગ્લાસગો છે, જે અપ આગ GHCI, Haskell કમ્પાઇલર ઈન્ટરપ્રીટર. અને હું કેટલાક કરવાનું આવશે થોડો આ જેથી તમે તે થાય છે કેવી રીતે જોઈ શકે. અને આ તમારી સાથે લોડ કરવા માટે પરવાનગી આપે છે the-- વાક્યરચના પછી કોલોન છે અને આદેશ. તમે ફાઇલો લાવી શકો છો. જો તમે તે ફાઈલોને પર બ્રાઉઝ ઉપયોગ કરી શકો છો બધા કાર્યો જોવા કે ચોક્કસ મોડ્યુલ માં અસ્તિત્વ ધરાવે છે. અને અમે, પ્રકારો અને પ્રકાર જોશો પછી વર્ગો, Haskell જેથી મહત્વપૂર્ણ છે જેથી તમે હંમેશા ખાસ કરીને check-- કરી શકો છો જો તમે નવી DSCL માં કામ કરી રહ્યાં છો આ જેમ, એક સંગીત પ્રકાર શું છે? હું જે રીતે આંકડાકીય વિશે ખબર પ્રકારો, Haskell માં કામ પરંતુ હું સંગીત વિશે ઘણી ખબર નથી. પરંતુ તમે તેઓ જે રીતે શોધખોળ કરી શકો છો આ ટી અથવા પ્રકાર આદેશની મદદથી વ્યાખ્યાયિત અને પછી ખાસ કરીને ફોન કાર્ય અથવા માહિતી ઓબ્જેક્ટ. કોન્નોર HARRIS: યાહ. તમે સી અને રણકાર વિચાર્યું તો પ્રકારો વિશે hardass હતી, તમે Haskell વિશે કોઈ વિચાર હોય છે. Haskell વિશે સારી બાબત એ છે કે તમે કમ્પાઇલ કરવા માટે તમારો કોડ મેળવી શકો છો અને Haskell પ્રકાર તપાસમાં જો, તે કદાચ યોગ્ય છે પ્રકાર સિસ્ટમ જેથી કડક છે. STEPHEN KREWSON: યાહ. તેથી હું માત્ર જાઓ કરવા માંગો છો ફરી through-- અને, આ તે થોડા justice-- કરી નથી Haskell ના લક્ષણો છે, કે જે ઓછામાં ઓછા તેના creators-- અને તે બનાવવામાં આવી હતી લોકો એક ટોળું દ્વારા 1980 માં, લગભગ 20 એક સમિતિ લોકો છે મહત્વપૂર્ણ હતા. અને પ્રથમ વસ્તુ તેઓ એક કાગળ માં યાદી થયેલ છે Haskell ના જિનેસિસ વર્ણવેલ પ્રથમ 20 વર્ષ કે તેથી વધુ તે બેકાર હતા. તેથી આ શું અર્થ છે? અમે અમુક પ્રકારના હોય છે જ્યારે ઠીક છે, તે અર્થ એ થાય અભિવ્યક્તિ, અમે તેને મૂલ્યાંકન કરવાની જરૂર છે. અને હાસ્કેલ કોલ કરે છે જરૂર માર્ગ અથવા બિન-કડક માર્ગ દ્વારા. અમે એક ટોળું હોય, તો તે છે, અમારા અભિવ્યક્તિ ઘટકો, અમે મૂલ્યાંકન વિલંબ કરવાનો પ્રયાસ કરો તે subcomponents ના ચોક્કસ છેલ્લા minute-- સુધી અમે ખરેખર તેમને જરૂર સુધી છે. તેથી આ means-- છે, જે ખરેખર ઠંડી છે, ખાસ કરીને અમે તાત્વિક વિશે વિચારી રહ્યાં છો, તો એક સંગીતમય પગલું Sequencer છે. તમે તેને ચાલુ, અને તમે શરૂ એક પગલું sequence-- ચાલી શું તમે ક્યારેય એક ડ્રમ સાથે કામ કર્યું હતું, તો machine-- અને તે માત્ર કાયમ જાય છે. તેથી તે અમે તો ખરેખર સરસ હશે Haskell કે અનુકરણ કરી શકે છે. અને અમે અનંત સાથે કરી શકો છો મૂલ્યો, ખાસ અનંત યાદીઓ છે. તે ટાઈપ કરવા માટે ખૂબ જ સરળ છે Haskell માં અનંત યાદી. તમે માત્ર નીચે વાક્યરચના ઉપયોગ કરી શકે છે અહીં, તમે 3 મારફતે 1 જુઓ જ્યાં, 3 1 DOT DOT દૂર કરવા, અને કે જે અનંત યાદી છે તમામ કુદરતી નંબરો વિસ્તરે જ્યાં સુધી તમે કલ્પના કરી શકો છો છે. હું શરૂ કરવા માંગો છો અધિકાર દૂર folds ખ્યાલ. અને ફરી, હેતુ આ પરિસંવાદ નથી છે Haskell માં folds વિશે જાણવા માટે અથવા ઊંચી ક્રમમાં કાર્ય કરે છે. પરંતુ હું માત્ર તે દાખલ કરવા માંગો છો કેવી રીતે વિચિત્ર એક ચોક્કસ અર્થમાં આપે છે Haskell છે અને કેવી રીતે શક્તિશાળી છે. અને ખાસ કરીને, અમે પ્રયત્ન જઈ રહ્યાં છો અમે અમારા વિવિધ ડ્રમ ભાગો કરે છે ત્યારે, અમે યાદી હેરફેર કરી રહ્યા છીએ નંબરો, દરેક અન્ય પર તેમને ગડી. તે કરવા માટે, અમે પડશે નકશા અને folds ઉપયોગ કરી. અધિકાર સમૂહનો છે આ એક યોગ્ય છે, કે જે ગણો અહીં 1 બાદ જથ્થો, 2 ઓછા જથ્થો 3 ઓછા 0. અને માટે વાક્યરચના ગણો, તમે ગણો આપી આધાર કિંમત અને પછી એક operation-- આ કિસ્સામાં, વધુમાં અથવા બાદબાકી છે. હું બંને કિસ્સાઓમાં બતાવ્યા પ્રમાણે કર્યું. અને પછી એક સંગ્રાહક છે તે સમગ્ર યાદી પર એકઠી, કે ઓપરેટર વત્તા અરજી અથવા ઓછા, અને પછી તે સંચય. તે ઓળખાતું હતું, જો કે આ the-- હશે ગણો આર વત્તા 0 સાથે, 0 સાથે શરૂ કરીને, અમે પછી બધા સરવાળો કરશે યાદીમાં નંબરો. અને તે 1 થી 3 યાદી છે. કોન્નોર HARRIS: તેથી તે અન્ય મૂકી આ રીતે, ગણો આર ત્રણ દલીલો લે છે. એક કાર્ય છે કે ત્યાં પોતે બે દલીલો લે છે, પછી એક સ્ટાર્ટર કિંમત છે, અને કિંમતો યાદી છે. અને તમે શું તમે લે છે સ્ટાર્ટર કિંમત, પ્રથમ કિંમત આ કાર્ય માં મૂકો. તમે શું મેળવી શકું કે, ફીડ લેવા કે ના કાર્ય માં બીજા કિંમત, તમે વિચાર શું છે, કે લેવા, માં કે ફીડ ત્રીજા કિંમત કાર્ય. અને પછી તમે નીચે જાઓ તો આ સમગ્ર યાદી આ રીતે, તમે છેવટે વિચાર જઈ રહ્યાં છો કે કેટલાક એકવચન કિંમત તમે પ્રારંભ શું એક જ પ્રકારના સાથે અને તે જ પ્રકાર પછી યાદી વસ્તુઓ, અને કે ગણો આર પરત પરિણામ છે STEPHEN KREWSON: ખાસ કરીને તેથી, આ ઉચ્ચ હુકમ કાર્યો છે, તેઓ અન્ય વાત કરી રહ્યાં છે, કારણ કે દલીલો એક તરીકે કાર્ય કરે છે. કોન્નોર HARRIS: યાહ. તમે અમુક અન્ય ઉપયોગ કર્યો છે languages-- હું આર ખબર છે, [અશ્રાવ્ય] ભાષા ઘટાડો કહેવાય છે, આ છે. તમે સમાન કાર્યો હોય શકે છે અન્ય ભાષાઓમાં, માત્ર કહેવાય વિવિધ વસ્તુઓ. STEPHEN KREWSON: અને શું ગણો આર વિશે સરસ છે આ કિસ્સામાં કે ગણો છે આર અનંત યાદીઓ સાથે કામ કરી શકે છે. આ નીચે, આ P5 તેથી નોંધો પેદા થાય છે કે માટે પગલું Sequencer માં ચાલુ છે કેટલાક ડ્રમ ભાગ પાંચમી ડ્રમ ભાગ અને કદાચ તે એક conga છે પડઘમ અથવા કંઈક. અને આ એક ઇરાદાપૂર્વક છે આ લખવાની બૂઠું રીતે, પરંતુ તે છે, કારણ કે આનંદ છે તે ઘણો દર્શાવે Haskell અને Euterpea વિશે વસ્તુઓ. તેથી આ colon-- આંતરડાની આર લઈ છાતીએ લગાડવું વસ્તુઓ નહીં કે માત્ર એક ઓપરેટર સાથે મળીને એક ખાલી પર કહેવાય યાદી પર માત્ર ખાલી કૌંસ છે, કે જે યાદી. અને મને લાગે છે કે હું ફોન કરું છું આ અનંત યાદી પર. આ વાસ્તવમાં બે યાદીઓ છે અહીં નીચે એક સાથે ઉમેર્યું. આ યાદી એ 1 અલ્પવિરામ 6 ડોટ ડોટ 1, 6, 11, 16 છે. જસ્ટ તેથી Haskell-- થોડા અક્ષરો, તમે સમગ્ર પેદા કરી શકે છે નંબરો ક્રમ પાંચ નંબરો સિવાય છે કે અનંત માં પર સુધી. અને હું કે ઉમેરવું આ ટૂંકા થોડી યાદી 3, 8, 21-- માત્ર તમે બતાવવા માટે તમે કેવી રીતે યાદીઓ એકસાથે જોડવું કરી શકો છો. અને પછી હું પોતે પર ફોલ્ડ છે. અને આ માત્ર એક પ્રકાર છે અંત થાય છે ઓળખ કામગીરી, પરંતુ તે અનંત છે. અને, આર કે જે કરી શકે ફોલ્ડ કારણ કે તે lazily ઉપર તરીકે, મૂલ્યાંકન. અમે 1 અને 2 અને 3 હોય તો, અમે કરી શકો છો માત્ર તે બાકીના સમગ્ર બંધ કૌંસ. તે માટે કામ કરશે નહિં ઓછા અથવા પ્લસ, પરંતુ તે આ કોલોન માટે કામ કરશે આ યાદીમાં ઓળખ કામગીરી. તેથી અમે કેવી રીતે વ્યવહારિક ઉપયોગ કરી શકું કે જો અમે વસ્તુઓ એક અનંત લાંબા યાદી હોય છે? વેલ, Haskell પૂરી પાડે છે કાર્યો ઘણો અને આ વધુ જુઓ લેવા જેમ કે તમારા પોતાના time-- જે બરાબર, અમે છીએ, કહે છે આ અનંત યાદી પેદા પરંતુ અમે માત્ર કેટલાક લેવા જઈ રહ્યાં છો તે અને આ કિસ્સામાં નંબર અમે પાછળથી આ જોશો અમારા ડ્રમ મશીન code-- જીએમ વૈશ્વિક કેટલાક પ્રકારની છે પગલાંઓ સંખ્યા માટે ચલ આ Sequencer છે. રોલ માં મશીનો પર હું , કે જે ખાસ કરીને 16 છે, તમે દર્શાવે છે પરંતુ હું 32 સાથે અમલ કર્યો છે. તે ખરેખર તો કોઈ વાંધો નથી. Haskell પણ શુદ્ધ છે, તેથી તે મજબૂત છે કોન્નોર જશ આપ્યો હતો કે સ્થિર ટાઈપ. તેથી કાર્યો છે આ sense-- ગાણિતિક તેઓ વધુ ગાણિતિક છો તેઓ ખાતરી આપી રહ્યા છો કે ઍક્સેસ કરવા અથવા કોઇ પણ પ્રકારના ફેરફાર નથી અથવા વેરિયેબલ ઇનપુટ કે આઉટપુટ કરે છે. તમે એક કાર્ય છે તેથી જો, તે નિર્ધારિત છે. તે હંમેશા એક જ આપશે આ કાર્યક્રમ રાજ્યમાં કિંમત અથવા તે જ રહે છે. Monadic અપવાદો, અલબત્ત, ત્યાં છે આ કરવા માટે, પરંતુ તે અમારા અવકાશ બહાર છે. કોન્નોર HARRIS: યાહ. આ અર્થ એ છે, જોકે, ત્યાં છે થોડા મહત્વપૂર્ણ [અશ્રાવ્ય] આ પરિણામો. એક તો તે ખૂબ જ સરળ છે Haskell કાર્યક્રમો સમાંતરમાં. જો તમારી પાસે છે, કારણ કે , કે એક કાર્ય કહે છે જો એક મિલિયન કિંમતો પર કામ કરવાની જરૂર છે તમે તે કાર્ય હંમેશા ચાલશે ખબર એ જ કિંમત હોય તો આપી જો તમે ચોક્કસ કિંમત પર ફીડ તમે એફ, [અશ્રાવ્ય] એફ 1 છો, તો 2, પછી એફ 3 અથવા 1 એફ whatnot-- બહાર લખવા માટે નથી જતા હોય છે ફાઇલ અથવા કંઈક કે F2 ની કિંમત બદલી કરશે. તમે માત્ર એક કરવા માટે આ કાર્ય વિભાજિત કરી શકો છો મિલિયન અલગ મશીન અથવા એક મિલિયન વિવિધ સૂત્રો અથવા ગમે, પાછા બધા જવાબો મેળવવા, બધા વળતર કિંમતો વિચાર પાછા, અને પછી તે છે. વસ્તુઓ સમાંતરમાં માટે ખૂબ જ સરળ છે. આ નુકસાન કે ઇનપુટ છે અને આઉટપુટ ખાસ કરીને પ્રકાર સિસ્ટમ માં ફિટ ખૂબ જ જટિલ રીતે. હવે અમે તે યોગ્ય જાય છે, પરંતુ હું નહીં કેટલાક સ્રોતો જોવા માટે પ્રોત્સાહિત કરીએ છીએ ઓનલાઇન તમે તે વિશે જાણવા માંગો છો. STEPHEN KREWSON: તેથી લખો classes-- અને આ પ્રકારના was-- વર્ગો ઉકેલવા માટે શોધ કરવામાં આવી હતી ઓપરેટર ઓવરલોડિંગ એક સમસ્યા નથી. તેથી અમે સમાનતા છે ઇચ્છતા વસ્તુઓ વિવિધ પ્રકારો વચ્ચે. અલબત્ત, અમે of-- વિચાર કરી શકે છે આંકડાકીય પ્રકારો વચ્ચે સમાનતા વિશે વિચારો માટે ખૂબ જ સરળ છે, પરંતુ શું યાદીઓ વચ્ચે સમાનતા વિશે શું? વચ્ચે સમાનતા વિશે શું વૃક્ષ બોલ માહિતી માળખાં? અને આ બધા શક્ય છે Haskell પ્રકાર વર્ગો છે. તેથી જો તમે ચોક્કસ માહિતી type-- વ્યાખ્યાયિત તો અને અહીં, આ સંગીતવાદ્યો પીચ છે. અમે છેલ્લે મળી રહ્યાં કેટલાક કમ્પ્યુટર સંગીત. તેથી અમે C, C તીવ્ર હોય છે, અને તેથી પર અને તેથી આગળ. તેઓ એક ટોળું સંબંધ વિવિધ પ્રકારના વર્ગો. EQ-- તેઓ EQ પ્રકાર વર્ગના સભ્ય છે. એટલે કે, તેઓ આધાર એનો અર્થ એ થાય સમાનતા કામગીરી. તેથી જો તમે એક છે કે કેમ તે મૂલ્યાંકન કરી શકે છે સંગીતવાદ્યો પૌરાણિક ક્રમ એક અલગ તરીકે જ છે. તેઓ કમવાચક વર્ગના સભ્ય છે. તે એક ક્રમ આ માટે ત્યાં થાય છે. ડી સી C શાર્પ પછી આવે છે તેમજ સી પછી આવે છે. તેઓ વર્ગના સભ્ય છે તેઓ કરી શકે છે જેનો અર્થ થાય છે, બતાવવા એક કન્સોલ અથવા ટર્મિનલ પર મુદ્રિત કરી શકાય છે. તેઓ સંબંધ વર્ગ ગણના જે અર્થ એ થાય કે, તેમ છતાં આ અક્ષરો છે, તેઓ એક અંતર્ગત આંકડાકીય છે 0 પર શરૂ પ્રતિનિધિત્વ અને તેમ છતાં મારફતે બોલ જઈને ઘણી વસ્તુઓ અહીં છે, 20 અથવા તેથી, કદાચ કે 30 કે 40. કોન્નોર HARRIS: અને જ્યારે અમે એક માહિતી પ્રકાર છે કે શબ્દ સાથે derives-- "Deriving--" એક ચોક્કસ પ્રકારના વર્ગ તે કમ્પાઇલર પ્રયત્ન કરશે અર્થ એ થાય કે આપોઆપ કંઈક બનાવવા માટે. તેથી કદાચ તમે કરવા માંગો છો પડશે અલગ ગુણવત્તા વ્યાખ્યાયિત કરે છે. તમે તીક્ષ્ણ સી વ્યાખ્યાયિત કરવા માંગો છો પડશે ઉદાહરણ તરીકે, ડી ફ્લેટ સમાન છે. આ બાંધકામ સાથે અહીં, હું C શાર્પ લાગતું નથી અને ડી ફ્લેટ, કારણ કે સમાન હશે કમ્પાઇલર આપોઆપ કરશે દરેક અલગ અલગ શક્ય કિંમત કહી દરેક અન્ય અલગ છે. તેથી તે ફરીથી લખવા માટે શક્ય છે મૂળભૂત અમલીકરણ વર્ગો આ ​​પ્રકારના. ફરીથી, આ સંદર્ભ તો જોવા તમે તે વિશે જાણવા માંગો છો. STEPHEN KREWSON: અને અહીં, ખરેખર, આ પડશે અમે પાછળથી કોડ જ્યારે માટે ઉપયોગી છે. અમે બેસાડવું ઓપરેટરો કેટલાક જોવા ક્રમાંકિત રચના માટે, સમાંતર રચના, અને તેથી આગળ, આ પ્લીસસ અને સમાન સંકેતો કોલોન ':' દ્વારા ઘેરાયેલા છે. એટલે કે, અમે આ વિવિધ રમી શકે છે એનો અર્થ એ થાય સંગીતવાદ્યો પૌરાણિક અન્ય પછી એક. ક્રમાંકિત કે રચના. અથવા આપણે તેમને રમવા કરી શકો છો તે જ સમયે સમાંતર. તેથી હું એક સંગીતમય કિંમત હોઈ શકે છે, અને પછી આ બરાબર અને કોલોન ':' સમાંતર રચના ઓપરેટર બેસાડવું અને જ્યા એક પ્રકાર તરીકે તેમને ભજવે છે. અને અમે ઉપયોગ જઈ રહ્યાં છો આ ત્યારે અમે ભેગા સાથે અમારી ડ્રમ ભાગ અમારા થોડી Frere જેક્સ ગીત આ બે સિક્વન્સ રમવા માટે તે જ સમયે સંગીતવાદ્યો કિંમતો. Is-- કરી Currying છેલ્લા હતો Haskell કરી, નામ છે જે આ Haskell છબી બાદ નામ આપવામાં આવ્યું છે. અને આ એક પરવાનગી આપે છે અમે હોય ત્યારે સરસ લાવણ્ય આ તમામ અલગ અલગ લખી કાર્યો અથવા આપણે છો કે ફિલ્ટર્સ અમારા યાદીઓ પર મેપિંગ હોઈ ચાલે. બે એક કાર્ય X અને વાય એફ arguments-- તરીકે રજૂ કરી શકાય છે એક્સ એફ વાય લાગુ પડે છે. તેથી તે એક કાર્ય છે આપે છે કે એક દલીલ એક દલીલ અન્ય કાર્ય. તેથી આ અમે એક મેપ કરી શકો છો એનો અર્થ એ થાય વાય માતાનો યાદી પર એક્સ કાર્ય એફ. કોન્નોર HARRIS: કરવા માંગો છો આ એક ઉદાહરણ આપી? STEPHEN KREWSON: યાહ. હું અહીં એક ઉદાહરણ છે અમે લખશે કેટલીક બાબતો. તેથી નકલ 2-- વેલ, લેશે નકલ કેટલા છે, જે એક કિંમત વખત કંઈક નકલ કરવા, અને પછી તે એક કિંમત લેશે સામાન્ય રીતે એક સૂચિ અથવા કંઈક. અહીં, અમે મેપિંગ છો અન્ય યાદી પર 2 નકલ. અમે 2 નકલ મેપ તેથી જો, અમે 2 નકલ, તો લાગુ આ યાદી પ્રથમ તત્વ માટે અને આ સંગીતવાદ્યો phrases-- યાદી છે બે પેદા કરશે "તમે sleeping--" જેથી તમે ઊંઘ આવે છે, તો તમે ઊંઘ આવે છે. તેથી હવે અમે બે હોય છે. પરંતુ નકલ બે લે દલીલો, પરંતુ અમે છો કારણ કે મેપિંગ પછી currying અને, અમે નકલ 2 પ્રતિનિધિત્વ કરી શકે છે એક કાર્ય તરીકે પાછો ફર્યો કરવામાં આવી હોવાનું એક દલીલ માત્ર બે વાર પ્રતિકૃતિ. અને પછી અમે દરેક માટે કે અરજી કરી રહ્યાં છો શબ્દસમૂહો આ યાદી તત્વ. અને concat એક Haskell છે યાદી સપાટ માટે કામગીરી. નકલ 2 છે, કારણ કે યાદીઓ યાદી પેદા કરે છે. અને આ મધ્યવર્તી સ્વરૂપ અહીં છે. અને તેથી તે પછી અમે concat કરી શકો છો કે બે વાર કે બહાર ફ્લેટ. કોન્નોર HARRIS: એક સરળ currying ઉદાહરણ, તમે ગમે હો તો એફ માત્ર એક કલ્પના બે લે છે કે ગુણાકાર કાર્ય દલીલો અને તેમના ઉત્પાદન આપે છે. તમે એક એફ 4 5 હોય તો, તે 20 છે. પરંતુ તમે આ વિચાર કરી શકો છો also-- તમે એક કાર્ય એફ 4 એક દલીલ કે જે અને વળતર લે આ માત્ર દલીલ ચાર વખત આંશિક અરજી જે માત્ર એક દલીલ 4. અને તમે 4 એફ ફીડ તો 5, કે તમે 20 આપશે. અને તે એક સરળ છે currying ઉદાહરણ. તે સામાન્ય રીતે પુસ્તક રાશિઓ એક છે. STEPHEN KREWSON: લામડા સમીકરણો અથવા અનામ કાર્યો અન્ય Haskell હોલમાર્ક છે. અમે એક ચાબુક જરૂર હોય તો તેથી ઓછી કાર્ય જીવન નકલ પરંતુ તે ન કહી પ્રમાણભૂત પુસ્તકાલય, અમે વાક્યરચના ઉપયોગ કરી શકો છો નીચેના સમાન. અને અમે આ પર સમીર પડશે. તમે માં ઘણો જોશો એક વાત ડ્રમ મશીન અમે કોલ્સ કરી રહ્યા છીએ છે કંઈક કહેવાય જે પહેલાં જેમ, ફિલ્ટર, એક કાર્ય એક મેપિંગ છે યાદી પર, તે પણ છે બુલિયન કાર્ય એક મેપિંગ. તેથી અમે અહીં એક ઉદાહરણ છે એક એક અજ્ઞાત રૂપે વ્યાખ્યાયિત બુલિયન કાર્ય કે માત્ર એક દંપતિ કિંમતો લે છે. આ સખત રીતે બોલતાં નથી એક અનામી કાર્ય. પરંતુ તે સાથે વ્યાખ્યાયિત છે ટૂંકાણ માટે કે વાક્યરચના, અને આ માત્ર એક્સ મોડ્યુલ લે n-- કોન્નોર HARRIS: યાહ. તેથી એફ એક કાર્ય છે બે દલીલો એન અને પી કે પોતે છે કે કાર્ય વળતર એક દલીલ એક કાર્ય છે, એટલે કે એક્સ ઓનલાઇન. STEPHEN KREWSON: હું ઉલ્લેખ કર્યો બેસાડવું ઓપરેટરો. બેસાડવું ઓપરેટરો શું છે? વેલ, બેસાડવું ઓપરેટરો છે અમે કામગીરી પ્રતિનિધિત્વ સામાન્ય રીતે, mathematics-- 2 વત્તા કહે છે, તેના બદલે ઓપરેટર 2 વત્તા અને પછી બે દલીલો 2 અને 2. કોન્નોર HARRIS: તે કહેવાય છે છે, કે જે પોલિશ સંકેત રિવર્સ શબ્દ હું તમને કોઇ ખબર હોત શંકા. STEPHEN KREWSON: અધિકાર. પોલીશ માં ઉપસર્ગ સંકેત ઉલટો. પરંતુ Haskell કરવાનો નિર્ણય લીધો બેસાડવું ઓપરેટરો ઉપયોગ કરે છે. તેથી આ છે વૈવિધ્યપૂર્ણ રાશિઓ કે આ માટે વ્યાખ્યાયિત કરવામાં આવે છે Haskell માં Euterpea DSCL. તેથી આ ક્રમાંકિત રચના કરવામાં આવી હતી. આ સમાંતર રચના હતી, અને આ સમાંતર રચના કપાય હતી. અને અમે જરૂર પડશે અમારા ડ્રમ મશીન સાથે, અમે છેલ્લા ઉપયોગ કરશો કારણ કે ત્યાં થોડી tuple ઓપરેટર સાથે ડ્રમ મશીન રમવા માટે અમારા Frere જેક્સ ગીત સાથે. અને અમારા ડ્રમ મશીન છે અનંત હોઈ ચાલે. તે માત્ર કાયમ ભજવે છે. પરંતુ Frere જેક્સ ગીત નથી. તે લાંબા સમય સુધી નથી. તે માત્ર ત્યારે જ થોડા બાર છે. તેથી અમે ડ્રમ મશીન બંધ કરવાની જરૂર છે ટૂંકા સંગીતવાદ્યો કિંમત આવે જલદી અંત. અને તે infixed ઓપરેટર તે સાથે સુપર મદદરૂપ છે. જેવા બેસાડવું નોટેશનમાં આ પ્રકારની સરસ છે કહે છે કારણ કે તમે એક કાર્ય જેમ છે ભાવ, જે પૂર્ણાંક ડિવિઝન આપે કંઈક એક્સ બીજું માફ કરશો, કે a અને b પ્રયત્ન કરીશું. તમે બી એક ભાવ, કે લખી શકે છે. તમે put-- તત્વ છે તેથી જો આ અન્ય ઉદાહરણ છે. કેટલાક યાદીમાં એક્સ તત્વ, તમે મૂકી તો તે બેકટિક, તો તમે તેને વાપરી શકો છો. તે પ્રતીક નથી છતાં પણ વત્તા અથવા ઓછા અથવા વખત જેમ, તમે નામ ઉપયોગ કરી શકો છો બેકટિક કે જેમ કાર્ય ખૂબ ઠંડી છે, જે બેસાડવું ઓપરેટર તરીકે. કોન્નોર HARRIS: ફરીથી, આ છે બધા માત્ર વાકયરચનામાં ખાંડ, ખરેખર. તે ભાષા કોર અસર કરતું નથી. STEPHEN KREWSON: તેથી અમે આ માટે અહીં જુઓ અમારા Frere જેક્સ ગીત છેલ્લા શબ્દસમૂહ, હું કેટલાક ઓછી તારોને ભજવી અથવા સમાંતર રચના ઉપયોગ તૃતીયાંશ ઓપરેટર. આ અમુક કહેતા અન્ય માર્ગ છે અમે હમણાં જ કહેતા આવ્યા છે તે. તેથી જો તમે કાર્યો મેપ કરી શકો છો યાદીઓ પર એક દલીલ છે. કોન્નોર HARRIS: ફરીથી, સંદર્ભો Haskell-- પ્રારંભિક પાઠ્યપુસ્તકો માટે તે આ બધા પડશે. STEPHEN KREWSON: તેથી અહીં એક સુંદર છે પગલું Sequencer કી રેખા અમે ઉપયોગ પર એક નજર પડશે યાદી ગમ. અને અમે અહીં તે તત્વ છે તે જોવા પાછા અવતરણ સ્થિર ઓપરેટર છે. X ની યાદી એક તત્વ છે, તેથી જો એક્સ, તો પછી અમે પીઆઆરસી કાર્યો કહી શકશો. તેથી પીઆઆરસી માત્ર એક પર્ક્યુસન કાર્ય છે. તે અમુક મૂલ્ય કે પી લે બધા સીમિત સેટ ભાગ વિવિધ પર્ક્યુસન અવાજો અમે અગાઉના સ્લાઇડ જોયું કે, અને પછી તે આપે છે એક ક્વાર્ટર નોંધ સમયગાળો. બાકી તે QNR આપે છે, અને QNR માત્ર એક ક્વાર્ટર નોંધ બાકીના છે. તેથી આ સરસ કંઈક ઇમારત છે. અમે ઘટકોની સૂચિ છે, અને એક કેટલાક યાદી પર અમે પડશે લૂપ અમારા પગલું Sequencer મહત્તમ કિંમત છે. અને અમે ચોક્કસ હું પર છો ત્યારે મહત્તમ કિંમત એક કે યાદી કે હું આ એક સભ્ય છે, તો આ કાર્ય માં બનાવવામાં સમૂહ, વેલ, તો પછી અમે તેને ચાલુ એક પર્ક્યુસન નોંધ માં. અન્યથા, અમે માત્ર એક બાકીના ભજવે છે અમે ફક્ત શાંત રહે છે, કહે છે. અને અમે અહીં જોઈ કે કરી શકો છો આ યાદી ગમ વાક્યરચના, આ એક્સ દ્વારા રચાયેલ છે યાદી એક બાંધકામ આ Sequencer વૈશ્વિક માપ છે. કોન્નોર HARRIS: યાહ. માટે મૂળભૂત વાક્યરચના યાદી comprehensions છે સંડોવતા કૌંસ, કિંમત કેટલાક ચલો, બાર, ચલો શક્ય કિંમતો પોતાને, કૌંસ બંધ રહ્યો હતો. અને તમે સુયોજિત બિલ્ડર સંકેત કર્યું હોય તો ગણિત વર્ગ કોઇ પણ પ્રકારની માં, તમે જેમ 2n સુયોજિત છે શકે છે કે n અથવા છે એ z છે. આ સંકેત વસ્તુ સમાન સૂચક થઈ ગયું છે કે ગાણિતિક સંકેતલિપિ. STEPHEN KREWSON: અને તમે કરી શકો છો બહુવિધ predicates લાગુ યાદી અને બહુવિધ ગાળકો ખૂબ સરસ છે, જે ગમ. અંકગણીતીય types-- અમે અહીં લાંબા લંબાવું નહીં. આ બોલ પર કોઈ કલ્પના ત્યાં નથી Haskell અથવા એક સારા, સ્પષ્ટ ખ્યાલ લેવા માટે કેવી રીતે કહે છે, એક મૂળભૂત એક કાર્ય અથવા કંઈક પરિમાણ. Python માં આ ખૂબ સરળ છે. પર બરાબર સાથે તમે માત્ર કહી શકો છો કાર્ય જાહેર, મૂળભૂત કિંમત કેસ કંઈ પૂરી પાડવામાં આવે છે. Haskell માં, તમે કદાચ કરી શકે કદાચ લખો કદાચ વાપરવા માટે, જે ક્યાં તો કંઈ લે છે અથવા પ્રકાર ની કિંમત માત્ર એક. તેથી અમે ડ્રમ મશીન આ શોષણ અમને વૈકલ્પિક વોલ્યુમ આપવા માટે પરવાનગી આપે છે ડ્રમ ભાગો દરેક પરિમાણો. કે અમને EQ કર્યા માર્ગ આપે છે તેથી અથવા ચોક્કસ ચેનલ પર વોલ્યુમ. કોન્નોર HARRIS: માં અન્ય Haskell ઉદાહરણો તમે કદાચ માટે વપરાય જોઈ શકે છે નિષ્ફળ કરી શકે છે કે કાર્ય કરે છે. આ એક સામાન્ય છે. STEPHEN KREWSON: અને તમે સપ્લાય કરી શકો છો મૂળભૂત તરીકે ભૂલ સંદેશો અમુક પ્રકારની. અને તે જ્યારે ખાસ કરીને હાથમાં છે તમે Haskell માં I / O કરી રહ્યા છીએ. યુક્તિઓ કે હોઈ શકે છે. કોન્નોર HARRIS: અથવા એક માટે સમાન ઉદાહરણ તરીકે, લાગે છે વિભાગ સમાવેશ થાય છે કે કાર્ય 0 હોઈ શકે છે કે એક પરિમાણ છે. અને તે કામ કરી શકે છે કદાચ ગમે આવો. 0 દ્વારા કોઈ વિભાગ છે તેથી જો, તે માત્ર ગમે આપશે. અને વિભાગ દ્વારા જો ત્યાં છે 0, તે કંઇ આપશે ભૂલ સંકેત એક માર્ગ તરીકે. એક પરિણામ છે, કારણ કે Haskell ખૂબ કડક ટાઈપ કોઈ real-- છે તે છે અપવાદો, મૂળભૂત રીતે, અનાડી છે ભૂલ નિયંત્રણમાં અનાડી છે. અને આ ખૂબ જ એક છે આમ સામાન્ય રીતે. STEPHEN KREWSON: તેથી હવે અમે વિચાર અન્ય મન-બેન્ડિંગ વસ્તુ Haskell વિશે જે પેટર્ન છે બંધબેસતી અને કાર્ય વ્યાખ્યાઓ. હું છેલ્લા સ્લાઇડ તમે દર્શાવે છે પગલું ક્રમ ઘોષણા કદાચ કિંમત લીધો, જે કાર્ય, પછી પૂર્ણાંક, પછી ints યાદી પછી એક ક્રમ આપે છે સંગીત કિંમતો ત્યાં ટિપ્પણી પીચ અને વોલ્યુમ બંને સાથે. તેથી તે ત્રણ દલીલો હોઈ શકે છે નીચેના રીતે મેળ ખાતી પેટર્ન. અને અમે હંમેશા ખાતરી કરો કરવા માંગો છો પ્રથમ એક આધાર કેસ અથવા બહાર નીકળો કેસ નથી. અને આ underscores માત્ર અર્થઘટન કરી શકાય છે ત્યાં છે કે જે કોઈપણ કિંમત અર્થ. અમે ક્રમ પગલું કોલ મળે છે તેથી જો કેટલાક કિંમત સાથે કેટલીક અન્ય કિંમત, અને પછી ખાલી યાદી, અમે શું કરવા માંગો છો પરત કરવા માટે માત્ર મૌન, આરામ 0 હોય છે. અને તેના બદલે તે ખાલી યાદી અથવા 0 છે, અમે છો, કારણ કે તે આરામ 0 સંગીત પ્રકાર સાથે વ્યવહાર અને સંગીત ખાલી યાદી પ્રકાર માત્ર કોઈ સમયગાળો એક બાકીના છે. તે કોઈ સંગીત છે. અમે એક પગલું વિચાર, તો પછી અમે જુઓ વોલ્યુમ દલીલ માટે વી સાથે ક્રમ, સાવચેતી સાધન માટે પી દલીલ, અને પછી એક્સ યાદી. પછી અમે કેટલાક સામગ્રી નથી. ખાસ કરીને, અમે અરજી આ યાદી ગમ, અને અમે કેટલાક કરવા આ કદાચ કિંમત પર કામગીરી કે જેથી આંકડાકીય કિંમત તેને ચાલુ કરવા માટે તે પછી ગણના અને ઉપયોગ કરી શકાય છે આ સાધન પસંદ કરો. ફરીથી, આ થોડું છે થોડી ઇરાદાપૂર્વક inconcise ફક્ત તમામ અલૌકિક વસ્તુઓ બતાવવા માટે તમે તરીકે Haskell માં કરી શકો છો તમારા પોતાના સમય પર તે પર એક નજર. બધા અધિકાર. તેથી અમે આખરે રહ્યાં છો અમે બહાર સુયોજિત કરવા માટે શું કરવું, જે કેટલાક કમ્પ્યુટર સંગીત બનાવે છે. તેથી અમે પ્રયાસ કરવા જઈ રહ્યાં છો આ Frere જેક્સ ગીત બનાવે છે. તેથી કેવી રીતે ઘણા હોય છે Frere જેક્સ શબ્દસમૂહો? ચાર. ગ્રેટ. અને શું સારું છે એ છે કે તેઓ બધા પુનરાવર્તન કરી રહ્યાં છો બે છે, જે વખત એ જ જથ્થો. તેથી અમે ચાર શબ્દસમૂહો અનુવાદ છે દરેક બે વખત ગાવામાં આવે છે. અને ખાસ કરીને, તેઓ એક રાઉન્ડ છો. અને, ત્યાં ઘણા છે ઘણી રીતે અમલ કરવા માટે કરવા માટે મજા હોઈ શકે છે કે એક રાઉન્ડ. હું તે કર્યું ખૂબ અહીં સરળ માર્ગ, જે માત્ર રેખા બનાવવી છે કાર્ય સંગીત કિંમતો યાદી લે અને ક્રમિક રચના માં કરે છે કે ક્રમિક રચના અરજી દ્વારા ઓપરેટર. અને પછી હું વિવિધ ભાગો વિલંબ કરીને તેમને બાકીના સાથે શરૂ થાય છે. તેથી હું બે પગલાં બાકીના સાથે શરૂ કરવા માટે, અને પછી ચાર પગલાં બાકીના અને છ પછી આરામ પગલાં, અને પછી રાઉન્ડ અમે બધા આ ગીત ખબર છે, કામ કરે છે. અમે જુઓ બે એનોટેશંસ અથવા સંગીત કિંમતો ફેરફારો આ ક્રમાંકિત માં સમાયેલ છે સંગીત તત્વો વ્યવસ્થા. અમે એક ઉમેરો વોલ્યુમ છે. આ ટીકા કરવા માટે એક કાર્ય છે ચોક્કસ વોલ્યુમ સાથે સંગીત. આ એક સારું ઉદાહરણ છે એક MIDI સંકેત ચાલી 0 થી 127 કરવા માટે, સાત બીટ્સ ધરવામાં કરી શકાય છે કે જે માહિતી. અને then-- અમે ખૂબ જ જોયું થોડા સમય માટે, પરંતુ સામાન્ય મીડી બધા અલગ અલગ સાધનો યાદી. અને તેમને સમગ્ર ઘણો ત્યાં નથી. તમે ડિજિટલ ઓડિયો વર્કસ્ટેશન વાપરો તો, Ableton લાઈવ અથવા પ્રો સાધનો જેમ, એક ઉત્સાહી વિશાળ શ્રેણી છે સિન્થેસાઇઝર્સ અને વીએસટી વગાડવા. પરંતુ મીડી પ્રમાણભૂત માત્ર થોડી, અથવા કેટલાક ડઝન છે. અને તેમને કેટલાક રમૂજી છે. અમે ભજવી તો હું તે મજા હોઈ વિચાર્યું સાધન મીડી સાધન હેલિકોપ્ટર, અને પછી રાઉન્ડ મારફતે આગામી રીતે, અમે અને પછી, એક પેડ સિન્થ હતી આ જડ લીડ ચોરસ તરંગ સિન્થ, અને પછી, માટીનો પ્રવાહી રગડો અવાજ છે, જે એક મારા ખરાબ મીડી પર થોડો અસ્પષ્ટ સિન્થેસાઇઝર, પરંતુ તેઓ બરાબર. અને પછી અમે આ દો જોવા અને Haskell થી વાક્યરચના, અને પછી અમે રમી રહ્યાં છો બધા સાથે મળીને આ ભાગો સમાંતર રચના ઓપરેટર સાથે. અને અમે કદાચ આ અમુક દર્શાવી શકે છે. અહીં કોડ છે. અને તમે સી માં જોઈ શકો છો, એક ત્યાં હશો ગળામાં ક્લિયરિંગ અને સેટિંગ ઘણો તમે પહેલાં ટેબલ કોડ આ જેમ સંગીત બનાવી શકે. અથવા અન્ય કોઇ પ્રોગ્રામિંગ ભાષા, તો તમે કદાચ છો અમુક પ્રકારના સાથે સંપર્કવ્યવહાર કરવા માટે હોય છે લાઇબ્રેરી અથવા API અને બધું સેટ, અને પછી તમે સાફ હોય તો. પરંતુ અહીં Haskell છે, હું એક વખત લાગે છે, તમે ઉત્સાહી, તેના હેન્ગ વિચાર ભરોસાપાત્ર અને ખૂબ જ અભિવ્યક્ત. તેથી અમલીકરણ છે Frere જેક્સ છે. બધા અધિકાર. હવે અમે પર્ક્યુસન ઍડ કરવા માંગો છો, અને આ થોડો messier છે. તેથી આ સ્લાઇડ્સ પર એક નજર કરીએ. તેથી મોટો વિચાર કરવા માટે છે યાદીઓ અથવા ભાગો એક ટોળું. તે રોલ માં મશીનો પર, ત્યાં કદાચ આઠ ખાસ કરીને લગભગ હતા 10 લય અથવા પર્ક્યુસન ભાગો છે. અને પછી તકનીકો એક ટોળું ઉપયોગ કરે છે. અને અમે ગયો હતો ઉપયોગ વિશે વાત કરી છે folds, ફિલ્ટર, લામડા કાર્યો, કિંમતો પેદા કરવા માટે યાદીઓ પર મેપ કેટલાક શ્રેણી 1 આર, આર, 16 અથવા Sequencer 32 પગલાંઓ. અને તે યાદી કિંમત છે પછી તો અમે Sequencer મારફતે ચલાવી રહ્યા છો, કારણ કે પર તે મારફતે ચાલી રહ્યું હોય અને પર, તે નોંધ પર વળે છે, અને તે નમૂના કારણભૂત નહીં. અહીં બધા વિવિધ વિચિત્ર માર્ગો છે હું નોંધો પેદા કરવા માટે સાથે આવ્યા હતા. તમારા પોતાના અર્ધ રકમ પર પ્રયાસ કરો. તે ઠંડી અવાજ પડશે. સમય અમે આ દ્વારા જઈશ, શક્ય બનાવે છે. પરંતુ હમણાં માટે, હું ધારી અમે અમે શું ડેમો જોઈએ. ચાલો આ ઠીક જાય છે આશા કરીએ. તેથી આ GHCI છે. અને અમે એક ફાઇલ લોડ પડશે હું કહેવાય song.lhs હોય છે, જે હું માત્ર તમે દર્શાવે છે ફાઈલ છે. ઠીક છે, સરસ. કોન્નોર અગાઉ જણાવ્યું હતું કે, તે સંકલિત, તે ચકાસાયેલ ટાઇપ, તેથી હું ઘણો સરળ શ્વાસ કરી શકો છો. તે મને પર તમાચો નથી ચાલી રહ્યું છે. હું તમને ઉપયોગી કંઈક બતાવવા માંગતા હતા. તમે કે જોઈ શકો છો લોડ મોડ્યુલ 50 કહેવાય છે. તમે કે મોડ્યુલ બ્રાઉઝ કરી શકો છો. અને આ આવું સરસ છે doing-- વિશે કદાચ શું Haskell નથી તમે કરી રહ્યા છીએ સોફ્ટવેર વિકાસ કહેવાય છે, પરંતુ તમે ઘણો કરી શકો છો તમારા પોતાના પર મજા સામગ્રી. અને વર્કફ્લો ખરેખર સરસ છે અન્ય ભાષાઓમાં ઘણો સરખામણીમાં તમે ખરેખર જોઈ શકો છો, કારણ કે શું થઈ રહ્યું છે વાંચી શકાય તેવી રીતે. તેથી અમે જુઓ કે આ બધા શબ્દસમૂહો છે, કે જે સંગીત પીચ યાદી છે, અને પછી અમે મોટા કંઈક માં આ બિલ્ડ, કે જે સંગીત ગીત છે. તે સંગીતમય એકમ છે. અને પછી અમે આ બધા રમી શકે છે એક કાર્ય કહેવાય નાટક સંગીત સાથે. તમે અહીં નીચે જોઈ શકો છો. જે માત્ર નાટક છે. હું વિશે વાત કરી ન હતી કહેવું જોઈએ બધે છે કે આ ડોલર સાઇન. ડોલર સાઇન અન્ય બેસાડવું ઓપરેટર છે. પરંતુ તે સૌથી નીચો અગ્રતા છે જે અસરકારક રીતે કોઇ ઓપરેટર છે, પર છે કે બધું જ એનો અર્થ એ થાય ડોલર સાઇન ડાબી અને ડોલર સાઇન અધિકાર અમે તે પહેલાં મૂલ્યાંકન કરવા માટે જઈ રહ્યાં છો. તેથી તે અન્ય જેવા પ્રકારની છે કૌંસ ઉમેરીને રીતે. કોન્નોર HARRIS: તે મૂળભૂત છે કાર્ય રચના. અને તે જો તમે અહી નથી તે ચોકસાઈપૂર્વક તમે કાર્યો બાજુ અથવા બેસાડવું ક્યાં હોય ક્યાં તો બાજુ પર ઓપરેટરો, તેઓ નહીં તે સમગ્ર સાંકળવા અને તમે આપી અણધારી પરિણામો. STEPHEN KREWSON: તેથી અમે can-- મદદથી, અમે કહી શકો છો. પ્રથમ, અમે ડ્રમ્સ વગર તે રમવા પડશે. કે, હેલિકોપ્ટર છે મધ્યમ હેલિકોપ્ટર. [સંગીત વગાડવાનો] ચોરસ તરંગ છે. અવાજ માટીનો પ્રવાહી રગડો. અને તમે ખરેખર આ સાથે જંગલી જઈ શકે છે. હું એક સુંદર સરળ એક લેવામાં, હું જાણતો હતો કારણ કે હું બંધ પડવું ન જોઈએ હું ધરવું શકે તેના કરતાં વધુ. માત્ર ખૂબ સરળ રાખવા મુખ્ય વિચારો બતાવવા માટે. પરંતુ પછી હું જેમ આપણે કર્યું હતું આ માટે કેટલીક ડ્રમ્સ ઉમેરવા મળી. માત્ર આ એક છે, કારણ કે થોડો અભેદ્ય, અને હું ઉપયોગ કર્યો ન હતો ડ્રમ ભાગો નામ, તેઓ કારણ કે હું them-- મેપ કે ગણના વર્ગ ભાગ, હું ints તેમને જોડાયેલ. એક બાસ ડ્રમ જેવી છે. શૂન્ય તરીકે સારી છે. સાત ઊંચી ટોપી છે. અને નીચે અહીં જ્યાં કાર્યો, થોડી વધુ રેન્ડમ વિચાર આ conga ડ્રમ જેવા છે. તેથી તમે કદાચ એક about-- લાગે છે કે જો ડ્રમ મશીન અમલ કરવા માટે આનંદ માર્ગ જ સુવ્યવસ્થિત ઉપયોગ કરવા માટે છે તમારા બાસ ડ્રમ પર પેટર્ન. તેથી દાખલા તરીકે, આ બોલ પર ફિલ્ટરિંગ પર પરત આપે છે કે બધું જ સાથે યાદી તે મોડ્યુલ 04 લઈ જાય છે જ્યારે 1. તેથી હું 1, 5, 9, 13, 17-- તેથી આ વિચાર દરેક માપવા પ્રથમ બીટ છે. અને તે પછી આ જ છે વસ્તુ બે પગલાંઓ બદલાયું. જેથી offbeat છે. તેથી આ હશે એક ઉચ્ચ Hat કંઈક. અને પછી ફરી, નીચે અહીં, તે થોડી રેન્ડમ છે અમે conga ડ્રમ્સ કરી રહ્યાં છો કારણ કે. અને હું પણ, અહીં કેટલાક maracas નીચે હોય છે. તેથી હું નાટક ડ્રમ મશીન કહી શકે છે પરંતુ તે કાયમ પર જાઓ કરશે, અને તે પડતો શરૂ થઇ શકે છે મારી સિસ્ટમ તમામ મેમરી. તેથી હું આ કાર્ય કહી શકશો , અમે જોશો કે જે સંગીત ભજવે છે આ કપાય સમાંતર રચના ઉપયોગ અમારા ઓછી Frere જેક્સ ગીત રમવા માટે આ વિચિત્ર ડ્રમ મશીન સાથે. તેથી આપણે એક નજર કરીએ. અને સુધારવા નથી કૃપા કરીને મારા બધા ડ્રમ ભાગો વ્યવસ્થા. નથી મારી વિશેષતા, પરંતુ હું તે કરી આનંદ ઘણો હતો. [સંગીત વગાડવાનો] તેથી અલબત્ત, આ બધા છે મજા તરીકે એક થોડો નથી અમે તેને કન્વર્ટ કરી શકતા નથી, તો એક સ્કોર તેથી કદાચ તે અર્થઘટન કરી શકાય છે માનવ કલાકાર દ્વારા. તેથી હું તેને અહીં ચાલશે નહિં. હું પહેલેથી જ ફાઈલો પેદા કર્યું છે. તમે ત્યાં છે કે જોઈ શકો છો કોઈ લિલીપોન્ડ Language ફાઈલ અને આ મારા જીતે પર રહેશે Connor-- અને કોઈ MIDI ફાઇલ, અને શું કોઈ પીડીએફ ફાઈલ છે, કે જે લિલીપોન્ડ Language આખરે પેદા કરશે. પરંતુ આ તે સ્ક્રિપ્ટો હોય છે, અને હું પડશે માત્ર તેમના મદદ વિકલ્પો સાથે તેમને ચલાવો. તમે આ વિચાર અને સાથે ચાલી તો Euterpea, તમે મીડી ફાઇલ પેદા કરી શકે છે. અને પછી મીડી ફાઇલ માંથી આ MIDI 2LY કાર્યક્રમ સાથે, તમે એક કમળનું ફૂલ પેદા કરી શકે છે પોન્ડ ફાઇલ, અને પછી તમે કુલ સ્કોર પીડીએફ પેદા કરી શકે છે. અને અમે આ પર એક નજર કરીશું. તેથી કોન્નોર કદાચ બતાવશે તમે કેવી રીતે આ સારી ટીકા કરવા પરંતુ આ Frere જેક્સ તરીકે છે Euterpea મને દ્વારા પેદા થાય છે. તે માત્ર સી હું figured છે કરીશું છે તે ખરેખર છે હેક શું. પરંતુ તે માટે પાઇપલાઇન છે તમે તે સાથે શું કરવું છે કે કેવી રીતે. માતાનો લિલીપોન્ડ Language વિશે વધુ વાત કરીએ. કોન્નોર HARRIS: બરાબર માતાનો જોવા દો. તમે Haskell જાણો ઉલ્લેખ કર્યો છે? STEPHEN KREWSON: ઓહ હા. બહાર તપાસો કે તમે Haskell જાણો. તે સ્રોતો છે. હું કેવી રીતે શરૂ થયું છે શીખવાની, અને તે મહાન છે. મૂંગું નથી શીખવી. કોન્નોર HARRIS: તેથી તે છે. તેથી નામ આપવામાં વ્યક્તિ [અશ્રાવ્ય] learnyouahaskell.com કોઈ જગ્યાઓ. વ્યાકરણ બીમાર છે. STEPHEN KREWSON: તે ખૂબ, સચિત્ર છે. કોન્નોર HARRIS: લિલીપોન્ડ Language શું એવું છે? તે ઘોષણાત્મક પ્રોગ્રામિંગ છે સંગીત ટાઇપસેટીંગ ભાષા. તેથી જો તમે આ કરી શકો છો declarative-- એચટીએમએલ જેવી વસ્તુઓ લાગે છે, તમે ન હો જ્યાં saying-- HTML કેવી રીતે વેબ બ્રાઉઝર્સ જોઈએ કહેવું નથી રેન્ડર પૃષ્ઠો પગલું દ્વારા પગલું. તે માત્ર આ કહેતા છે ટેક્સ્ચ્યુઅલ વર્ણન છે તમે શું કરવા માંગો છો પાનું જેવા દેખાય છે. અને પછી તે પણ એક કાર્યક્રમ છે આ ભાષા કમ્પાઇલ, અથવા તે ખરેખર તો પછી તેની વાંચી અને તમારા માટે ટાઇપસેટીંગ કરે છે, અને તે આ બહાર spits અદ્ભુત જોઈ પીડીએફ સ્કોર્સ. તમે પણ PNG સ્વરૂપમાં અથવા ગમે મેળવી શકો છો. એક સારી રીતે વિચાર કરવા આ સાદ્રશ્ય દ્વારા છે લેટેક્સ પ્રકારની LillyPond જેવા છે પરંતુ માત્ર સામાન્ય ટાઇપસેટીંગ છે. તેથી તેના બદલે તે નથી of-- શું તમે જુઓ WYSIWYG, તમે કહે છે, જેમ મેળવો શું છે અંતિમ છે, અથવા Sibelius, અથવા માઈક્રોસોફ્ટ વર્ડ, તમે લખી શકો છો જ્યાં વાસ્તવિક સમય માં વાસ્તવિક સમય અને ડ્રાફ્ટ વસ્તુઓ અને તત્કાલ ફેરફારો જુઓ. તે લખાણ આધારિત છે. તમે તમારા કમ્પાઇલ કરવા માટે છે એક અલગ કાર્યક્રમ વાપરી સ્કોર્સ અને બાદમાં પીડીએફ નીકળી જાય છે. આ એક થોડી ઓછી છે તમે છો, તો વાપરવા માટે અનુકૂળ સીધા લખવાનો પ્રયાસ તમે છો અને એક સ્કોર માં કમ્પ્યુટર પર કંપોઝ પ્રયાસ કરે છે. પરંતુ ઘણો હોય છે તે માટે લાભ. એક, તે ઘણો NICER જોવા નથી LillyPond ખરેખર કરી શકો છો કારણ કે કરવા માટે સમય લે છે યોગ્ય રીતે લેઆઉટ નિર્ણયો હોય છે જે Sibelius અથવા અંતિમ ચરણ, વિપરીત તેથી ગડબડ ગાણિતીક નિયમો બનાવવા માટે તેઓ પ્રદર્શિત કરી શકો છો કે વાસ્તવિક સમય માં વસ્તુઓ. તેથી શા માટે LilyPond-- છે કમ્પ્યુટર ગ્રાફિક્સ મુશ્કેલ છે. તમે સંગીત સાથે કંઈ કરી રહ્યા છીએ અને તમે સ્કોર્સ લખી માંગો છો, તમે લખવા માટે નહિં માંગો તમારી જાતને દ્વારા બધું બહાર ડ્રો માટે કેવી રીતે સાથે શરૂ staffs અને કેવી રીતે નોટપેડ્સ ડ્રો. તે ખૂબ જ મુશ્કેલ છે. તે પહેલાં કરવામાં આવ્યું છે. તમે દંડ છો. તમે અંતિમ ચરણ અથવા Sibelius ઉપયોગ કરવા માંગો છો, તે વસ્તુઓ માટે ફાઈલ બંધારણો ખૂબ જ જટિલ છે, અને તમે નથી કરી શકો છો ખરેખર પ્રોગ્રામ તેમને ઉપયોગ કરે છે. તમે અંતિમ સાથે Sibelius ખોલી શકે છે અને ફાઇલ પર જાઓ, નિકાસ પીડીએફ તરીકે જાતે, પરંતુ જો તમે ખરેખર નથી કરી શકો છો સ્ક્રિપ્ટ કે કોલ. LillyPond, તમે ફોન કરી શકો છો તે સ્ક્રિપ્ટ માંથી. તમે સરળતાથી ફરી વળવું કરી શકે છે LaTeX સાથે LillyPond. હું જવા માટે કે ખૂબ સમય નથી પડશે હમણાં આ ટેકનોલોજી માં પરંતુ તેઓ અસ્તિત્વ ધરાવે છે. તમે જોવા માંગો છો, તો એક LillyPond પુસ્તક માં, તે સાથે આવે છે કે જે કાર્યક્રમ છે તમારા LillyPond વિતરણ, અને તે વારો માટે છે LaTeX માં LillyPond ટુકડાઓ તમે કંઈક કરવા માંગો છો, તો એક મોટી musicology દસ્તાવેજ જેવી ઉદાહરણ તરીકે ઉદાહરણો સાથે. અને તે માટે એક સારા કૌશલ્ય છે તમે કંઈપણ કરી રહ્યા છીએ જીવન સંગીત, માત્ર CS50 છે. હું બધા માટે LillyPond ઉપયોગ કર્યો મારી રચના પ્રોજેક્ટ હું મૂળભૂત હતો, કારણ કે એક ઉચ્ચ શાળા માં વરિષ્ઠ. તેથી અહીં કેટલાક સરળ ઉદાહરણો છે. આ મૂળભૂત પ્રતિનિધિ છે મુશ્કેલી સ્તર કે મોટા ભાગના લોકો કરશે તેઓ પ્રયાસ કરી રહ્યા હતા તે સામનો કરવો પડે સરળ પ્રોજેક્ટ માટે લિલીપોન્ડ Language વાપરવા માટે. આ પ્રથમ એક શરૂઆત છે બેચ દ્વારા કીર્તન નું ટૂંકુ સંગીત. આ તળિયે એક ટૂંકસાર છે મારા પોતાના કામો એક, અને તે બતાવવા માટે માત્ર છે [અશ્રાવ્ય] જેવી વસ્તુઓ એ જ બહુવિધ રેખાઓ મૂકી સ્ટાફ, કેવી રીતે ગીત undersetting કામ કરે છે. ઊર્મિ underlays ખૂબ જ છે કે એક વસ્તુ છે ગાયકગણ માટે ગાયેલું સંગીત માટે લિલીપોન્ડ Language વાપરવા માટે સરળ. અને તેથી તે પછી કેટલાક વધુ છે અહીં જટિલ ઉદાહરણો. આ તમામ કરવામાં આવે છે લિલીપોન્ડ Language અને તેઓ શક્ય છો. આ પ્રથમ ટૂંકસાર છે [અશ્રાવ્ય] [અશ્રાવ્ય] દ્વારા. અને આ [અશ્રાવ્ય] થી સોલો બાઝ એક ભાગ [અશ્રાવ્ય] દ્વારા વાંસળી, જે longtime-- છે જે આ લાંબા સમયથી સભ્ય હતા અહીં સંગીત વિભાગ, મને લાગે છે. હું તે માટે આ બોલ ગઇ છે જ્યાં તેની ખાતરી નથી. પરંતુ તેમણે હાર્વર્ડ ના સલાહકાર હતા એક લાંબા સમય માટે સંગીતકારો એસોસિએશન. વન્ડરફુલ મેન. અને તે ખૂબ જ છે કે કેટલાક સંગીત લખે છે જટિલ સંકેત કે LillyPond તેમ છતાં ખૂબ જ સરસ રીતે સંભાળી શકે છે. તેથી માત્ર તમે એક અર્થમાં આપે છે શું આ વસ્તુ ક્ષમતાઓ જેથી are-- LillyPond ની આંતરિક ખૂબ જ જટિલ છે. અને તમે તે ઉપયોગ કરી શકો છો લાંબા સમય સમાવેશ થાય છે કેટલાક ખૂબ જટિલ માટે વસ્તુઓ વગર ખરેખર તેમને વિશે ઘણું જાણવા હોય છે. પરંતુ મૂળભૂત વિચાર પર છે નીચો LillyPonds ના અણુઓ નોંધો છે. નોંધો સમાવે સંદર્ભ કહેવાય અવાજો. અવાજ સંદર્ભ તેથી મૂળભૂત અનુલક્ષે પોલીફોની એક વાક્ય છે. અને પછી સંદર્ભ હોઈ શકે છે ક્રમ સમાયેલ ઉચ્ચ સ્તર રાશિઓ કે આ સ્કોર પર staffs પ્રતિનિધિત્વ જેમ કે મોટા જૂથો પિયાનો staffs અથવા કેળવેલું staffs, અને પછી છેવટે સમગ્ર સ્કોર સંદર્ભમાં. અને તમે ખરેખર આવરી લે કરી શકો છો એક પુસ્તક ઘણા સ્કોર્સ. અને દરેક સંદર્ભમાં છે જોડાયેલ engravers સંખ્યા. તમે મારફતે જુઓ તો સંદર્ભ સમાવિષ્ટો અને ચોક્કસ પ્રતીક અથવા પ્રિન્ટ જરૂરી પ્રતીકો ચોક્કસ વર્ગ. દરેક અવાજ સંદર્ભ તેથી, [અશ્રાવ્ય] નોંધો છે મૂળભૂત રીતે કાર્ય છે કે જે કોતરનાર અથવા બધા નોંધ બહાર લખે છે કે એક પદાર્થ એક પાનાંની જમણી ભાગો પર હેડ. પછી એક ફાટ કોતરનાર, ત્યાં જે સ્ટાફ પર clefts બહાર લખે છે. પછી એક metronome છે માર્ક કોતરનાર કે એક સ્કોર metronome ગુણ બહાર લખે છે. અને આ બધા ખૂબ ફિટ સારી વંશવેલો માં. અને તે ખૂબ જ, ખૂબ, ખૂબ છે વૈવિધ્યપૂર્ણ, કે જે તમને જરૂર છે તમે કે જેમ વસ્તુઓ વિચાર કરવા માંગો છો. તેથી તમામ સંદર્ભમાં હોય વિવિધ ગુણો ઘણો તમે બધું માટે સંશોધિત કરી શકો છો કે વિવિધ ફોન્ટ માટે અંતર થી વસ્તુઓ કદ પસંદગી. તમે પણ કરવા માંગો છો વધુ જટિલ વસ્તુઓ, એમ્બેડેડ સ્ક્રિપ્ટીંગ ભાષા છે. તેઓ યોજના, ઉપયોગ કરે છે તોતડાવું બોલી છે. આ કદાચ નથી તમે કંઈપણ અર્થ. પરંતુ મૂળભૂત રીતે, એક યોજના અન્ય વિધેયાત્મક પ્રોગ્રામીંગ ભાષા, વધુ કે ઓછું. STEPHEN KREWSON: ટાઈ છે. કોન્નોર HARRIS: યાહ. તે એક સારો ટાઇ-ઇન છે, હું કદાચ. અને તે એક શિક્ષણ ભાષા તરીકે વપરાય છે, ખરેખર, માસ એવેન્યુ નીચે એમઆઇટી મુ. અને તે LillyPond માટે ખૂબ જ સરળ છે વિવિધ ટેકનિકલ કારણોસર. અને તેથી તમે સરળ બનાવવા માંગો છો તો શરતો પર આધાર રાખે tweaks, ઉદાહરણ માટે ચોક્કસ છે મળ્યા છે કે સ્કોર શરત, માટે ફેરફાર કરી લેઆઉટ અથવા પછી whatnot-- તે સુવિધાઓ છે. તેઓ જટિલ છો. તેથી અહીં એક સુંદર, સરળ કોડ નમૂનો છે. તે પાંચ લીટીઓ છે. મૂળભૂત રીતે, હું બે staffs વ્યાખ્યાયિત છું. તે 3/4 છે. પ્રથમ સ્ટાફ ધરાવે છે ટેમ્પો માર્ક જોડાયેલ છે, પરંતુ તે ખરેખર રહ્યું છે સમગ્ર સ્કોર પર જાઓ, ટેમ્પો ગુણ કારણ કે કુલ સ્કોર સ્તર પર છે. આ metronome માર્ક કોતરનાર સંદર્ભ સ્કોર સાથે જોડાયેલ છે. વિવિધ કીઓ છે, [અશ્રાવ્ય] કોતરનાર, કારણ કે આ સ્ટાફ સાથે જોડાયેલ છે. તમે ખરેખર કરી શકો છો. હું લખ્યું નમૂનો છે ખરેખર સી મુખ્ય, પરંતુ તે માત્ર છે તમે કરી શકો છો નિદર્શન વિવિધ staffs વિવિધ કીઓ. અને મૂળભૂત વાક્યરચના તમે લખી છે ઇ, એફ, જી, ગમે સાથે નામો નોંધ કરો. તમે accidentals કરવા માંગો છો, તો તમે અથવા ES પ્રત્યય. આ ડચ છે musicological સંમેલનો. અને પહેલી આઠ પંક્તિ કૂદી જઇ શકે કરવા માટે, તમે ઉપયોગ કરે છે આ ગુણ, અલ્પવિરામ અથવા એપોસ્ટ્રોફી નિશાની. સાપેક્ષ માત્ર અર્થ એ થાય તમે એક નોંધ હોય છે ગમે, તે આપોઆપ માં plaec આવશે અગાઉના એક નજીકના ઓક્ટેવ. અને તમે કરતાં વધારે કૂદી માંગો છો એક પાંચમા અથવા more-- કહે fifth-- પછી તમે [અશ્રાવ્ય] ઉપયોગ કરે છે. પરંતુ નહિંતર, તમે કરવાની જરૂર નથી દરેક એક નોંધ પહેલી આઠ પંક્તિ સ્પષ્ટ કરો. અને સંબંધિત સી, વડાપ્રધાન, અને સી, તમે માત્ર મધ્ય સી સ્પષ્ટ અને આધાર સી, ખાસ કરીને પ્રથમ નોંધો. પછી તમે આયોજન કે આ staffs છે આ બે અવાજો કે સંગીત નમૂનાઓ અને તમે એક સ્કોર છે. અને તે આ જેવો દેખાય છે. તમે સમય લેવા માંગતા હોય તો LillyPond કે નમૂનો નકલ અગાઉના પર કોડ અહીં સ્લાઇડ નીચે છે, અને તમે LillyPond તમારા માટે તે લખી શકો છો. હું અમે કંઈક મળી છે ખબર કે આ જેવા ઘણો લાગે છે. તેથી અન્ય ટેકનોલોજી છે કહેવાય સંગીત XML જાળવવામાં સંપૂર્ણપણે જુદા જુદા લોકો દ્વારા. XML ટેક્સ્ચ્યુઅલ માહિતી માળખું હું માહિતી કહે માળખું કહેવું જોઈએ ના રૂપક નકશો સૉર્ટ કરો. અને તેને પકડી કરવા માટે રચાયેલ છે અધિક્રમિક માહિતી ખૂબ જ સારી. એચટીએમએલ, ઉદાહરણ તરીકે, XML એક પ્રકાર છે. અને તમે XML, કારણ કે કહી શકો છો કે તેઓ હતી બધા કોણ કૌંસ અને કોણ કૌંસ સ્લેશ ગુણ જે દર્શાવે છે કે માહિતી ક્ષેત્રો. હું કોડ નથી સંગીત XML થી ઉદાહરણ છે. તમે તેને જાતે શોધી શકો છો. મૂળભૂત રીતે, કારણ કે તમે કરવા માંગો છો શકે છે મધ્યવર્તી મંચ તરીકે XML નો ઉપયોગ કરવા માટે સૌ પ્રથમ, તે છે, એક ઇન્ટરચેન્જ ફોર્મેટ માટે મૂળભૂત રીતે હું કહી ન જોઈએ every-- વિવિધ સ્કોર દરેક છે, પરંતુ પુષ્કળ લેખકો. તમે સંગીત લખી તેથી જો XML માત્ર LillyPond કરી શકો છો આ auxilary ની મદદ સાથે તે વાંચી કાર્યક્રમ, ly માટે સંગીત XML કહેવાય પણ અંતિમ ચરણ વાંચી શકે છે તે Sibelius તે વાંચી શકે છે. કેવી રીતે તમારી આંતરિક પદાર્થ પર આધાર રાખીને વંશવેલો, સંગીત રજૂ કરવા માટે કામ કરે છે બહાર લખવા માટે તે સરળ હોઈ શકે છે LillyPond કરતાં સંગીત XML માટે અને માત્ર સંગીત XML પર આધાર રાખે છે LY રૂપાંતર કરવું. હું [અશ્રાવ્ય] સંગીત XML છે લાગતું નથી. STEPHEN KREWSON: તે નથી. કોઇએ છતાં, તે પર કામ કરે છે. કોન્નોર HARRIS: બરાબર. Euterpea એક નથી હજુ સુધી સંગીત XML આઉટપુટ કાર્ય. તમે અંતિમ પ્રોજેક્ટ વિચાર કરવા માંગો છો, કદાચ ગાય્ઝ સાથે સંપર્કમાં વિચાર સ્ટીફન જાણે છે, અને તેઓ તમારી સહાય ઉપયોગ કરી શકે છે. STEPHEN KREWSON: હું ખુશી થશે. કોન્નોર HARRIS: પણ, મૂળભૂત રીતે, દરેક પ્રોગ્રામિંગ ભાષાઓ કે તેના મીઠું વર્થ છે પહેલેથી જ એક XML લાઇબ્રેરી છે, જેથી તમે આંતરિક બધા કન્વર્ટ કરી શકો છો અમુક પદાર્થ તમારા સંગીત XML લાઇબ્રેરી લખી શકો છો કે કે ઓછા જરૂરી છે બહાર તમારા આંતરિક માળખું ફેરફાર ગમે માટે સંગીત તમે વસ્તુઓ તે લખવા કરતાં લખવા માંગો છો સીધા LillyPond હતો. પછી માત્ર XML સાથે સાથે છાપે તમારી ભાષામાં XML પુસ્તકાલયો, તે છે કે જે ખાતરી કરશે કે જે વાક્યરચના અનુસાર યોગ્ય છે અને બધું, અને પછી LillyPond રૂપાંતરિત કરો. તેથી ટેકનોલોજી તમે કરવા માંગો છો શકે છે તમે કંઈક કરી રહ્યાં છો, તો તપાસ આના જેવું. [અશ્રાવ્ય], અન્ય auxilarry ટેકનોલોજી. આ ટેક કામ કરે છે મૂળભૂત છે અથવા LillyPond ટેક સ્ટુડિયો. જેથી તેની સાથે મદદ આપે છે નમૂનાઓ સાથે વાક્યરચના, વિવિધ સામાન્ય વગાડવા સંયોજનો. તેથી તે જોઈ સ્પ્લિટ સ્ક્રીન માટે પરવાનગી આપે છે તમે એક વિન્ડો તમારા કોડ હોઈ શકે છે અને બીજી વિંડોમાં PDF અને પીડીએફ સ્થળો પર ક્લિક કરો સંબંધિત પર જવા માટે તમારો સ્રોત કોડમાં ફોલ્લીઓ. તમે ખરેખર છો, તો આ વધારે ઉપયોગી છે લેખન LillyPond જાતે ફાઇલો તમે પેદા કરી રહ્યાં છો, તો કરતાં તેમને પ્રોગ્રામ. પરંતુ ફરીથી, તે ઉપયોગી કંઈક હોય છે. ગ્રેટ. અન્ય resources-- હું માત્ર પડશે ખૂબ જ ઝડપથી આ મારફતે જાઓ. LillyPond manuals-- LillyPond છે તેની વેબસાઇટ પર ઉત્તમ દસ્તાવેજીકરણ. તેઓ એક ટ્યુટોરીયલ છે. તેઓ એક વાક્યરચના સંદર્ભ છે. તેઓ સ્નીપેટ સેંકડો હોય વિવિધ નાના વસ્તુઓ માટે યો દર્શાવવા માટે કરી જરૂર પડી શકે છે વિવિધ ક્ષમતાઓ. તમે ઉપયોગ કરવા માંગો છો, તો સ્ક્રિપ્ટીંગ ભાષા અથવા વધુ વ્યાપક બનાવવા કસ્ટમાઇઝેશન, તો પછી ત્યાં છે આંતરિક તે URL પર સંદર્ભ આપે છે. તમે સંગીત XML ઉપયોગ કરવા માંગો છો, ત્યાં છે URL કે જે, musicxml.com/tutorial. અને પછી તમે યોજના જાણવા માટે જરૂર હોય તો તમે ખરેખર ઉપયોગ કરવા માંગો છો, કારણ કે LillyPond માં સ્ક્રિપ્ટીંગ સુવિધાઓ, પછી [અશ્રાવ્ય] કહેવાય છે સ્ટ્રક્ચર્ડ અર્થઘટન કોમ્પ્યુટર પ્રોગ્રામ, જે માત્ર બીજા છે ક્યારેય written-- મહાન સીએસ પુસ્તક તમે જાણવા માંગો છો, તો પછીથી મને શોધી હું સૌથી મહાન એક is-- શું વિચારો પરંતુ તે પણ ખૂબ જ સારી છે યોગ્ય ભાષા પરિચય. તમે કરતાં વધુ જરૂર નથી પ્રથમ થોડા વિભાગો. અને તે છે. કોઇ પ્રશ્નો? વિદ્યાર્થી: હું ક્યાં ડાઉનલોડ કરી શકો છો તમારા પેદા Frere જેક્સ જેથી હું મારા આઇપોડ પર મૂકી શકો છો? STEPHEN KREWSON: સારું, તમે લખી શકો છો Euterpea કેટલાક WAV ફાઈલ બહાર. અને તમે કોડ છે. તે GitHub પર છે. તમારા પોતાના વિવિધતા બનાવવા CS50 મધપૂડો મન દ્વારા Frere જેક્સ. તે મહાન હશે. કોન્નોર HARRIS: બીજું કોઈપણ? STEPHEN KREWSON: અમે જરૂર પણ એક સારી બાસ ડ્રમ,. તે ખરેખર ખરાબ છે. વિદ્યાર્થી: Euterpea માત્ર છે રચના બાજુ છે, પરંતુ signal-- STEPHEN KREWSON: હા. હકીકતમાં, કામ હું જ્યારે હું Euterpea કર્યું છે આ એક છે લીધો યેલ કોર્સ સ્નાતક કે તેને અવાજ સંશ્લેષણ પર હતી વાપરે છે. તેથી ત્યાં ખરેખર છે તીર ઉપયોગ સરસ રીતે અને અમે જોયું નોટેશનમાં કેટલાક સંકેત કાર્યો સાથે કંપોઝ. મોટા ભાગના લોકો માટે ખાસ કરીને, બાસ તેમને માત્ર એક સરળ સાઈન તરંગ છે. પરંતુ તમે તે કંપોઝ શરૂ કરો, તો વિચિત્ર કાર્યક્રમ રીતે, તમે ક્રેઝી ધ્વનિ મેળવી શકો છો વિચિત્ર કેસ્કેડ જેવી અસરો. તમે ખૂબ જ રેતીવાળું બનાવી શકો છો મોડ્યુલેશન ઘણો સાથે લાગે છે. હું દાણાદાર પર એક પ્રોજેક્ટ કર્યું છે, જે સંશ્લેષણ, ક્યાંક એફએમ અને નમૂના વચ્ચે. તમે ખૂબ જ નાના લેવા થોડી નમૂનાઓ, અને પછી અમુક પ્રકારના સાથે તેમને ભેગા modulator અને સમૃદ્ધ સાઉન્ડ બિલ્ડ. અમે પણ છે, જેથી ભૌતિક મોડેલિંગ કર્યું ભૌતિકશાસ્ત્ર વિશે વિચારો પ્રયાસ અને કંઈક psychoacoustics એક ટ્રમ્પેટ, અને જે રીતે વિશે વિચારવાનો અવાજ બંધ સ્થૂળ છે રણશિંગડાનો બેલ અને ધ્વનિવિજ્ઞાન રૂમ અને મોડેલિંગ મૂળભૂત ઓસિલેટર સાથે છે. કોન્નોર HARRIS: આભાર ખૂબ જ. આગામી માટે આભાર. અને હું હંમેશા તૈયાર છું ઈમેઇલ દ્વારા પ્રશ્નો લેવા connorharris@college.harvard.edu. STEPHEN KREWSON: યાહ. stephen.krewson@yale.edu. કૂલ.