1 00:00:00,000 --> 00:00:05,180 2 00:00:05,180 --> 00:00:05,930 کونر HARRIS: ہیلو. 3 00:00:05,930 --> 00:00:06,820 میں کونر ہیرس ہوں. 4 00:00:06,820 --> 00:00:09,729 میں ہارورڈ یونیورسٹی میں ایک CS50 CA ہوں. 5 00:00:09,729 --> 00:00:11,270 اسٹیفن KREWSON میں اسٹیفن Krewson ہوں. 6 00:00:11,270 --> 00:00:12,582 میں ییل میں CS50 کے لئے ایک TF ہوں. 7 00:00:12,582 --> 00:00:15,790 کونر HARRIS: اور ہم بات کرنے جا رہے ہیں کچھ ٹیکنالوجیز کے بارے میں ہے کہ آپ کو ہو سکتا ہے 8 00:00:15,790 --> 00:00:18,880 اگر آپ دلچسپی رکھتے ہیں تو استعمال کرنا چاہتے ہیں ایک حتمی منصوبے کرنے میں یا واقعی 9 00:00:18,880 --> 00:00:20,920 موسیقی کے ساتھ کچھ. 10 00:00:20,920 --> 00:00:24,400 ہم سب سے پہلے ایک پر توجہ مرکوز کرنے جا رہے ہیں Haskell کی بلایا پروگرامنگ زبان. 11 00:00:24,400 --> 00:00:26,280 یہ ایک فعال ہے زبان، اسکی مثال 12 00:00:26,280 --> 00:00:29,620 سی یا پی ایچ پی سے بہت مختلف ہے یا دیگر ضروری زبانوں 13 00:00:29,620 --> 00:00:33,450 کہ آپ نے پہلے ہی استعمال کیا جاتا ہے، اور خاص طور پر ہے Haskell کی میں لکھا ایک لائبریری پر 14 00:00:33,450 --> 00:00:40,240 لوگوں کی مدد کر سکتے ہیں، Euterpea بلایا فعل موسیقی لکھنے کے ساتھ، 15 00:00:40,240 --> 00:00:40,780 بنیادی طور پر. 16 00:00:40,780 --> 00:00:43,400 اور اسٹیفن چل جائے گا اس کی ایک بڑی مثال کے ذریعے. 17 00:00:43,400 --> 00:00:46,423 >> اس کے بعد، میں نے تم سے ملواتا ہوں LillyPond کہا جاتا ہے کچھ، جو 18 00:00:46,423 --> 00:00:48,370 کی typesetting موسیقی کے لئے ایک ٹیکنالوجی ہے. 19 00:00:48,370 --> 00:00:50,830 اس طرح کی لیٹیکس کی طرح ہے موسیقی کے لئے تم میں سے کوئی تو 20 00:00:50,830 --> 00:00:57,530 ریاضی کی کلاس کے لئے استعمال کیا جاتا ہے یا لیٹیکس دیگر P سیٹ کلاس یا کیا آپ کے پاس. 21 00:00:57,530 --> 00:01:00,440 اور اس میں ایک بار پھر، آپ کو دے دونگا، اس میں سے کچھ آسان مثالیں 22 00:01:00,440 --> 00:01:03,640 اور عام طور پر آپ کی طرف اشارہ کچھ بہتر وسائل کی سمت. 23 00:01:03,640 --> 00:01:04,319 >> اسٹیفن KREWSON: میں اس کے علاوہ، ہم نے یہ سوچا 24 00:01:04,319 --> 00:01:06,720 قائم کرنے کے لئے ٹھنڈا ہو جائے گا اشارے کا ایک تھوڑا سا 25 00:01:06,720 --> 00:01:10,780 کے درمیان ایک پائپ لائن کی طرف Euterpea پیدا MIDI فائلوں 26 00:01:10,780 --> 00:01:13,910 LillyPond میں، تو ہم فراہم کرتے ہیں اسکرپٹ پر کچھ ہدایات 27 00:01:13,910 --> 00:01:16,310 ہیں کہ ایسا کرنے کے لئے LillyPond کے ساتھ فراہم کی 28 00:01:16,310 --> 00:01:19,160 صرف یہ اوپن سورس رکھنے کے لئے اور جا ایک پائپ لائن حاصل. 29 00:01:19,160 --> 00:01:20,910 کونر HARRIS: ایک بار پھر، ہم پر زور دینا چاہئے 30 00:01:20,910 --> 00:01:23,100 ان دونوں ٹیکنالوجیز، آپ ایک دوسرے کے ساتھ ان کا استعمال کرنے کی ضرورت نہیں. 31 00:01:23,100 --> 00:01:25,370 وہ کام کرنے کے لئے ڈیزائن نہیں کر رہے ہیں ایک دوسرے کے ساتھ، اگرچہ وہ بہت اچھی طرح سے کرتے ہیں. 32 00:01:25,370 --> 00:01:26,362 >> اسٹیفن KREWSON: دائیں. 33 00:01:26,362 --> 00:01:30,116 اور مکمل طور پر مفت. 34 00:01:30,116 --> 00:01:32,240 کونر HARRIS تو منظوریاں، صرف پڑھا ہے کہ. 35 00:01:32,240 --> 00:01:33,406 اسٹیفن KREWSON: ودوت بیان کیا گیا ہے. 36 00:01:33,406 --> 00:01:36,360 ان لوگوں کے لئے شکریہ. 37 00:01:36,360 --> 00:01:39,180 یہ میں نے صرف ایک لمحے کے لئے تاخیر گا. 38 00:01:39,180 --> 00:01:41,560 تنصیب کے عمل تھوڑا سا مشکل ہے. 39 00:01:41,560 --> 00:01:45,420 ہم نے ایک GitHub کے مجھ پر پڑھا ہے آپ پر ایک نظر لے جا سکتے ہیں. 40 00:01:45,420 --> 00:01:47,840 آپ کو کوئی سوالات ہیں، تو صرف مجھے ای میل. 41 00:01:47,840 --> 00:01:52,829 لیکن ہم اس مفروضے کے تحت چلائے جائیں گے یہ ہے کہ سب کے لئے کام کر رہا ہے. 42 00:01:52,829 --> 00:01:55,620 کونر HARRIS: اور اگر تم نہیں کر سکتے ہیں LillyPond، کوئی بڑی بات نہیں کام پر لگ جاؤ. 43 00:01:55,620 --> 00:02:00,139 کوئی براہ راست تالیف نہیں ہے کہ کم از کم اپنے اختتام پر، شامل کیا جائے گا. 44 00:02:00,139 --> 00:02:02,930 اسٹیفن KREWSON: Haskell اور LillyPond دونوں انسٹالرز ہونا چاہئے. 45 00:02:02,930 --> 00:02:08,497 Euterpea ایک کے طور پر ڈاؤن لوڈ کیا جاتا پیکج، تو اور تو آگے. 46 00:02:08,497 --> 00:02:10,080 تو ہم کمپیوٹر موسیقی کے بارے میں بات کر رہے ہیں. 47 00:02:10,080 --> 00:02:12,990 اور یہ صرف ایک ہے بہت 50،000 پاؤں نقطہ نظر. 48 00:02:12,990 --> 00:02:15,700 اس کا ایک چند مختلف پہلوؤں ہے. 49 00:02:15,700 --> 00:02:18,120 یہ کسی نہ کسی طرح ہے اور کچھ تفصیل دوںدلانا کرنے کے لئے جا. 50 00:02:18,120 --> 00:02:22,090 لیکن ہم کچھ کے بارے میں سوچ سکتا ہے پر algorithmic ساخت کی طرح، 51 00:02:22,090 --> 00:02:24,920 یلگوردمز کا استعمال کرتے ہوئے، پیدا کرنے کے لئے، کوڈ کا استعمال کرتے ہوئے 52 00:02:24,920 --> 00:02:30,280 کچھ قسم of-- شاید ایک خود اسی طرح نوٹ، یا ہو سکتا ہے نوٹوں کی ترتیب 53 00:02:30,280 --> 00:02:33,330 کچھ رکاوٹ کے تحت. 54 00:02:33,330 --> 00:02:35,350 اور پھر ان لوگوں کو ہو سکتا ہے کارکردگی کا مظاہرہ کیا یا تشریح 55 00:02:35,350 --> 00:02:38,390 ینالاگ آلات کے ساتھ یا اس طرح کچھ. 56 00:02:38,390 --> 00:02:42,010 لیکن ساخت تھا algorithmically ہے کیا. 57 00:02:42,010 --> 00:02:45,120 >> لیکن کورس کے، ہو سکتا ہے کہ علاقے کمپیوٹر موسیقی یا ڈیجیٹل موسیقی 58 00:02:45,120 --> 00:02:48,870 ہم ڈیجیٹل ہے کے ساتھ زیادہ واقف ہیں آواز کی ترکیب یا ڈیجیٹل سیمپلنگ 59 00:02:48,870 --> 00:02:51,160 اور ڈیجیٹل ریکارڈنگ. 60 00:02:51,160 --> 00:02:55,650 ڈیجیٹل آلات کی ایک بہت ہیں ڈیجیٹل سیمپلنگ کے ذریعے کیا. 61 00:02:55,650 --> 00:03:00,110 اصل میں، ہم نے ان میں سے ایک کا استعمال کریں گے بعد میں ایک آواز فونٹ لائبریری کی شکل. 62 00:03:00,110 --> 00:03:02,850 >> بلکہ کچھ بلایا ہے باہر آئے کہ ڈیجیٹل ترکیب 63 00:03:02,850 --> 00:03:08,650 دیر سے '70s اور میں' کے ساتھ 80s سٹینفورڈ میں یاماہا اور جان Chowning 64 00:03:08,650 --> 00:03:11,990 ایف ایم ترکیب کر رہے ہیں یا تعدد ماڈلن ترکیب، 65 00:03:11,990 --> 00:03:15,100 جہاں آپ کو ایک نیٹ ورک تھا سگنل اور ایک نیمن سگنل 66 00:03:15,100 --> 00:03:18,270 دونوں آڈیو سپیکٹرم میں. 67 00:03:18,270 --> 00:03:22,570 لیکن ہم پر توجہ مرکوز کر رہے ہیں آج، MIDI کہا جاتا ہے کچھ ہے 68 00:03:22,570 --> 00:03:25,040 اور کورس کے، پر algorithmic ساخت. 69 00:03:25,040 --> 00:03:30,940 >> ہم آلات بنانے کے لئے جا، لیکن نہیں کر رہے ہیں ہم اس کی بجائے کچھ موسیقی بنانے کے لئے جا رہے ہیں، 70 00:03:30,940 --> 00:03:33,940 اور پھر اس کی تشریح ہو جائے گا کچھ آلات کی طرف سے 71 00:03:33,940 --> 00:03:38,300 کو conformant ہیں جنرل MIDI سٹینڈرڈ. 72 00:03:38,300 --> 00:03:40,830 تو MIDI کیا ہے؟ 73 00:03:40,830 --> 00:03:45,550 میں، بہت گہری اس میں حاصل کرنے نہیں جا رہا ہوں لیکن MIDI ڈیٹا ٹرانسفر پروٹوکول ہے. 74 00:03:45,550 --> 00:03:49,250 اس پار ایک رہنما کی ایک قسم ہے مختلف کمپنیوں اور صنعتوں 75 00:03:49,250 --> 00:03:52,250 آواز یا پیچ منظم کرنے کے لئے. 76 00:03:52,250 --> 00:03:54,170 تو ہم نے اس کو دیکھ لیں گے ایک MIDI سٹینڈرڈ ہے 77 00:03:54,170 --> 00:03:57,500 تمام مختلف ٹککر کے لئے آواز اور MIDI سفارشات 78 00:03:57,500 --> 00:04:01,360 synth کے تمام مختلف اقسام کے لئے یا تمام آلہ کی مختلف اقسام 79 00:04:01,360 --> 00:04:03,650 ایک آرکسٹرا میں گروپوں کا کہنا ہے کہ. 80 00:04:03,650 --> 00:04:08,916 >> آپ نے شاید سے واقف ہیں 0 کے ذریعے 127 MIDI پیغامات. 81 00:04:08,916 --> 00:04:12,920 ایک MIDI سگنل عام طور پر ہے اشارہ ایک تھوڑا سا 82 00:04:12,920 --> 00:04:16,130 یہ ایک ڈیٹا یا چاہے حیثیت پیکٹ، اور پھر وہاں ہے 83 00:04:16,130 --> 00:04:18,589 ایک سگنل کے سات بٹس. 84 00:04:18,589 --> 00:04:21,430 اور ان کو کنٹرول کر سکتے ہیں حجم سے سب کچھ 85 00:04:21,430 --> 00:04:25,330 کارروائی یا دباؤ کے کسی خاص چابی پر 86 00:04:25,330 --> 00:04:29,400 آپ ایک MIDI ساتھ کارکردگی کا مظاہرہ کر رہے ہیں تو کنٹرولر کے طور پر اچھی طرح سے کے طور پر، کورس کے، 87 00:04:29,400 --> 00:04:31,250 نوٹ. 88 00:04:31,250 --> 00:04:33,450 اور ظاہر کی، MIDI ہے ، انتہائی مفید رہی 89 00:04:33,450 --> 00:04:37,550 یہ تار کرنے کا ایک طریقہ ہے کیونکہ ساتھ مل کر یا گلبہار چین 90 00:04:37,550 --> 00:04:41,570 MIDI ہارڈ ویئر کے آلات کے ایک گروپ. 91 00:04:41,570 --> 00:04:44,050 میرے گھر میں سات یا آٹھ واپس. 92 00:04:44,050 --> 00:04:46,610 یہ واقعی میں، پیچیدہ ہو جاتا ہے لیکن یہ واقعی طاقتور ہے. 93 00:04:46,610 --> 00:04:47,460 اور یہ واقعی پرانے. 94 00:04:47,460 --> 00:04:51,117 یہ ابتدائی '80s کی طرف سے ہے، اور یہ واقعی اچھا اور چھوٹا ہے. 95 00:04:51,117 --> 00:04:51,950 کونر HARRIS: جی ہاں. 96 00:04:51,950 --> 00:04:54,230 تمام کلاسیکی نن ویڈیو گیمز شاید کرے گا 97 00:04:54,230 --> 00:04:56,088 مثال کے طور پر موسیقی کے لئے MIDI فائلوں، ہے. 98 00:04:56,088 --> 00:04:59,550 99 00:04:59,550 --> 00:05:01,740 >> اسٹیفن KREWSON: یہاں ایک ہے جنرل MIDI کی مثال، 100 00:05:01,740 --> 00:05:06,520 ایک قسم کے طور MIDI دکھا عام پروٹوکول کے. 101 00:05:06,520 --> 00:05:13,280 اور میں ہم کے بارے میں سوچ سکتا ہے تفصیلات کے درمیان فرق 102 00:05:13,280 --> 00:05:17,830 کی طرح کچھ نہیں ہونا چاہئے کہ ان آلہ اصل آواز اور 103 00:05:17,830 --> 00:05:21,740 ان آلات کی وصولی آواز ایک آواز فونٹ یا کسی خاص MIDI میں 104 00:05:21,740 --> 00:05:25,740 فرق ہونے کے طور پر مرکب ساز کا کہنا ہے کہ ہو سکتا ہے کہ ایک typeface-- درمیان، 105 00:05:25,740 --> 00:05:30,350 عام طور پر، اس کے ڈیزائن ہے یہ خاص طور پر جس طرح کی نمائندگی کرنے 106 00:05:30,350 --> 00:05:35,907 characters-- اور ایک خاص فونٹ کہ، ایک مخصوص سائز اور timbre ہے 107 00:05:35,907 --> 00:05:37,240 اور the-- کی وصولی ہے 108 00:05:37,240 --> 00:05:39,156 >> کونر HARRIS: شاید بہتر موازنہ کرے گا 109 00:05:39,156 --> 00:05:43,430 ہو یونیکوڈ سٹینڈرڈ دیتا says-- ایک ہر کردار کی تعداد، اور واقعی 110 00:05:43,430 --> 00:05:46,830 دنیا میں ہر زبان، یا زبان کی اسکرپٹ کی ایک وسیع سیٹ 111 00:05:46,830 --> 00:05:51,310 دنیا میں، اور اس کے بعد ان لوگوں کے ہیں کچھ گرافیکل میں مہیا 112 00:05:51,310 --> 00:05:53,710 مختلف فونٹ پیکجوں کی طرف سے. 113 00:05:53,710 --> 00:05:56,630 اور ظاہر ہے، آپ کے بارے میں سوچ کر سکتے ہیں آواز کی یونیکوڈ طور پر MIDI کی. 114 00:05:56,630 --> 00:06:03,250 اور یہ ایک بڑا ندی of-- صرف ایک فہرست ہے واقعات اور آلات اور whatnot کی، 115 00:06:03,250 --> 00:06:06,090 اور آپ کو ایک علیحدہ کرنا پڑے پروگرام، ایک رسم الخط کی طرح، 116 00:06:06,090 --> 00:06:08,537 میں اس رینڈر کرنے کے لئے شروی ہے کہ کچھ. 117 00:06:08,537 --> 00:06:12,360 118 00:06:12,360 --> 00:06:13,780 >> اسٹیفن KREWSON: تو کیوں Haskell کی؟ 119 00:06:13,780 --> 00:06:19,110 Haskell کی ایک فعال پروگرامنگ ہے بہت اعلی درجے کی زبان،، 120 00:06:19,110 --> 00:06:22,770 C کی طرف سے بہت مختلف، پی ایچ پی کی طرف سے بہت مختلف. 121 00:06:22,770 --> 00:06:28,120 اور ہم نے ایک نہیں ہے کہ کو دیکھنے کے لئے جا رہے ہیں Haskell کی تقریب میں تشکیل میں آسانی 122 00:06:28,120 --> 00:06:37,640 کہ ہمیں کے ذریعے بیار کی اجازت دے گا نقل، تحریر یا ٹائپ، 123 00:06:37,640 --> 00:06:42,160 سے Frere جیکس کی طرح کچھ، اس سادہ نغمہ کی کہ 124 00:06:42,160 --> 00:06:46,815 اس میں حصوں کی ایک بہت ہے کہ خود اسی طرح کی یا دہرا رہے ہیں. 125 00:06:46,815 --> 00:06:49,740 126 00:06:49,740 --> 00:06:53,250 تو اس میں سے کچھ ہو جائے گا کیوں کے لئے حوصلہ افزائی 127 00:06:53,250 --> 00:06:59,400 ہم، Haskell کی استعمال کر رہے ہیں جس میں افعال پہلی کلاس شہری ہیں. 128 00:06:59,400 --> 00:07:01,120 >> اور میں توسیع کرنا چاہتا تھا یہ تھوڑا سا. 129 00:07:01,120 --> 00:07:08,800 اس کے لئے ایک تھوڑا سا آسان ہے Haskell کی میں Frere جیکس notate. 130 00:07:08,800 --> 00:07:12,100 لیکن ہم چاہتے تھے تو کیا اس کے لئے ایک ڈھول حصہ؟ 131 00:07:12,100 --> 00:07:17,320 ہم بنانے کے لئے کوشش کرنا چاہتے تھے تو کیا رولینڈ 808 یا 909 ڈھول کی طرح کچھ 132 00:07:17,320 --> 00:07:20,970 ہے جہاں آپ مشین کے بارے میں 16 مختلف مراحل؟ 133 00:07:20,970 --> 00:07:24,590 عام طور پر یہ ہیں کے طور پر کے 16th نوٹوں کے بارے میں سوچا. 134 00:07:24,590 --> 00:07:28,640 اور آپ کو عالمی کنٹرول کر سکتے ہیں لی، اور آپ کو منتخب کر سکتے ہیں 135 00:07:28,640 --> 00:07:34,620 مختلف ٹککر حصوں کا ایک گروپ باس ڈھول کی، ایک طالی، مختلف پھندے، 136 00:07:34,620 --> 00:07:37,540 کھلی اور بند اعلی ٹوپیاں چینلز کے ان قسم پر، 137 00:07:37,540 --> 00:07:41,600 اور پھر آپ EQ کر سکتے ہیں یا ان کے حجم کو ایڈجسٹ. 138 00:07:41,600 --> 00:07:45,290 >> اور ہم نے ایک اچھا طریقہ میں دیکھ لیں گے اس مرحلے کی نمائندگی کرنے کا Haskell کی 139 00:07:45,290 --> 00:07:48,810 سب کے ساتھ sequencer کے Haskell کی میں مختلف ٹھنڈی چیزیں 140 00:07:48,810 --> 00:07:53,100 ہم پیدا کرنے کے ساتھ کیا کر سکتے ہیں فہرستوں میں فہرستوں اور فلٹرنگ، 141 00:07:53,100 --> 00:07:56,060 فہرستوں میں تعریفیں، تعریفیں فہرستوں میں کام کرتا ہے. 142 00:07:56,060 --> 00:07:59,530 143 00:07:59,530 --> 00:08:00,760 اور ایک فوری معافی. 144 00:08:00,760 --> 00:08:05,300 یہ ایک بہت سرسری ہے اور زیادہ فوری خاکے 145 00:08:05,300 --> 00:08:07,620 پہلوؤں میں سے کچھ کے Haskell اور Euterpea کی، 146 00:08:07,620 --> 00:08:11,760 ایک ڈومین مخصوص ہے جو سرایت زبان لکھا 147 00:08:11,760 --> 00:08:14,970 موسیقی کی اقسام کے لئے Haskell کی میں. 148 00:08:14,970 --> 00:08:17,350 آن لائن تو کوڈ کو چیک کریں براہ مہربانی. 149 00:08:17,350 --> 00:08:22,404 گلاسگو ہے جس کو برطرف GHCI، Haskell کی کمپائلر مترجم. 150 00:08:22,404 --> 00:08:24,320 اور میں نے کچھ کر دیا جائے گا تھوڑا سا میں اس کی 151 00:08:24,320 --> 00:08:25,880 لہذا آپ کو اس سے کیا ہے کہ کس طرح دیکھ سکتے ہیں. 152 00:08:25,880 --> 00:08:31,021 >> اور یہ آپ کے ساتھ میں لوڈ کرنے کے لئے کی اجازت دیتا ہے the-- نحو پھر بڑی آنت ہے 153 00:08:31,021 --> 00:08:31,520 کمانڈ. 154 00:08:31,520 --> 00:08:33,510 آپ فائلوں میں لوڈ کر سکتے ہیں. 155 00:08:33,510 --> 00:08:36,840 اگر آپ ان فائلوں پر براؤز استعمال کر سکتے ہیں تمام افعال کو دیکھنے کے لئے کہ 156 00:08:36,840 --> 00:08:39,169 ایک خاص ماڈیول میں موجود ہیں. 157 00:08:39,169 --> 00:08:43,850 اور ہم، اقسام اور قسم کو دیکھ لیں گے پھر کلاس، Haskell کی میں اتنا اہم ہے 158 00:08:43,850 --> 00:08:48,850 لہذا آپ کو ہمیشہ خاص طور پر کر سکتے ہیں check-- آپ کو ایک نیا DSCL میں کام کر رہے ہیں تو 159 00:08:48,850 --> 00:08:51,600 اس طرح، ایک موسیقی کی قسم کیا ہے؟ 160 00:08:51,600 --> 00:08:55,114 میں راستے میں عددی کے بارے میں جاننا اقسام، Haskell کی میں کام 161 00:08:55,114 --> 00:08:56,530 لیکن میں موسیقی کے بارے میں زیادہ نہیں جانتے. 162 00:08:56,530 --> 00:09:01,280 لیکن آپ کو وہ کر رہے ہیں راستہ دریافت کر سکتے ہیں اس ٹی یا قسم کمانڈ استعمال کرتے ہوئے کی طرف سے وضاحت 163 00:09:01,280 --> 00:09:04,577 اور پھر ایک خاص طور پر میں بلا تقریب یا ایک ڈیٹا اعتراض. 164 00:09:04,577 --> 00:09:05,410 کونر HARRIS: جی ہاں. 165 00:09:05,410 --> 00:09:09,820 آپ سی اور بجنا سوچا کہ اگر اقسام کے بارے میں hardass تھا، 166 00:09:09,820 --> 00:09:11,230 آپ Haskell کی کے بارے میں کوئی اندازہ نہیں ہے. 167 00:09:11,230 --> 00:09:14,230 Haskell کی کے بارے میں اچھی بات یہ ہے کہ آپ کو مرتب کرنا آپ کے کوڈ حاصل کر سکتے ہیں 168 00:09:14,230 --> 00:09:16,790 اور Haskell کی قسم چیک تو، یہ شاید ٹھیک ہے 169 00:09:16,790 --> 00:09:18,675 قسم کے نظام اتنا سخت ہے کیونکہ. 170 00:09:18,675 --> 00:09:20,090 >> اسٹیفن KREWSON: جی ہاں. 171 00:09:20,090 --> 00:09:21,980 تو میں بس جانا چاہتے ہیں پھر through-- اور، 172 00:09:21,980 --> 00:09:27,160 اس کے چند justice-- نہیں کر رہا ہے Haskell کی کی خصوصیات، کہ کم از کم 173 00:09:27,160 --> 00:09:31,780 اس creators-- اور اس کے تشکیل دے دیا گیا لوگوں کے ایک گروپ کی طرف سے دیر 1980s میں، 174 00:09:31,780 --> 00:09:34,610 کے بارے میں 20 کی ایک کمیٹی قوم اہم تھے. 175 00:09:34,610 --> 00:09:36,850 اور پہلی چیز وہ ایک اخبار میں درج ہے کہ 176 00:09:36,850 --> 00:09:41,890 Haskell کی کی ابتداء بیان پہلے 20 سال یا اس سے زیادہ 177 00:09:41,890 --> 00:09:43,390 یہ سست تھا. 178 00:09:43,390 --> 00:09:44,990 تو اس کا کیا مطلب ہے؟ 179 00:09:44,990 --> 00:09:49,860 >> ہم کسی قسم ہے جب ٹھیک ہے، اس کا مطلب اظہار رائے کی، ہم اس کا اندازہ کرنے کی ضرورت ہے. 180 00:09:49,860 --> 00:09:54,390 اور Haskell ایک کال میں یہ کرتا ہے کی ضرورت کا راستہ یا ایک غیر سخت راہ کی طرف سے. 181 00:09:54,390 --> 00:09:57,250 ہم میں سے ایک گروپ ہے تو یہ ہے کہ، ہماری اظہار کے اجزاء، 182 00:09:57,250 --> 00:10:00,660 ہم تشخیص میں تاخیر کرنے کی کوشش کریں ان subcomponents کے 183 00:10:00,660 --> 00:10:05,300 مطلق آخری minute-- تک ہم اصل میں ان کی ضرورت ہے جب تک ہے. 184 00:10:05,300 --> 00:10:08,480 >> تو اس کا مطلب یہ ہے جو حقیقی معنی میں ٹھنڈے، خاص طور پر 185 00:10:08,480 --> 00:10:13,200 ہم تجرید کے بارے میں سوچ رہے ہیں تو ایک موسیقی قدم sequencer کی. 186 00:10:13,200 --> 00:10:16,740 آپ اس پر باری، اور آپ کو شروع ایک قدم sequence-- چلانے 187 00:10:16,740 --> 00:10:20,010 کیا تم نے کبھی ایک ڈرم کے ساتھ کام کیا ہے machine-- اور یہ صرف ہمیشہ جاتا. 188 00:10:20,010 --> 00:10:24,650 تو یہ اگر ہم واقعی بہت اچھا ہو جائے گا Haskell کی میں اس کا مقابلہ کر سکتا ہے. 189 00:10:24,650 --> 00:10:31,040 اور ہم لامحدود کے ساتھ یہ کر سکتے ہیں اقدار، خاص طور پر لامحدود کی فہرست میں. 190 00:10:31,040 --> 00:10:35,860 یہ ایک ٹائپ کرنے کے لئے بہت آسان ہے Haskell کی فہرست میں لامحدود. 191 00:10:35,860 --> 00:10:39,230 آپ کو صرف نیچے نحو استعمال کر سکتے ہیں یہاں، آپ کو 3 کے ذریعے 1 دیکھیں جہاں، 192 00:10:39,230 --> 00:10:42,440 3 1 ڈاٹ ڈاٹ ہٹا دیں، اور کہ ایک لامتناہی فہرست ہے 193 00:10:42,440 --> 00:10:46,960 تمام قدرتی تعداد کے توسیع جہاں تک آپ تصور کر سکتے ہیں کے طور پر. 194 00:10:46,960 --> 00:10:49,925 >> میں متعارف کروانا چاہتا ہوں فورا پرتوں کا تصور. 195 00:10:49,925 --> 00:10:51,800 اور پھر، مقصد اس سیمینار نہیں ہے 196 00:10:51,800 --> 00:10:55,770 Haskell کی پرتوں میں کے بارے میں جاننے کے لئے یا اس سے زیادہ کے لئے کام کرتا ہے. 197 00:10:55,770 --> 00:10:59,640 لیکن میں صرف اس کو متعارف کرانے کرنا چاہتے ہیں کس طرح عجیب کا صحیح احساس دے 198 00:10:59,640 --> 00:11:03,700 Haskell کی ہے اور کس طرح طاقتور ہے. 199 00:11:03,700 --> 00:11:08,000 اور خاص طور پر، ہم be-- لئے جا رہے ہیں ہم اپنے مختلف ڈھول حصوں کرتے ہیں جب، 200 00:11:08,000 --> 00:11:12,790 ہم کی فہرست توڑ جا رہے ہیں تعداد، ایک دوسرے پر ان تہ. 201 00:11:12,790 --> 00:11:17,290 ایسا کرنے کے لئے اور، ہم کریں گے نقشے اور پرتوں کا استعمال کرتے ہوئے. 202 00:11:17,290 --> 00:11:21,770 >> حق ساہچری ہے یہ ایک حق ہے جس میں، ڈالتے ہیں 203 00:11:21,770 --> 00:11:26,990 یہاں 1 مائنس مقدار، 2 مائنس مقدار، 3 مائنس 0. 204 00:11:26,990 --> 00:11:29,170 اور ایک کے لئے نحو گنا، آپ کو ایک گنا دے 205 00:11:29,170 --> 00:11:34,680 ایک بنیاد کی قدر اور اس کے بعد ایک operation-- اس صورت میں، کے علاوہ یا ویوکلن میں. 206 00:11:34,680 --> 00:11:36,280 میں دونوں صورتوں دکھایا گیا ہے. 207 00:11:36,280 --> 00:11:41,760 اور پھر ایک سنچایک ہے کہ وہاں پوری فہرست پر جمع، 208 00:11:41,760 --> 00:11:46,330 اس آپریٹر کے علاوہ درخواست دینے یا مائنس، اور پھر یہ جمع. 209 00:11:46,330 --> 00:11:52,680 یہ کہا گیا تھا تو اس the-- ہو جائے گا گنا R پلس 0 کے ساتھ، 0 سے شروع ہونے والے، 210 00:11:52,680 --> 00:11:54,720 اس کے بعد ہم سب خلاصہ اس فہرست میں تعداد. 211 00:11:54,720 --> 00:11:57,134 اور یہ کہ 1 سے 3 ایک فہرست ہے. 212 00:11:57,134 --> 00:12:00,050 کونر HARRIS: تو یہ ایک اور ڈال کرنے کے لئے راستہ، گنا R تین دلائل لیتا ہے. 213 00:12:00,050 --> 00:12:02,540 ایک تقریب نہیں ہے کہ خود کو دو دلائل لیتا ہے، 214 00:12:02,540 --> 00:12:05,400 پھر ایک سٹارٹر قدر ہے، اور اقدار کی ایک فہرست موجود ہے. 215 00:12:05,400 --> 00:12:08,570 اور آپ کیا آپ کو لے ہے شروع قیمت، پہلی قیمت، 216 00:12:08,570 --> 00:12:09,850 تقریب میں ڈال. 217 00:12:09,850 --> 00:12:11,607 تم کیا باہر حاصل کروں کہ، فیڈ لے کہ 218 00:12:11,607 --> 00:12:13,940 کی تقریب میں دوسری قیمت، آپ کو ملتا ہے، 219 00:12:13,940 --> 00:12:16,690 کہ لے، میں اس کو کھانا کھلانا تیسری قدر کی تقریب. 220 00:12:16,690 --> 00:12:18,740 اور پھر آپ کو نیچے جاتے ہیں اس پوری فہرست اس طرح، 221 00:12:18,740 --> 00:12:22,970 آپ کو آخر میں حاصل کرنے کے لئے جا رہے ہیں ہے کہ کچھ واحد قیمت 222 00:12:22,970 --> 00:12:25,720 آپ کو شروع کیا کے اسی قسم کے کے ساتھ باہر اور اسی قسم کے 223 00:12:25,720 --> 00:12:29,147 پھر فہرست میں چیزوں کو، اور کے طور پر کہ گنا آر کی واپسی نتیجہ ہے 224 00:12:29,147 --> 00:12:31,980 اسٹیفن KREWSON: خاص طور پر تو، ان اعلی آرڈر کام کرتا ہے، 225 00:12:31,980 --> 00:12:34,460 وہ ایک دوسرے لے جا رہے ہیں کیونکہ دلائل میں سے ایک کے طور پر تقریب. 226 00:12:34,460 --> 00:12:34,770 >> کونر HARRIS: جی ہاں. 227 00:12:34,770 --> 00:12:37,820 آپ کو کچھ دیگر کا استعمال کیا ہے زبانوں میں میں R جانتے، [اشراوی] 228 00:12:37,820 --> 00:12:41,510 زبان کم کہا جاتا ہے، یہ ہے. 229 00:12:41,510 --> 00:12:45,460 آپ کو اسی طرح کام کرتا ہے ہو سکتا ہے دیگر زبانوں میں، صرف کہا جاتا 230 00:12:45,460 --> 00:12:48,160 مختلف چیزیں. 231 00:12:48,160 --> 00:12:50,680 >> اسٹیفن KREWSON اور کیا گنا ر کے بارے میں اچھی بات ہے 232 00:12:50,680 --> 00:12:53,880 اس مثال میں گنا ہے آر لامحدود فہرستوں کے ساتھ کام کر سکتے ہیں. 233 00:12:53,880 --> 00:12:59,490 اس کے نیچے دیے میں، اس P5 تو نوٹوں پیدا کر رہا ہے کہ 234 00:12:59,490 --> 00:13:03,120 کے لئے قدم sequencer میں تبدیل کر دیا جاتا ہے کچھ ڈھول حصہ، پانچویں ڈھول حصہ، 235 00:13:03,120 --> 00:13:05,480 اور شاید یہ ایک کونگا کے ڈرم یا کچھ. 236 00:13:05,480 --> 00:13:09,719 اور یہ ایک جان بوجھ کر ہے اس تحریر کی وجہ پر obtuse راستہ، 237 00:13:09,719 --> 00:13:11,510 لیکن اس کی وجہ، مزہ ہے یہ ایک بہت ظاہر کرتا ہے 238 00:13:11,510 --> 00:13:14,460 Haskell اور Euterpea بارے میں چیزوں کی. 239 00:13:14,460 --> 00:13:20,650 >> تو اس colon-- بڑی آنت کی ر ہے گنا چیزوں pushes ہے کہ صرف ایک آپریٹر 240 00:13:20,650 --> 00:13:25,700 مل کر ایک خالی پر نامی ایک list-- پر صرف خالی بریکٹ ہے جس کی فہرست،. 241 00:13:25,700 --> 00:13:28,250 اور میں اس کو بلا رہا ہوں یہ لامحدود فہرست. 242 00:13:28,250 --> 00:13:31,570 یہ اصل میں دو فہرستیں ہے یہاں نیچے کے ساتھ شامل. 243 00:13:31,570 --> 00:13:37,150 فہرست 1 کاما 6 ڈاٹ ڈاٹ 1، 6، 11، 16 ہے. 244 00:13:37,150 --> 00:13:39,750 بس میں تو Haskell-- چند حروف، آپ 245 00:13:39,750 --> 00:13:42,420 پورے پیدا کر سکتے ہیں نمبروں کی ترتیب 246 00:13:42,420 --> 00:13:46,240 پانچ کی تعداد کے علاوہ ہیں کہ انفینٹی میں پر ھیںچ. 247 00:13:46,240 --> 00:13:49,860 اور میں اس کو prepend کے یہ مختصر تھوڑا list-- 248 00:13:49,860 --> 00:13:54,370 3، 8، 21-- صرف آپ کو دکھانے کے لئے کس طرح آپ کی فہرستوں سلسلہ بندی کرنا کر سکتے ہیں. 249 00:13:54,370 --> 00:13:55,790 >> اور پھر میں نے خود پر جوڑ ہے. 250 00:13:55,790 --> 00:14:01,510 اور یہ صرف کی ایک قسم ہونے کی وجہ سے ختم ہو جاتی ہے شناخت آپریشن، لیکن یہ لامحدود ہے. 251 00:14:01,510 --> 00:14:06,070 اور، ر یہ کر سکتے ہیں ڈالتے ہیں اس کی وجہ سے lazily کا مندرجہ بالا کے طور پر، کی تشخیص کرتا ہے. 252 00:14:06,070 --> 00:14:10,582 ہم نے ایک 1 اور 2 اور 3 ہے تو، ہم کر سکتے ہیں صرف اس کے پورے باقی بند بریکٹ. 253 00:14:10,582 --> 00:14:12,290 اس کے لئے کام نہیں کرے گا مائنس یا پلس، لیکن یہ 254 00:14:12,290 --> 00:14:17,760 یہ بڑی آنت کے لئے کام کریں گے فہرست شناخت آپریشن. 255 00:14:17,760 --> 00:14:24,620 >> تو ہم کس طرح عملی طور پر استعمال کرتے ہیں کہ اگر ہم چیزوں کی ایک infinitely طویل فہرست ہے؟ 256 00:14:24,620 --> 00:14:26,500 ویسے، Haskell کی فراہم کرتا ہے افعال کی ایک بہت 257 00:14:26,500 --> 00:14:29,450 اور ان میں زیادہ نظر آتے ہیں لے جیسا کہ آپ اپنے ہیں وقت 258 00:14:29,450 --> 00:14:32,200 جو ٹھیک ہے، ہم ہیں، کا کہنا ہے کہ اس لامتناہی فہرست پیدا کرنے، 259 00:14:32,200 --> 00:14:35,950 لیکن ہم کچھ لینے کے لئے جا رہے ہیں اس کے اور اس کیس میں نمبر 260 00:14:35,950 --> 00:14:38,410 ہم بعد میں یہ دیکھ لیں گے ہماری ڈھول مشین code-- 261 00:14:38,410 --> 00:14:43,740 جی ایم گلوبل کے کچھ قسم ہے اقدامات کی تعداد کے لئے متغیر 262 00:14:43,740 --> 00:14:44,610 sequencer کے میں. 263 00:14:44,610 --> 00:14:47,630 رول میں مشینوں پر میں ، کہ عام طور پر 16 ہے، آپ سے ظاہر ہوتا ہے 264 00:14:47,630 --> 00:14:51,475 لیکن میں نے 32 کے ساتھ اس کو لاگو کیا ہے. 265 00:14:51,475 --> 00:14:54,470 یہ واقعی کوئی فرق نہیں پڑتا. 266 00:14:54,470 --> 00:15:00,230 >> Haskell کی بھی پاک ہے، تو یہ مضبوط ہے کونر لئے alluded کہ مستحکم ٹائپنگ. 267 00:15:00,230 --> 00:15:03,220 تو افعال ہیں sense-- میں ریاضی 268 00:15:03,220 --> 00:15:06,600 وہ زیادہ ریاضیاتی ہیں وہ ضمانت رہے ہیں کہ 269 00:15:06,600 --> 00:15:11,530 رسائی یا کسی بھی قسم کی کو تبدیل نہیں یا متغیر ان پٹ یا پیداوار انجام. 270 00:15:11,530 --> 00:15:14,420 آپ کو ایک تقریب ہے تو، یہ نیتاتمک ہے. 271 00:15:14,420 --> 00:15:17,400 یہ ہمیشہ ایک ہی واپس آ جائیں گے پروگرام کی حالت میں قیمت 272 00:15:17,400 --> 00:15:19,310 یا ایک ہی رہتے ہیں. 273 00:15:19,310 --> 00:15:22,940 monadic مستثنیات، کورس کے، ہیں اس سے، لیکن اس سے ہمارے دائرہ کار سے باہر ہے. 274 00:15:22,940 --> 00:15:23,900 >> کونر HARRIS: جی ہاں. 275 00:15:23,900 --> 00:15:26,946 اس کا کیا مطلب ہے، اگرچہ، وہاں ہیں چند اہم [اشراوی] 276 00:15:26,946 --> 00:15:27,820 اس کے نتائج. 277 00:15:27,820 --> 00:15:30,940 ایک یہ کرنے کے لئے بہت آسان ہے کہ ہے Haskell کی پروگرام parallelize. 278 00:15:30,940 --> 00:15:32,773 اگر آپ کی وجہ سے، ، اس کی ایک تقریب کا کہنا ہے کہ 279 00:15:32,773 --> 00:15:36,064 تو، ایک ملین اقدار پر کام کرنے کے لئے کی ضرورت ہے تم نے اس تقریب ہمیشہ جانتے ہیں 280 00:15:36,064 --> 00:15:39,280 اسی قدر تو باہر دے آپ کو ایک مخصوص قدر میں کھانا کھلانا 281 00:15:39,280 --> 00:15:43,055 آپ کے ایف، [اشراوی] F 1 کے ہیں تو 2، تو دالہ f کا 3 یا 1 چ whatnot-- 282 00:15:43,055 --> 00:15:45,180 باہر لکھنے کے لئے نہیں جا رہا ہے ایک فائل میں یا کچھ کرنا 283 00:15:45,180 --> 00:15:46,850 کہ F2 کی قیمت کو تبدیل کریں گے. 284 00:15:46,850 --> 00:15:50,220 تم صرف ایک کے لئے اس تقریب کو تقسیم کر سکتے ہیں ملین مختلف مشینوں یا ایک ملین 285 00:15:50,220 --> 00:15:54,720 مختلف موضوعات یا جو کچھ بھی، واپس تمام جوابات حاصل، 286 00:15:54,720 --> 00:15:56,900 تمام واپسی اقدار حاصل واپس، اور پھر یہ کہ یہ ہے. 287 00:15:56,900 --> 00:15:59,780 چیزوں parallelize کرنے کے لئے بہت آسان. 288 00:15:59,780 --> 00:16:03,140 >> منفی پہلو ان پٹ ہے اور پیداوار خاص طور پر 289 00:16:03,140 --> 00:16:05,720 قسم کے نظام میں فٹ بہت پیچیدہ طریقوں سے. 290 00:16:05,720 --> 00:16:09,010 اب ہم اس حق میں جانے، لیکن میں نہیں ہوں گے کچھ وسائل کو دیکھنے کے لئے آپ کی حوصلہ افزائی 291 00:16:09,010 --> 00:16:11,175 آن لائن آپ کو اس کے بارے میں جاننے کے لئے چاہتے ہیں تو. 292 00:16:11,175 --> 00:16:13,960 293 00:16:13,960 --> 00:16:16,550 >> اسٹیفن KREWSON تو ٹائپ classes-- اور اس 294 00:16:16,550 --> 00:16:21,610 اقسام میں سے was-- کلاس حل کرنے کے لئے ایجاد کیا گیا 295 00:16:21,610 --> 00:16:24,160 آپریٹر اوور لوڈنگ کا مسئلہ. 296 00:16:24,160 --> 00:16:27,590 تو ہم مساوات ہے کرنا چاہتا تھا چیزوں کی مختلف اقسام کے درمیان. 297 00:16:27,590 --> 00:16:31,040 کورس کے، ہم of-- سوچ سکتا عددی اقسام کے درمیان مساوات 298 00:16:31,040 --> 00:16:34,720 ، کے بارے میں سوچنا کرنے کے لئے بہت آسان ہے، لیکن کیا فہرستوں کے درمیان مساوات کے بارے میں؟ 299 00:16:34,720 --> 00:16:37,610 کے درمیان مساوات کے بارے میں کیا درخت ٹانگ ڈیٹا ڈھانچے؟ 300 00:16:37,610 --> 00:16:43,130 اور اس میں سب ممکن ہے Haskell کی قسم کے کلاس کی وجہ سے. 301 00:16:43,130 --> 00:16:48,000 >> تو آپ کو ایک مخصوص ڈیٹا ٹائپ کی وضاحت تو اور یہاں، ان موسیقی کی پچوں ہیں. 302 00:16:48,000 --> 00:16:50,960 ہم آخر میں ہو رہی ہے کچھ کمپیوٹر موسیقی. 303 00:16:50,960 --> 00:16:57,420 تو ہم C، C تیز ہے، اور تو اور تو آگے. 304 00:16:57,420 --> 00:17:01,080 انہوں نے ایک گروپ سے تعلق رکھتے ہیں مختلف قسم کی کلاسیں. 305 00:17:01,080 --> 00:17:03,510 EQ-- وہ EQ قسم طبقے سے تعلق رکھتے. 306 00:17:03,510 --> 00:17:06,780 وہ حمایت کا مطلب مساوات آپریشن. 307 00:17:06,780 --> 00:17:12,650 لہذا آپ کو ایک آیا اندازہ کر سکتے ہیں موسیقی primitives کی ترتیب 308 00:17:12,650 --> 00:17:15,400 ایک مختلف ایک کے طور پر ایک ہی ہے. 309 00:17:15,400 --> 00:17:17,280 >> وہ آرڈینل طبقے سے تعلق رکھتے. 310 00:17:17,280 --> 00:17:19,479 یہ ایک حکم ان کے لئے ہے کا مطلب ہے. 311 00:17:19,479 --> 00:17:27,670 ڈی سی سی تیز کے بعد آتا ہے اس کے ساتھ ساتھ سی کے بعد آتا ہے. 312 00:17:27,670 --> 00:17:29,840 وہ کلاس سے تعلق رکھتے ہیں وہ کر سکتے ہیں جس کا مطلب ہے، ظاہر 313 00:17:29,840 --> 00:17:33,000 ایک کنسول یا ٹرمینل پر پرنٹ کیا جا. 314 00:17:33,000 --> 00:17:36,090 وہ سے تعلق رکھتے کلاس، مقرر کردہ ہے جس میں 315 00:17:36,090 --> 00:17:39,770 مطلب یہ ہے کہ اگرچہ ان حروف ہیں، 316 00:17:39,770 --> 00:17:45,340 انہوں نے ایک بنیادی عددی ہے 0 سے شروع نمائندگی 317 00:17:45,340 --> 00:17:48,960 تاہم ذریعے جا بہت سی چیزیں یہاں ہیں، 20 یا تو، 318 00:17:48,960 --> 00:17:51,770 شاید یا 30 یا 40،. 319 00:17:51,770 --> 00:17:54,259 >> کونر HARRIS اور جب ہم ایک ڈیٹا کی قسم ہے 320 00:17:54,259 --> 00:17:57,050 کہ مطلوبہ الفاظ کے ساتھ derives-- "deriving--" ایک خاص قسم کلاس، 321 00:17:57,050 --> 00:18:01,160 یہ سنکلک کی کوشش کریں گے کا مطلب ہے کہ خود کار طریقے سے کچھ کی تعمیر کے لئے. 322 00:18:01,160 --> 00:18:05,120 تو شاید آپ چاہتے ہیں کریں گے مختلف ایک معیار کی وضاحت. 323 00:18:05,120 --> 00:18:09,450 آپ کو تیز سی وضاحت کرنا چاہیں گے مثال کے طور پر، D فلیٹ کے برابر کے طور پر. 324 00:18:09,450 --> 00:18:11,560 اس کی تعمیر کے ساتھ یہاں، میں سی تیز نہیں لگتا 325 00:18:11,560 --> 00:18:14,940 اور D فلیٹ، کیونکہ برابر ہو جائے گا سنکلک خود کار طریقے سے کریں گے 326 00:18:14,940 --> 00:18:19,670 ہر مختلف ممکنہ قیمت کا کہنا ہے کہ ہر دوسرے سے مختلف ہے. 327 00:18:19,670 --> 00:18:22,930 >> تو یہ جگہ لے لے کرنے کے لئے ممکن ہے پہلے سے طے شدہ نفاذ 328 00:18:22,930 --> 00:18:25,730 کلاس کی ان اقسام میں سے. 329 00:18:25,730 --> 00:18:28,640 ایک بار پھر، کا حوالہ تو دیکھو آپ اس کے بارے میں جاننے کے لئے چاہتے. 330 00:18:28,640 --> 00:18:31,767 331 00:18:31,767 --> 00:18:33,600 اسٹیفن KREWSON اور یہاں، اصل میں، اس گے 332 00:18:33,600 --> 00:18:36,930 ہم بعد میں کوڈ جب لئے مددگار ثابت ہو. 333 00:18:36,930 --> 00:18:42,150 ہم infix آپریٹرز میں سے کچھ دیکھنے تخکرمک ساخت کے لئے، 334 00:18:42,150 --> 00:18:46,570 متوازی ساخت، اور تو آگے، ان pluses اور برابر نشانیاں 335 00:18:46,570 --> 00:18:48,620 colons طرف سے گھیر لیا. 336 00:18:48,620 --> 00:18:53,330 کہ ہم ان مختلف ادا کر سکتے ہیں کا مطلب ہے کہ موسیقی primitives میں ایک کے بعد ایک. 337 00:18:53,330 --> 00:18:54,590 یہ تخکرمک ساخت ہے. 338 00:18:54,590 --> 00:18:57,170 >> یا ہم میں ادا کر سکتے ہیں ایک ہی وقت میں متوازی. 339 00:18:57,170 --> 00:19:05,100 تو میں نے ایک موسیقی کی قدر کر سکتے ہیں، اور پھر اس، کے برابر ہے اور colons 340 00:19:05,100 --> 00:19:09,669 ، متوازی ساخت کا آپریٹر آپ infix اور راگ کی ایک قسم کے طور پر ان کے کھیلنے. 341 00:19:09,669 --> 00:19:11,460 اور ہم استعمال کرنے کے لئے جا رہے ہیں اس وقت ہم نے جمع 342 00:19:11,460 --> 00:19:15,080 کے ساتھ اپنے ڈھول حصہ ہمارے تھوڑا سے Frere جیکس نغمہ 343 00:19:15,080 --> 00:19:19,460 ان دو انداز کو کھیلنے کے لئے ایک ہی وقت میں موسیقی اقدار. 344 00:19:19,460 --> 00:19:24,520 345 00:19:24,520 --> 00:19:29,250 >> is-- کری Currying آخری دفعہ پایا گیا Haskell کی کری کے نام جو 346 00:19:29,250 --> 00:19:31,850 Haskell کی تصویر کے بعد نام ہے. 347 00:19:31,850 --> 00:19:34,330 اور یہ ہمارے ایک کی اجازت دیتا ہے ہم جب اچھا خوبصورتی 348 00:19:34,330 --> 00:19:36,880 ان تمام مختلف تحریری کام کرتا ہے یا ہم ہیں کہ فلٹر 349 00:19:36,880 --> 00:19:39,330 ہمارے فہرستوں سے زیادہ تعریفیں جا رہا. 350 00:19:39,330 --> 00:19:42,810 دو میں سے ایک تقریب X اور y-- چ دلائل 351 00:19:42,810 --> 00:19:46,630 کے طور پر نمائندگی کیا جا سکتا ہے ایف ایکس کے Y پر لاگو. 352 00:19:46,630 --> 00:19:49,800 تو اس کی ایک تقریب ہے واپس کہ ایک دلیل 353 00:19:49,800 --> 00:19:51,240 ایک دلیل کی ایک تقریب. 354 00:19:51,240 --> 00:19:56,962 تو یہ ہم نے ایک نقشہ کر سکتے ہیں کا مطلب ہے کہ Y کی فہرست پر X کی دالہ f. 355 00:19:56,962 --> 00:19:58,920 کونر HARRIS: کرنا چاہتے ہیں اس کی ایک مثال دے؟ 356 00:19:58,920 --> 00:19:59,836 اسٹیفن KREWSON: جی ہاں. 357 00:19:59,836 --> 00:20:05,390 میں یہیں سے ایک مثال ہے ہم لکھیں گے چیزوں میں سے کچھ. 358 00:20:05,390 --> 00:20:10,500 تو نقل 2-- ساتھ، لے جائے گا دہرانے 359 00:20:10,500 --> 00:20:13,040 کتنے ہے جو ایک قدر، اوقات کچھ دہرانے کی، 360 00:20:13,040 --> 00:20:16,690 اور پھر اس قدر لے جائے گا عام طور پر ایک فہرست یا کچھ. 361 00:20:16,690 --> 00:20:23,450 تو یہاں، ہم تعریفیں ہیں ایک اور فہرست سے زیادہ 2 دہرانے. 362 00:20:23,450 --> 00:20:27,440 >> ہم 2 نقل نقشہ تو اگر، ہم 2 دہرانے اگر لاگو 363 00:20:27,440 --> 00:20:31,890 اس فہرست کے پہلے عنصر کے لئے اور ان موسیقی phrases-- کی فہرستیں ہیں 364 00:20:31,890 --> 00:20:37,650 دو پیدا کرے گا "آپ sleeping--" لہذا آپ سو رہے ہیں، آپ سو رہے ہیں. 365 00:20:37,650 --> 00:20:40,040 تو اب ہم دو ہیں. 366 00:20:40,040 --> 00:20:42,570 لیکن نقل دو لیتا ہے دلائل، لیکن ہم ہیں کیونکہ 367 00:20:42,570 --> 00:20:47,100 تعریفیں تو currying اور، ہم نقل 2 نمائندگی کر سکتے ہیں 368 00:20:47,100 --> 00:20:52,310 کی ایک تقریب کے طور پر واپس آ گیا ہے کے طور پر ایک دلیل صرف دو بار کے replicating. 369 00:20:52,310 --> 00:20:57,010 اور پھر ہم سے ہر ایک کو اس کا اطلاق کر رہے ہیں جملے کی اس فہرست کے عنصر. 370 00:20:57,010 --> 00:21:01,900 >> اور concat ایک Haskell کی ہے ایک فہرست چپٹی لئے آپریشن. 371 00:21:01,900 --> 00:21:04,400 نقل 2 گا کیونکہ فہرستوں کی ایک فہرست پیدا. 372 00:21:04,400 --> 00:21:06,660 اور یہ اس انٹرمیڈیٹ فارم یہاں ہے. 373 00:21:06,660 --> 00:21:10,365 اور تو ہم concat کر سکتے ہیں یا دو بار ہے کہ باہر چپٹا. 374 00:21:10,365 --> 00:21:12,240 کونر HARRIS: ایک آسان currying کی مثال، 375 00:21:12,240 --> 00:21:15,323 آپ like-- اگر F صرف ایک ہے کا تصور دو لیتا ہے کہ ضرب تقریب 376 00:21:15,323 --> 00:21:16,840 دلائل اور ان مصنوعات کی واپسی. 377 00:21:16,840 --> 00:21:19,320 آپ کو ایک F 4 5 ہے تو، یہ 20 ہے. 378 00:21:19,320 --> 00:21:22,670 لیکن آپ کو اس کے بارے میں سوچ کر سکتے ہیں also-- آپ کو ایک تقریب F 4 ہے 379 00:21:22,670 --> 00:21:25,560 کہ ایک دلیل اور واپسی لیتا یہ صرف دلیل چار گنا 380 00:21:25,560 --> 00:21:27,870 جزوی درخواست جس صرف ایک دلیل 4. 381 00:21:27,870 --> 00:21:31,182 اور آپ 4 کے ایف کو کھانا کھلانا تو 5، کہ آپ کو 20 دے گا. 382 00:21:31,182 --> 00:21:32,890 اور یہ کہ ایک آسان ہے currying کی مثال. 383 00:21:32,890 --> 00:21:34,473 یہ عام طور پر نصابی کتاب والوں میں سے ایک ہے. 384 00:21:34,473 --> 00:21:38,860 385 00:21:38,860 --> 00:21:42,110 >> اسٹیفن KREWSON: لامڈا اظہار یا گمنام افعال 386 00:21:42,110 --> 00:21:47,330 دوسرے Haskell کی شناخت ہیں. 387 00:21:47,330 --> 00:21:51,242 ہم ایک کوڑا کی ضرورت ہے تو چھوٹی سی تقریب میں زندگی نقل، 388 00:21:51,242 --> 00:21:52,950 لیکن اس میں نہیں ہے کا کہنا ہے کہ معیاری لائبریری، 389 00:21:52,950 --> 00:21:56,150 ہم ایک نحوی استعمال کر سکتے ہیں مندرجہ ذیل کی طرح. 390 00:21:56,150 --> 00:21:58,730 اور ہم اس سے زیادہ ہوا کریں گے. 391 00:21:58,730 --> 00:22:02,160 آپ میں ایک بہت کچھ دیکھیں گے ایک بات ڈھول مشین ہم کالز کر رہے ہیں ہے 392 00:22:02,160 --> 00:22:05,790 کچھ کرنے کے لئے بلایا جس طرح سے پہلے، فلٹر، 393 00:22:05,790 --> 00:22:08,185 ایک تقریب کے ایک میپنگ ہے ایک فہرست کے ساتھ، یہ ہے لیکن 394 00:22:08,185 --> 00:22:10,260 ایک بولین تقریب کی تعریفیں. 395 00:22:10,260 --> 00:22:13,390 >> تو ہم یہاں ایک مثال ہے کے ایک گمنام 396 00:22:13,390 --> 00:22:19,150 وضاحت بولین تقریب ہے صرف ایک جوڑے اقدار لیتا ہے. 397 00:22:19,150 --> 00:22:22,990 یہ سختی سے بات نہیں ہے ایک گمنام تقریب. 398 00:22:22,990 --> 00:22:25,850 لیکن اس کے ساتھ کی وضاحت ہے سنکشپتتا کے لئے نحو، 399 00:22:25,850 --> 00:22:28,007 اور یہ صرف ایکس ماڈیول لیتا (ن) 400 00:22:28,007 --> 00:22:28,840 کونر HARRIS: جی ہاں. 401 00:22:28,840 --> 00:22:31,330 تو F کی ایک تقریب ہے دو دلائل (ن) اور P 402 00:22:31,330 --> 00:22:35,440 جو خود ہے کہ ایک تقریب کی واپسی ایک دلیل کی ایک تقریب، یعنی ایکس. 403 00:22:35,440 --> 00:22:38,815 404 00:22:38,815 --> 00:22:40,690 اسٹیفن KREWSON میں ذکر infix آپریٹرز. 405 00:22:40,690 --> 00:22:42,642 infix آپریٹرز کیا ہیں؟ 406 00:22:42,642 --> 00:22:45,710 ویسے، infix آپریٹرز ہیں ہم آپریشن کی نمائندگی عام طریقہ، 407 00:22:45,710 --> 00:22:49,910 mathematics-- 2 کے علاوہ میں، کا کہنا ہے کہ بجائے آپریٹر کی 2 کے علاوہ 408 00:22:49,910 --> 00:22:51,202 اور اس کے بعد دو دلائل 2 اور 2. 409 00:22:51,202 --> 00:22:53,701 کونر HARRIS: یہ کہا جاتا ہے ہے جس میں، پولستانی سنکیتن ریورس 410 00:22:53,701 --> 00:22:55,330 ایک اصطلاح میں تم میں سے کسی کو پتہ چلے گا پر شک. 411 00:22:55,330 --> 00:22:56,288 >> اسٹیفن KREWSON: دائیں. 412 00:22:56,288 --> 00:22:58,290 پولستانی یا سابقہ ​​سنکیتن ریورس. 413 00:22:58,290 --> 00:23:01,412 لیکن Haskell کی کرنے کا فیصلہ infix آپریٹرز کا استعمال. 414 00:23:01,412 --> 00:23:03,120 تو ان میں سے کچھ یہ ہیں اپنی مرضی کے مطابق ہیں کہ 415 00:23:03,120 --> 00:23:07,770 کے لئے تعریف کر رہے ہیں Haskell کی میں Euterpea DSCL. 416 00:23:07,770 --> 00:23:10,730 تو اس تخکرمک ساخت تھا. 417 00:23:10,730 --> 00:23:16,340 یہ متوازی ساخت تھا، اور اس متوازی ساخت قطع برید تھا. 418 00:23:16,340 --> 00:23:18,710 اور ہم اس کی ضرورت ہو گی ہماری ڈھول مشین کے ساتھ، 419 00:23:18,710 --> 00:23:22,640 ہم نے گزشتہ استعمال کریں گے کیونکہ وہاں اس چھوٹے tuple میں آپریٹر 420 00:23:22,640 --> 00:23:26,330 ساتھ ڈھول مشین کو کھیلنے کے لئے ہمارے سے Frere جیکس گیت کے ساتھ. 421 00:23:26,330 --> 00:23:28,650 اور ہمارے ڈھول مشین ہے لامحدود ہونے جا رہا. 422 00:23:28,650 --> 00:23:30,920 یہ ہمیشہ کے لئے ادا کرتا ہے. 423 00:23:30,920 --> 00:23:32,692 لیکن سے Frere جیکس نغمہ نہیں ہے. 424 00:23:32,692 --> 00:23:33,510 یہ طویل نہیں ہے. 425 00:23:33,510 --> 00:23:36,610 یہ صرف چند سلاخوں ہے. 426 00:23:36,610 --> 00:23:43,030 تو ہم ڈھول مشین کو روکنے کے لئے کی ضرورت ہے چھوٹا موسیقی قدر آتا ہے جلد ہی کے طور پر 427 00:23:43,030 --> 00:23:43,700 ختم کرنے کے لئے. 428 00:23:43,700 --> 00:23:46,980 اس infixed آپریٹر اس کے ساتھ سپر مددگار ہے. 429 00:23:46,980 --> 00:23:50,090 >> کی طرح اور infix سنکیتن یہ اچھی قسم کا ہے 430 00:23:50,090 --> 00:23:57,095 کہنا ہے کہ کیونکہ آپ کو ایک تقریب کی طرح ہے اقتباس، جو عددی ڈویژن دیتا 431 00:23:57,095 --> 00:24:01,010 کچھ کی طرف سے ایکس کے else-- معذرت، کہ ایک اور ب ہونا چاہئے. 432 00:24:01,010 --> 00:24:04,740 آپ بی کے ایک اقتباس کے طور پر لکھ سکتے تھے. 433 00:24:04,740 --> 00:24:09,670 آپ put-- عنصر ہے تو اس کی ایک اور مثال. 434 00:24:09,670 --> 00:24:14,730 کچھ کی فہرست میں X عنصر، آپ کو ڈال دیا تو یہ Backticks میں، آپ اسے استعمال کر سکتے ہیں. 435 00:24:14,730 --> 00:24:20,400 یہ ایک علامت نہیں ہے اگرچہ پلس یا مائنس یا بار کی طرح، 436 00:24:20,400 --> 00:24:24,630 آپ کو ایک کا نام استعمال کر سکتے ہیں Backticks میں اس طرح کی تقریب 437 00:24:24,630 --> 00:24:27,045 بہت اچھی بات ہے جس infix آپریٹر، کے طور پر. 438 00:24:27,045 --> 00:24:29,670 کونر HARRIS: ایک بار پھر، یہ ہے صرف syntactic چینی، واقعی. 439 00:24:29,670 --> 00:24:32,310 یہ زبان کے بنیادی کو متاثر نہیں کرتا. 440 00:24:32,310 --> 00:24:37,440 >> اسٹیفن KREWSON: تو ہم کے لئے یہاں دیکھیں ہمارے سے Frere جیکس نغمہ کی آخری جملہ، 441 00:24:37,440 --> 00:24:45,740 میں کچھ تھوڑا chords کے ادا کیا یا متوازی ساخت کا استعمال کرتے ہوئے تہائی 442 00:24:45,740 --> 00:24:46,240 آپریٹر. 443 00:24:46,240 --> 00:24:50,680 444 00:24:50,680 --> 00:24:54,950 یہ کچھ کہہ کا ایک اور طریقہ ہے ہم صرف یہ کہہ رہا ہوں کیا. 445 00:24:54,950 --> 00:24:59,986 تو آپ کے افعال نقشہ کر سکتے ہیں فہرستوں میں ایک دلیل کے. 446 00:24:59,986 --> 00:25:02,860 کونر HARRIS: ایک بار پھر، حوالہ جات Haskell-- تعارفی نصابی کتابوں کے لئے 447 00:25:02,860 --> 00:25:04,680 اس میں اس کے تمام پڑے گا. 448 00:25:04,680 --> 00:25:07,790 >> اسٹیفن KREWSON: تو یہاں ایک خوبصورت ہے قدم sequencer کے اہم لائن 449 00:25:07,790 --> 00:25:12,820 ہم استعمال پر ایک نظر لے لیں گے ایک فہرست فہم. 450 00:25:12,820 --> 00:25:17,810 اور ہم یہاں اس عنصر ہے کو دیکھنے کے واپس کی قیمت درج کرنے میں فکسڈ آپریٹر میں. 451 00:25:17,810 --> 00:25:23,030 X کی فہرست کا ایک عنصر ہے تو ایکس کی، پھر ہم Perc کی افعال کو فون کروں گا. 452 00:25:23,030 --> 00:25:25,100 تو Perc کی صرف ایک ٹککر تقریب ہے. 453 00:25:25,100 --> 00:25:30,200 یہ ہے کہ کچھ قدر لیتا ہے پی سب سے جکڑے ہوئے سیٹ کا حصہ 454 00:25:30,200 --> 00:25:35,310 مختلف ٹککر آواز ہم ایک گزشتہ سلائڈ میں نے دیکھا ہے کہ، 455 00:25:35,310 --> 00:25:38,840 اور پھر یہ کہ دیتا ہے ایک چوتھائی نوٹ کی مدت. 456 00:25:38,840 --> 00:25:43,190 ورنہ یہ ایک QNR دیتا ہے، اور QNR صرف ایک چوتھائی نوٹ باقی ہے. 457 00:25:43,190 --> 00:25:44,970 >> تو یہ کچھ اچھا کی تعمیر ہے. 458 00:25:44,970 --> 00:25:52,110 ہم عناصر کی ایک فہرست ہے، اور ایک سے کچھ کی فہرست پر ہم کریں گے لوپ 459 00:25:52,110 --> 00:25:54,540 ہمارے قدم sequencer کی زیادہ سے زیادہ قیمت پر. 460 00:25:54,540 --> 00:25:58,290 اور ہم ایک خاص میں میں ہو جب زیادہ سے زیادہ قیمت کے لئے ایک کی فہرست، 461 00:25:58,290 --> 00:26:02,970 کہ میں نے اس کے ایک رکن ہے اس تقریب میں پیدا سیٹ، 462 00:26:02,970 --> 00:26:06,040 اچھی طرح سے، تو ہم اسے تبدیل ایک ٹککر نوٹ میں. 463 00:26:06,040 --> 00:26:10,960 دوسری صورت میں، ہم صرف ایک باقی، ادا کرتا ہے ہم صرف خاموش رہنے، کا کہنا ہے کہ. 464 00:26:10,960 --> 00:26:16,050 اور ہم یہاں دیکھ سکتے ہیں کہ اس فہرست فہم نحو، 465 00:26:16,050 --> 00:26:20,030 X اس کی طرف سے آبادی ہے فہرست ایک تعمیر 466 00:26:20,030 --> 00:26:22,462 sequencer کی عالمی سائز کے. 467 00:26:22,462 --> 00:26:23,295 کونر HARRIS: جی ہاں. 468 00:26:23,295 --> 00:26:26,340 کے لئے بنیادی نحو فہرست comprehensions ہے 469 00:26:26,340 --> 00:26:30,810 شامل بریکٹ، قیمت کچھ متغیر، بار، 470 00:26:30,810 --> 00:26:34,260 متغیر کی ممکنہ اقدار خود، بریکٹ بند. 471 00:26:34,260 --> 00:26:38,545 اور آپ کی مقرر بلڈر سنکیتن کیا ہے تو ریاضی کی کلاس کے کسی بھی قسم میں، 472 00:26:38,545 --> 00:26:45,999 آپ کو اس طرح 2N قائم ہو سکتا ہے کہ (ن) یا میں ن Z میں ہے. 473 00:26:45,999 --> 00:26:48,290 اس سنکیتن thing-- اسی طرح تجویز ہونا مراد ہے 474 00:26:48,290 --> 00:26:49,630 کہ ریاضی سنکیتن کی. 475 00:26:49,630 --> 00:26:51,880 اسٹیفن KREWSON اور آپ کر سکتے ہیں ایک سے زیادہ predicates لاگو 476 00:26:51,880 --> 00:26:56,250 ایک فہرست میں اور ایک سے زیادہ کے فلٹر بہت اچھا ہے جس میں فہم،. 477 00:26:56,250 --> 00:27:01,800 الجبری types-- ہم یہاں طویل تاخیر نہیں کریں گے. 478 00:27:01,800 --> 00:27:04,840 ایک اچھا تصور میں نہیں ہے Haskell کی یا ایک اچھا، واضح تصور 479 00:27:04,840 --> 00:27:10,720 لینے کے لئے، کا کہنا ہے کہ، ایک پہلے سے طے شدہ کے ایک تقریب یا کچھ کرنے کے لئے پیرامیٹر. 480 00:27:10,720 --> 00:27:13,370 ازگر میں، یہ بہت آسان ہے. 481 00:27:13,370 --> 00:27:18,460 پر برابر کے ساتھ آپ کو صرف کہہ سکتے ہیں تقریب کا اعلان، 482 00:27:18,460 --> 00:27:21,420 ایک پہلے سے طے شدہ قیمت میں کیس سے کوئی بھی فراہم کی جاتی ہے. 483 00:27:21,420 --> 00:27:27,010 >> Haskell کی میں، آپ کو شاید کر سکتے ہیں شاید ٹائپ ہو سکتا ہے کا استعمال کرتے ہیں، 484 00:27:27,010 --> 00:27:32,190 جو یا تو کچھ بھی نہیں لیتا یا قسم کی قیمت صرف ایک. 485 00:27:32,190 --> 00:27:38,630 تو ہم ڈھول مشین میں اس کا استحصال ہمیں اختیاری حجم دینے کے لئے اجازت دینے کے لئے 486 00:27:38,630 --> 00:27:40,730 ڈھول حصوں میں سے ہر ایک کے پیرامیٹرز. 487 00:27:40,730 --> 00:27:46,160 488 00:27:46,160 --> 00:27:54,680 کہ ہمیں EQ رکھنے کا ایک طریقہ فراہم کرتا ہے تو یا کسی خاص چینل پر ایک حجم. 489 00:27:54,680 --> 00:27:56,440 >> کونر HARRIS: میں دیگر Haskell کی مثالیں، 490 00:27:56,440 --> 00:28:00,450 آپ کو شاید کے لئے استعمال کیا دکھائی دے سکتا ہے ناکام ہو سکتا ہے کہ کام کرتا ہے. 491 00:28:00,450 --> 00:28:03,470 یہ ایک عام سے ایک ہے. 492 00:28:03,470 --> 00:28:07,010 >> اسٹیفن KREWSON اور آپ کو فراہم کر سکتے ہیں ایک پہلے سے طے شدہ طور پر غلطی پیغام کے کچھ قسم کی. 493 00:28:07,010 --> 00:28:11,020 اور یہ کہ خاص طور پر جب آسان ہے آپ Haskell کی میں / O کر رہے ہیں. 494 00:28:11,020 --> 00:28:12,044 کہ چالوں ہو سکتا ہے. 495 00:28:12,044 --> 00:28:13,960 کونر HARRIS: یا ایک کے لئے اسی طرح مثال کے طور پر، لگتا ہے 496 00:28:13,960 --> 00:28:17,460 ڈویژن شامل ہے کہ ایک تقریب کے 0 ہو سکتا ہے کہ ایک پیرامیٹر کی. 497 00:28:17,460 --> 00:28:20,020 اور اس تقریب سکتا شاید جو کچھ بھی واپس. 498 00:28:20,020 --> 00:28:22,802 0 کوئی تقسیم نہیں ہے اگر ایسا ہے تو، یہ صرف جو کچھ بھی واپس آ جائیں گے. 499 00:28:22,802 --> 00:28:25,010 اور ڈویژن کی طرف سے تو نہیں ہے 0، یہ کچھ بھی نہیں واپس آ جائیں گے 500 00:28:25,010 --> 00:28:26,910 غلطی سگنلنگ کا ایک طریقہ کے طور پر. 501 00:28:26,910 --> 00:28:30,330 میں سے ایک نتیجہ کی وجہ سے Haskell کی بہت سخت ٹائپنگ 502 00:28:30,330 --> 00:28:34,100 کوئی real-- کہ وہاں ہے مستثنیات، بنیادی طور پر، عجیب ہیں 503 00:28:34,100 --> 00:28:36,160 غلطی کی ہینڈلنگ عجیب ہے. 504 00:28:36,160 --> 00:28:39,440 اور یہ بہت ہے یہ کرنے کے عام طریقہ. 505 00:28:39,440 --> 00:28:42,990 >> اسٹیفن KREWSON: تو اب ہم حاصل ایک دماغ موڑنے بات کرنے کے لئے 506 00:28:42,990 --> 00:28:49,160 Haskell کی، کے بارے میں جس کے پیٹرن ہے ملاپ اور تقریب کی تعریف. 507 00:28:49,160 --> 00:28:53,390 میں نے گزشتہ سلائڈ میں نے تمہیں دکھایا قدم ترتیب کا اعلان 508 00:28:53,390 --> 00:28:58,170 ایک شاید قیمت لیا جس کی تقریب،، پھر اسے ایک int، پھر ints کی ایک فہرست، 509 00:28:58,170 --> 00:29:03,850 پھر ایک ہی تسلسل واپس موسیقی اقدار ینوٹیٹ 510 00:29:03,850 --> 00:29:05,375 پچ اور حجم دونوں کے ساتھ. 511 00:29:05,375 --> 00:29:08,030 512 00:29:08,030 --> 00:29:11,820 >> تو ان تین دلائل ہو سکتا ہے مندرجہ ذیل راستے میں ملائے پیٹرن. 513 00:29:11,820 --> 00:29:16,660 اور ہم نے ہمیشہ آپ کو اس بات کا یقین کرنا چاہتے ہیں سب سے پہلے ایک بنیاد کیس یا باہر نکلیں کیس. 514 00:29:16,660 --> 00:29:19,690 اور ان انڈر صرف تشریح کی جا سکتی 515 00:29:19,690 --> 00:29:22,340 وہاں ہے کہ کسی بھی قیمت کا مطلب. 516 00:29:22,340 --> 00:29:26,580 ہم ترتیب قدم ایک فون ملتا ہے تو کچھ قیمت کے ساتھ، کسی دوسرے قدر، 517 00:29:26,580 --> 00:29:32,210 اور پھر خالی فہرست میں، ہم کیا چاہتے ہیں واپس کرنے کے لئے صرف خاموشی، آرام 0. 518 00:29:32,210 --> 00:29:35,110 >> اور اس کے بجائے اس کا ایک خالی کی فہرست یا 0 ہونے، 519 00:29:35,110 --> 00:29:38,150 ہم ہیں اس کی وجہ سے، ایک آرام 0 موسیقی کی قسم کے ساتھ نمٹنے، 520 00:29:38,150 --> 00:29:43,230 اور موسیقی کی خالی فہرست قسم صرف کوئی مدت کے باقی ہے. 521 00:29:43,230 --> 00:29:45,680 یہ کوئی موسیقی ہے. 522 00:29:45,680 --> 00:29:51,460 ہمیں ایک قدم ملتا ہے اور پھر ہم دیکھیں حجم دلیل کے لئے ایک V کے ساتھ تسلسل، 523 00:29:51,460 --> 00:29:57,290 احتیاط آلہ کے لئے P دلیل، اور پھر ایکس کی ایک فہرست. 524 00:29:57,290 --> 00:29:58,360 >> پھر ہم کچھ چیزیں. 525 00:29:58,360 --> 00:30:01,290 خاص طور پر، ہم درخواست اس فہرست فہم، 526 00:30:01,290 --> 00:30:05,700 اور ہم نے کچھ انجام شاید قیمت پر آپریشن 527 00:30:05,700 --> 00:30:10,050 تاکہ ایک عددی قیمت میں تبدیل کرنے یہ تو مقرر کردہ اور استعمال کیا جا سکتا 528 00:30:10,050 --> 00:30:12,300 آلہ منتخب کرنے کے لئے. 529 00:30:12,300 --> 00:30:16,730 ایک بار پھر، یہ ایک چھوٹا سا ہے بٹ نے جان بوجھ کر inconcise 530 00:30:16,730 --> 00:30:20,580 صرف تمام عجیب چیزوں کو ظاہر کرنے کے لئے آپ کے طور پر Haskell کی میں کر سکتے ہیں 531 00:30:20,580 --> 00:30:23,170 اپنے اپنے وقت پر اس پر ایک نظر لے. 532 00:30:23,170 --> 00:30:23,802 >> بالکل ٹھیک. 533 00:30:23,802 --> 00:30:26,010 تو ہم آخر میں ہو رہی ہے ہم کرتے ہیں کے لئے باہر قائم کیا کروں، 534 00:30:26,010 --> 00:30:28,820 جس میں کچھ کمپیوٹر موسیقی بنانے کے لئے ہے. 535 00:30:28,820 --> 00:30:32,250 تو ہم کرنے کی کوشش کرنے کے لئے جا رہے ہیں سے Frere جیکس گیت گاؤ. 536 00:30:32,250 --> 00:30:35,220 تو کس طرح سے ہیں سے Frere جیکس میں جملے؟ 537 00:30:35,220 --> 00:30:38,790 538 00:30:38,790 --> 00:30:39,680 چار. 539 00:30:39,680 --> 00:30:40,460 عظیم. 540 00:30:40,460 --> 00:30:42,490 اور کیا اچھا ہے یہ ہے کہ وہ سب بار بار کر رہے ہیں 541 00:30:42,490 --> 00:30:46,990 دو ہے جس کے اوقات کی ایک ہی رقم،. 542 00:30:46,990 --> 00:30:50,730 >> تو ہم چار جملے کا ترجمہ ہے ہر دو بار. 543 00:30:50,730 --> 00:30:53,590 اور خاص طور پر، وہ ایک دور میں ہیں. 544 00:30:53,590 --> 00:30:55,340 اور، وہاں بہت سے ہیں کئی طریقوں کو لاگو کرنے کے 545 00:30:55,340 --> 00:30:57,520 ایسا کرنے کے مزہ ہو سکتا ہے کہ ایک گول. 546 00:30:57,520 --> 00:31:00,260 میں میں کیا ہے خوبصورت یہاں آسان طریقہ، 547 00:31:00,260 --> 00:31:05,760 جس میں صرف لائن construct-- ہے تقریب موسیقی اقدار کی فہرست لیتا 548 00:31:05,760 --> 00:31:10,390 اور تخکرمک ساخت میں بدل جاتا ہے کہ تخکرمک ساخت کا اطلاق کی طرف 549 00:31:10,390 --> 00:31:13,000 آپریٹر. 550 00:31:13,000 --> 00:31:19,540 >> اور پھر میں نے مختلف علاقوں میں تاخیر بنا کر انہیں آرام کے ساتھ شروع. 551 00:31:19,540 --> 00:31:22,770 تو میں نے دو اقدامات کے باقی حصوں کے ساتھ شروع، اور پھر چار اقدامات کی ایک آرام، 552 00:31:22,770 --> 00:31:26,160 اور چھ اس وقت کے ایک آرام اقدامات، اور پھر گول 553 00:31:26,160 --> 00:31:32,290 ہم سب اس گیت جانتے ہیں کے طور، کام کرتا ہے. 554 00:31:32,290 --> 00:31:37,180 ہم دیکھیں دو تشریحات یا موسیقی اقدار کی ترمیم 555 00:31:37,180 --> 00:31:43,150 اس تخکرمک میں موجود ہیں موسیقی عناصر کا انتظام. 556 00:31:43,150 --> 00:31:44,810 ہم ایک اضافہ حجم ہے. 557 00:31:44,810 --> 00:31:48,960 یہ تشریح کرنے کی ایک تقریب ہے ایک خاص طور پر حجم کے ساتھ موسیقی. 558 00:31:48,960 --> 00:31:51,320 یہ ایک اچھی مثال ہے ایک MIDI سگنل چلانے کے 559 00:31:51,320 --> 00:31:57,510 0 سے 127 کرنے کے لئے، سات بٹس کیا جا سکتا ہے کہ معلومات. 560 00:31:57,510 --> 00:32:00,650 >> اور then-- ہم بہت اسے دیکھا مختصر طور پر، لیکن عام طور پر MIDI 561 00:32:00,650 --> 00:32:02,310 تمام مختلف آلات کی فہرست. 562 00:32:02,310 --> 00:32:04,450 اور ان میں سے ایک پوری بہت کچھ نہیں ہے. 563 00:32:04,450 --> 00:32:11,230 آپ کو ایک ڈیجیٹل آڈیو کارگاہ استعمال کرتے ہیں تو، Ableton Live کے یا پرو، فورم کے اوزار کی طرح، 564 00:32:11,230 --> 00:32:17,560 ایک ناقابل یقین حد وسیع رینج ہے synthesizers اور VST آلات کی. 565 00:32:17,560 --> 00:32:21,510 لیکن MIDI معیار صرف چند، یا کئی درجن ہے. 566 00:32:21,510 --> 00:32:22,799 اور ان میں سے کچھ مضحکہ خیز ہیں. 567 00:32:22,799 --> 00:32:25,840 ہم نے ادا کیا تو مجھے یہ مزہ آئے گا سوچا آلہ MIDI آلہ 568 00:32:25,840 --> 00:32:30,550 ہیلی کاپٹر، اور اس کے بعد راؤنڈ کے ذریعے اگلے راستہ، 569 00:32:30,550 --> 00:32:37,980 ہم اور اس کے بعد، ایک پیڈ کے synth کیا اس corny قیادت مربع لہر synth کے، 570 00:32:37,980 --> 00:32:44,240 اور پھر، رسنا آواز ہیں جس میں ایک اپنے برے MIDI پر تھوڑا سا indistinct ہے 571 00:32:44,240 --> 00:32:46,410 مرکب ساز، لیکن وہ ٹھیک ہے. 572 00:32:46,410 --> 00:32:50,030 >> اور پھر ہم اس لشکر طیبہ دیکھیں اور Haskell سے نحو میں، 573 00:32:50,030 --> 00:32:54,030 اور پھر ہم کھیل رہے ہیں ایک ساتھ مل کر ان تمام حصوں 574 00:32:54,030 --> 00:32:56,265 متوازی ساخت آپریٹر کے ساتھ. 575 00:32:56,265 --> 00:33:00,260 576 00:33:00,260 --> 00:33:02,296 اور ہم شاید اس میں سے کچھ دکھا سکتا. 577 00:33:02,296 --> 00:33:07,674 578 00:33:07,674 --> 00:33:08,340 یہاں کوڈ ہے. 579 00:33:08,340 --> 00:33:14,960 اور آپ C میں دیکھ سکتے ہیں، ایک وہاں ہو جائے گا حلق ہٹانے اور ترتیب کے بہت 580 00:33:14,960 --> 00:33:19,760 تم سے پہلے ٹیبل کوڈ اس طرح موسیقی بنانے کے کر سکتے ہیں. 581 00:33:19,760 --> 00:33:22,080 یا کسی بھی دوسری پروگرامنگ زبان، آپ کو شاید چاہوں 582 00:33:22,080 --> 00:33:27,210 کسی قسم کے ساتھ بات چیت کرنا پڑے لائبریری یا API اور سب کچھ قائم، 583 00:33:27,210 --> 00:33:28,725 اور پھر آپ کو صاف کرنے کے لئے پڑے گا. 584 00:33:28,725 --> 00:33:33,810 لیکن یہاں Haskell کی ہے، میں نے ایک بار، لگتا ہے آپ ناقابل یقین حد تک، اس کا ہینگ حاصل 585 00:33:33,810 --> 00:33:35,770 پڑھنے کے قابل اور بہت ابیوینجک. 586 00:33:35,770 --> 00:33:38,930 587 00:33:38,930 --> 00:33:43,240 لہذا عمل درآمد ہے سے Frere جیکس کی. 588 00:33:43,240 --> 00:33:43,740 بالکل ٹھیک. 589 00:33:43,740 --> 00:33:47,557 اب ہم ٹککر شامل کرنا چاہتے ہیں، اور یہ تھوڑا سا messier ہے. 590 00:33:47,557 --> 00:33:49,015 تو سلائڈ پر ایک نظر ڈالیں. 591 00:33:49,015 --> 00:33:56,880 592 00:33:56,880 --> 00:34:00,540 اتنا بڑا خیال بنانے کے لئے ہے فہرستوں یا حصوں کا ایک گروپ. 593 00:34:00,540 --> 00:34:04,140 ان رول میں مشینوں پر، وہاں شاید آٹھ کے بارے میں عام طور پر تھے 594 00:34:04,140 --> 00:34:08,670 10 تال یا ٹککر حصوں میں. 595 00:34:08,670 --> 00:34:10,159 اور پھر تراکیب کا ایک گروپ کو استعمال. 596 00:34:10,159 --> 00:34:14,889 اور ہم these-- استعمال کرنے کے بارے میں بات کی ہے پرتوں، فلٹرز، لامڈا افعال، 597 00:34:14,889 --> 00:34:19,429 اقدار پیدا کرنے کے لئے فہرستوں میں مائچترت کچھ رینج میں 1 R کرنے کے لئے، R، 16 598 00:34:19,429 --> 00:34:20,699 یا sequencer کے 32 اقدامات. 599 00:34:20,699 --> 00:34:23,810 600 00:34:23,810 --> 00:34:29,920 >> اور اس فہرست میں ایک قدر ہے پھر اگر ہم sequencer کے ذریعے چل رہا ہے کر رہے ہیں کے طور پر، 601 00:34:29,920 --> 00:34:34,190 زیادہ اس کے ذریعے چل رہا ہے اور کے ساتھ، یہ اس بات پر بدل جاتا ہے، 602 00:34:34,190 --> 00:34:36,060 اور اس نمونہ کو متحرک کیا جاتا ہے. 603 00:34:36,060 --> 00:34:42,810 604 00:34:42,810 --> 00:34:47,110 یہاں تمام مختلف عجیب طریقے ہیں میں نوٹ پیدا کرنے کے ساتھ آئے تھے. 605 00:34:47,110 --> 00:34:48,940 اپنی خود کی نیم رقم پر کرنے کی کوشش. 606 00:34:48,940 --> 00:34:50,360 یہ ٹھنڈا آواز گا. 607 00:34:50,360 --> 00:34:53,066 608 00:34:53,066 --> 00:34:54,690 وقت ہم اس کے ذریعے جائیں گے، اجازت. 609 00:34:54,690 --> 00:34:59,200 لیکن اب کے لئے، مجھے لگتا ہے ہم کیا ڈیمو چاہئے. 610 00:34:59,200 --> 00:35:01,380 یہ ٹھیک ہے امید ہے کہ. 611 00:35:01,380 --> 00:35:02,670 >> تو اس GHCI ہے. 612 00:35:02,670 --> 00:35:06,580 613 00:35:06,580 --> 00:35:09,121 اور ہم نے ایک فائل کو لوڈ کریں گے میں نے بلایا song.lhs ہے، 614 00:35:09,121 --> 00:35:10,620 جس میں صرف آپ سے ظاہر ہوتا ہے فائل ہے. 615 00:35:10,620 --> 00:35:11,470 ٹھیک ہے، بہت اچھا. 616 00:35:11,470 --> 00:35:15,010 کونر جیسا کہ پہلے کہا، یہ مرتب، اس کی جانچ پڑتال کی قسم، 617 00:35:15,010 --> 00:35:18,380 تو میں بہت آسان سانس لے سکتے ہیں. 618 00:35:18,380 --> 00:35:20,010 یہ مجھ پر اڑانے کی نہیں جا رہا ہے. 619 00:35:20,010 --> 00:35:22,720 >> میں آپ کے لئے مفید کچھ دکھانا چاہتا تھا. 620 00:35:22,720 --> 00:35:25,900 آپ کو ایک دیکھ سکتے ہیں بھری ہوئی ماڈیول 50 بلایا. 621 00:35:25,900 --> 00:35:28,240 آپ اس ماڈیول براؤز کر سکتے ہیں. 622 00:35:28,240 --> 00:35:32,092 یہ بہت اچھا ہے doing-- بارے میں ہو سکتا ہے کیا 623 00:35:32,092 --> 00:35:34,550 Haskell کی نہیں ہے میں تم کر رہے ہو سوفٹ ویئر کی نشوونما سے ملاقات کی، 624 00:35:34,550 --> 00:35:36,980 لیکن تم میں سے ایک بہت کچھ کر سکتے ہیں اپنے اپنے طور پر مزہ چیزیں. 625 00:35:36,980 --> 00:35:42,410 اور کام کے فلو کے طور پر بہت اچھا ہے دیگر زبانوں میں سے ایک بہت کے مقابلے میں، 626 00:35:42,410 --> 00:35:45,872 آپ کو ایک بہت میں دیکھ سکتے ہیں کی وجہ سے کیا ہو رہا ہے پڑھنے کے قابل انداز. 627 00:35:45,872 --> 00:35:47,830 تو ہم دیکھتے ہیں کہ ان تمام جملے، جس 628 00:35:47,830 --> 00:35:53,760 موسیقی پچوں کی فہرست ہیں، اور پھر ہم زیادہ کچھ میں ان کی تعمیر، 629 00:35:53,760 --> 00:35:55,220 جس میں ایک موسیقی گیت ہے. 630 00:35:55,220 --> 00:35:58,450 یہ ایک موسیقی یونٹ ہے. 631 00:35:58,450 --> 00:36:05,545 اور پھر ہم سب اس ادا کر سکتے ہیں ایک تقریب میں بلایا کھیلیں موسیقی کے ساتھ. 632 00:36:05,545 --> 00:36:09,040 آپ یہاں اس کو دیکھ سکتے ہیں. 633 00:36:09,040 --> 00:36:11,310 جس میں صرف ادا کر رہا ہے. 634 00:36:11,310 --> 00:36:15,040 >> میں نے کے بارے میں بات نہیں say-- چاہئے ہر جگہ ہے کہ اس ڈالر کا نشان. 635 00:36:15,040 --> 00:36:17,980 ڈالر کا نشان ایک infix آپریٹر ہے. 636 00:36:17,980 --> 00:36:22,500 لیکن یہ سب سے کم ترجیح ہے جو مؤثر طریقے سے کسی بھی آپریٹر کے 637 00:36:22,500 --> 00:36:24,960 کہ سب کچھ ہے ڈالر کا نشان کے بائیں 638 00:36:24,960 --> 00:36:28,460 اور ڈالر علامت کے دائیں، ہم اس سے پہلے کا تعین کرنے کے لئے جا رہے ہیں. 639 00:36:28,460 --> 00:36:31,430 تو یہ ایک اور طرح طرح کی ہے قوسین شامل کرنے کا طریقہ. 640 00:36:31,430 --> 00:36:33,980 641 00:36:33,980 --> 00:36:36,220 >> کونر HARRIS: یہ بنیادی طور پر ہے تقریب ساخت. 642 00:36:36,220 --> 00:36:40,026 اور یہ آپ کو تو have-- نہیں ہے کہ یقینی بناتا ہے آپ کے افعال کی طرف یا infix یا تو ہے 643 00:36:40,026 --> 00:36:42,900 دونوں کناروں پر آپریٹرز، وہ نہیں اس پار سے منسلک اور آپ کو دے 644 00:36:42,900 --> 00:36:46,030 غیر متوقع نتائج. 645 00:36:46,030 --> 00:36:49,790 >> اسٹیفن KREWSON: تو ہم can-- کا استعمال کرتے ہوئے، ہم کہتے ہیں کر سکتے ہیں. 646 00:36:49,790 --> 00:36:51,415 سب سے پہلے، ہم ڈرم کے بغیر ادا کریں گے. 647 00:36:51,415 --> 00:37:00,330 648 00:37:00,330 --> 00:37:03,170 کہ، ہیلی کاپٹر کے MIDI ہیلی کاپٹر. 649 00:37:03,170 --> 00:37:05,495 >> [موسیقی بجانے] 650 00:37:05,495 --> 00:37:08,525 651 00:37:08,525 --> 00:37:09,525 مربع لہر نہیں ہے. 652 00:37:09,525 --> 00:37:24,520 653 00:37:24,520 --> 00:37:25,490 آواز رسنا. 654 00:37:25,490 --> 00:37:27,630 اور تم واقعی اس کے ساتھ جنگلی جا سکتے ہیں. 655 00:37:27,630 --> 00:37:30,872 میں نے ایک خوبصورت سادہ ایک اٹھایا، میں جانتا تھا کیونکہ میں سے کاٹ نہیں کیا جانا چاہئے 656 00:37:30,872 --> 00:37:31,830 میں چبانا کر سکتے ہیں کے مقابلے میں زیادہ. 657 00:37:31,830 --> 00:37:36,460 صرف خوبصورت اسے سادہ رکھیں اہم خیالات ظاہر کرنے کے لئے. 658 00:37:36,460 --> 00:37:39,952 لیکن اس وقت میں کی طرح، ہم نے گیا اس کے لئے کچھ ڈرم شامل کرنے کے لئے ہے. 659 00:37:39,952 --> 00:37:41,910 بس یہ ایک ہے کیونکہ تھوڑا سا ابھیدی، 660 00:37:41,910 --> 00:37:45,790 اور میں استعمال نہیں کیا ڈھول حصے کا نام، 661 00:37:45,790 --> 00:37:49,490 وہ کر رہے ہیں کیونکہ میں عنقریب مائچترت کہ مقرر کردہ کلاس کا حصہ، 662 00:37:49,490 --> 00:37:51,500 میں ints کے لئے ان مائچترت. 663 00:37:51,500 --> 00:37:53,120 ایک باس ڈھول کی طرح ہے. 664 00:37:53,120 --> 00:37:54,370 صفر کے طور پر اچھی طرح سے ہے. 665 00:37:54,370 --> 00:37:56,000 سات ایک اعلی ٹوپی ہے. 666 00:37:56,000 --> 00:38:00,920 اور یہاں ذیل میں جہاں افعال، ایک چھوٹا سا زیادہ بے ترتیب حاصل 667 00:38:00,920 --> 00:38:02,100 ان کونگا ڈرم کی طرح ہیں. 668 00:38:02,100 --> 00:38:08,360 >> تو آپ کو شاید ایک about-- لگتا ہے ایک ڈھول مشین کے نفاذ کے لیے پرلطف طریقہ 669 00:38:08,360 --> 00:38:12,830 بہت منظم استعمال کرنا ہے اپنے باس ڈھول پر پیٹرن. 670 00:38:12,830 --> 00:38:17,640 تو مثال کے طور، زیادہ فلٹرنگ پر واپس دیتا ہے کہ سب کچھ کے ساتھ کی فہرست 671 00:38:17,640 --> 00:38:20,590 یہ ماڈیول 04 لیا ہے جب ایک 1. 672 00:38:20,590 --> 00:38:27,190 تو میں 1، 5، 9، 13، 17-- تو یہ حاصل ہر اقدام کے سب سے پہلے بیٹ ہے. 673 00:38:27,190 --> 00:38:32,860 >> اور پھر یہ ایک ہی ہے بات دو اقدامات پر منتقل کر دیا گیا. 674 00:38:32,860 --> 00:38:33,850 تو ہے کہ خلاف معمول ہے. 675 00:38:33,850 --> 00:38:37,480 تو یہ ہو جائے گا ایک اعلی ٹوپی کی طرح کچھ. 676 00:38:37,480 --> 00:38:39,640 اور پھر دوبارہ، یہاں نیچے، یہ تھوڑا بے ترتیب ہے 677 00:38:39,640 --> 00:38:41,080 ہم کونگا ڈرم کر رہے ہیں کی وجہ سے. 678 00:38:41,080 --> 00:38:44,180 اور میں بھی، یہاں کچھ سے Maracas نیچے. 679 00:38:44,180 --> 00:38:50,280 >> تو میں، کھیلیں ڈھول مشین کہہ سکتے ہیں لیکن یہ ہمیشہ کے لئے پر جائیں گے، 680 00:38:50,280 --> 00:38:53,700 اور اس کو پکڑ شروع ہو سکتا ہے میرے سسٹم میں تمام میموری. 681 00:38:53,700 --> 00:38:57,090 تو میں نے اس تقریب کو فون کریں گے ، ہم دیکھیں گے کے طور پر جس میں موسیقی کو کھیلنے کے 682 00:38:57,090 --> 00:39:02,020 قطع برید متوازی ساخت کا استعمال ہماری چھوٹی سے Frere جیکس گانا کھیلنے کے لئے 683 00:39:02,020 --> 00:39:04,200 یہ عجیب ڈھول مشین کے ساتھ. 684 00:39:04,200 --> 00:39:06,190 تو ایک نظر ڈالیں. 685 00:39:06,190 --> 00:39:10,920 اور کو بہتر بنانے کرتے ہیں براہ مہربانی اپنے تمام ڈھول حصوں کا انتظام. 686 00:39:10,920 --> 00:39:13,375 میرے خاص، لیکن میں یہ کام کر رہے ایک بہت مزہ تھا. 687 00:39:13,375 --> 00:39:17,678 688 00:39:17,678 --> 00:39:20,654 >> [موسیقی بجانے] 689 00:39:20,654 --> 00:39:52,260 690 00:39:52,260 --> 00:39:56,980 >> ظاہر ہے، یہ سب ہے مذاق کے طور پر تھوڑا سا نہیں 691 00:39:56,980 --> 00:40:01,100 ہم اسے تبدیل نہیں کر سکتے ہیں ایک سکور تو شاید یہ 692 00:40:01,100 --> 00:40:04,650 تشریح کی جا سکتی ایک انسانی اداکار کی طرف سے. 693 00:40:04,650 --> 00:40:06,535 تو میں نے اسے یہاں نہیں چلائے جائیں گے. 694 00:40:06,535 --> 00:40:07,910 میں نے پہلے ہی فائلوں پیدا ہے. 695 00:40:07,910 --> 00:40:10,280 آپ کو ایک ہے کہ وہاں دیکھ سکتے ہیں ڈاٹ LilyPond فائل اور اس 696 00:40:10,280 --> 00:40:14,500 کرنے کے لئے میری segue کا ختم ہو جائے گا Connor-- اور ایک نقطہ MIDI فائل، 697 00:40:14,500 --> 00:40:18,610 اور کیا ایک نقطہ PDF فائل، ہے جو LilyPond بالآخر پیدا کرے گا. 698 00:40:18,610 --> 00:40:23,770 >> لیکن یہ ان کے سکرپٹ ہیں، اور میں کروں گا صرف ان کی مدد کے اختیارات کے ساتھ ان کو چلانے کے. 699 00:40:23,770 --> 00:40:28,090 تم ان کو حاصل کرنے کے ساتھ چل رہا ہے تو Euterpea، آپ کو ایک MIDI فائل پیدا کر سکتے ہیں. 700 00:40:28,090 --> 00:40:31,160 اور پھر MIDI فائل سے اس میدی 2LY پروگرام کے ساتھ، 701 00:40:31,160 --> 00:40:34,930 آپ کو ایک للی پیدا کر سکتے ہیں طالاب فائل، اور پھر آپ کو 702 00:40:34,930 --> 00:40:37,974 سکور کی ایک پی ڈی ایف پیدا کر سکتے ہیں. 703 00:40:37,974 --> 00:40:39,390 اور ہم نے اس پر ایک نظر رکھنا چاہئے. 704 00:40:39,390 --> 00:40:52,599 705 00:40:52,599 --> 00:40:55,140 تو کونر شاید دکھائے گا آپ کو کس طرح، یہ بہتر وضاحت کے لئے 706 00:40:55,140 --> 00:41:02,570 لیکن اس سے Frere جیکس ہے Euterpea میں میری طرف سے پیدا. 707 00:41:02,570 --> 00:41:07,300 یہ صرف سی میں سوچا ہے چاہئے اس میں اصل میں ہیک کیا. 708 00:41:07,300 --> 00:41:11,090 لیکن اس کے لئے پائپ لائن ہے تم اس کے ساتھ ایسا کس طرح. 709 00:41:11,090 --> 00:41:12,950 کی LilyPond کے بارے میں مزید بات کرتے ہیں. 710 00:41:12,950 --> 00:41:15,780 >> کونر HARRIS: ٹھیک ہے چلو دیکھتے ہیں. 711 00:41:15,780 --> 00:41:19,480 712 00:41:19,480 --> 00:41:21,419 آپ Haskell کی معلومات حاصل کریں کا ذکر کیا؟ 713 00:41:21,419 --> 00:41:22,460 اسٹیفن KREWSON: اوہ ہاں. 714 00:41:22,460 --> 00:41:23,480 باہر چیک کریں کہ آپ Haskell کی معلومات حاصل کریں. 715 00:41:23,480 --> 00:41:24,410 یہ وسائل میں ہے. 716 00:41:24,410 --> 00:41:26,830 میں نے شروع کس طرح ہے سیکھنے، اور یہ بہت اچھا ہے. 717 00:41:26,830 --> 00:41:27,580 بیوکوف نہیں سیکھنا. 718 00:41:27,580 --> 00:41:28,829 >> کونر HARRIS: تو یہ ہے آن لائن. 719 00:41:28,829 --> 00:41:34,760 اس نام کے ایک آدمی [اشراوی] learnyouahaskell.com، کوئی خالی جگہ. 720 00:41:34,760 --> 00:41:37,065 گرامر بیمار ہے. 721 00:41:37,065 --> 00:41:38,690 اسٹیفن KREWSON: یہ بہت، سچتر ہے. 722 00:41:38,690 --> 00:41:39,440 کونر HARRIS: LilyPond کیا ہے؟ 723 00:41:39,440 --> 00:41:42,480 یہ ایک اعلانیہ پروگرامنگ ہے موسیقی کی typesetting لئے زبان. 724 00:41:42,480 --> 00:41:45,480 تو آپ کر سکتے ہیں declarative-- ایچ ٹی ایم ایل کی طرح چیزوں کے بارے میں سوچنا، 725 00:41:45,480 --> 00:41:50,900 تم نہیں ہو جہاں saying-- ایچ ٹی ایم ایل کس طرح ویب براؤزرز چاہئے کہنا ہے کہ نہیں 726 00:41:50,900 --> 00:41:52,180 رینڈر صفحات قدم بہ قدم. 727 00:41:52,180 --> 00:41:54,096 یہ صرف یہ کہہ رہا ہے ایک ٹیکسٹ وضاحت ہے 728 00:41:54,096 --> 00:41:56,100 آپ کیا چاہتے ہیں کے صفحے کی طرح نظر آنا. 729 00:41:56,100 --> 00:41:59,310 >> اور پھر یہ بھی ایک پروگرام ہے کہ اس زبان سے آگاہ کریں، 730 00:41:59,310 --> 00:42:02,300 یا یہ اصل میں تو اس میں پڑھا تھا اور آپ کے لیے لازمی ہے، 731 00:42:02,300 --> 00:42:05,570 اور یہ باہر spits بہت اچھی لگ PDF سکور. 732 00:42:05,570 --> 00:42:08,250 تم نے بھی PNG فارمیٹ یا جو کچھ بھی حاصل کر سکتے ہیں. 733 00:42:08,250 --> 00:42:10,300 ایک اچھی طرح سوچنے کے لئے اس قیاس کی طرف سے ہے 734 00:42:10,300 --> 00:42:16,620 ، لیٹیکس کی طرح LillyPond طرح ہے لیکن صرف عام کی typesetting لئے. 735 00:42:16,620 --> 00:42:20,360 تو بجائے یہ نہیں ہے of-- جو تم دیکھتے ہو WYSIWYG، 736 00:42:20,360 --> 00:42:22,960 آپ کہتے ہیں، کی طرح، حاصل کیا ہے اختتام ہے، یا Sibelius کی، 737 00:42:22,960 --> 00:42:27,430 یا مائیکروسافٹ ورڈ، میں آپ ٹائپ کر سکتے ہیں جہاں حقیقی وقت میں حقیقی وقت اور ڈرافٹ چیزیں 738 00:42:27,430 --> 00:42:31,340 اور فوری طور پر تبدیلیوں کو دیکھنے کے. 739 00:42:31,340 --> 00:42:32,140 >> یہ متن کی بنیاد پر ہے. 740 00:42:32,140 --> 00:42:35,290 آپ کو آپ کے مرتب کرنے کے لئے ہے ایک علیحدہ پروگرام استعمال کرتے ہوئے سکور 741 00:42:35,290 --> 00:42:37,090 اور بعد میں پی ڈی ایفز باہر حاصل. 742 00:42:37,090 --> 00:42:43,320 یہ تھوڑا سا کم ہے تم تو استعمال کے لئے آسان 743 00:42:43,320 --> 00:42:46,520 براہ راست لکھنے کی کوشش کر تم اور ایک سکور میں 744 00:42:46,520 --> 00:42:48,620 کمپیوٹر پر تحریر کرنے کی کوشش کر. 745 00:42:48,620 --> 00:42:50,830 لیکن ایک بہت ہیں اس کے لئے فوائد میں. 746 00:42:50,830 --> 00:42:56,110 ایک، یہ ایک بہت اچھے لگتی ہے LillyPond اصل کر سکتے ہیں کیونکہ 747 00:42:56,110 --> 00:42:58,210 ایسا کرنے کے لئے وقت لے مناسب طریقے سے ترتیب فیصلے، 748 00:42:58,210 --> 00:43:02,380 ہے جس Sibelius کے یا اختتام کے برعکس تو سمجھوتہ الگورتھم بنانے کے لئے 749 00:43:02,380 --> 00:43:05,020 وہ ظاہر کر سکتا ہے حقیقی وقت میں چیزیں. 750 00:43:05,020 --> 00:43:07,660 >> تو کیوں LilyPond-- ہے کمپیوٹر گرافکس مشکل ہے. 751 00:43:07,660 --> 00:43:10,535 آپ کو موسیقی کے ساتھ کچھ بھی کر رہے ہیں اور آپ کو سکور باہر لکھنے کے لئے چاہتے ہیں، 752 00:43:10,535 --> 00:43:13,900 آپ کو لکھنے کے لئے نہیں کرنا چاہتے خود کی طرف سے سب کچھ 753 00:43:13,900 --> 00:43:19,040 اپنی طرف متوجہ کرنے کے لئے کس طرح کے ساتھ شروع عملے اور کس طرح اپنی طرف متوجہ کرنے notepads. 754 00:43:19,040 --> 00:43:21,020 یہ بہت مشکل ہے. اس سے پہلے کیا گیا ہے. 755 00:43:21,020 --> 00:43:22,170 تم ٹھیک ہو. 756 00:43:22,170 --> 00:43:26,200 >> آپ اختتام یا Sibelius کے استعمال کرنا چاہتے ہیں، ان چیزوں کے لئے فائل کی شکل 757 00:43:26,200 --> 00:43:30,180 بہت پیچیدہ ہیں، اور تم نہیں کر سکتے ہیں واقعی پروگرام ان کا استعمال. 758 00:43:30,180 --> 00:43:35,020 تم اختتام کے ساتھ Sibelius کے کھول سکتے ہیں اور فائل کرنے کے لئے جانا، برآمد PDF کے طور پر خود، 759 00:43:35,020 --> 00:43:37,600 لیکن تم سچ میں نہیں کر سکتے ہیں ایک سکرپٹ کی طرف سے کہتے ہیں. 760 00:43:37,600 --> 00:43:40,440 LillyPond، آپ کو کال کر سکتے ہیں ان پٹکتاین سے. 761 00:43:40,440 --> 00:43:44,397 آپ آسانی سے دہرانا سکتا لیٹیکس کے ساتھ LillyPond. 762 00:43:44,397 --> 00:43:47,230 میں جانے کے لئے زیادہ وقت نہیں پڑے گا اب ان ٹیکنالوجیز میں، 763 00:43:47,230 --> 00:43:48,321 لیکن وہ موجود. 764 00:43:48,321 --> 00:43:50,070 آپ کو دیکھنے کے لئے چاہتے ہیں، تو ایک LillyPond کتاب میں، 765 00:43:50,070 --> 00:43:53,760 اس کے ساتھ آتا ہے کہ ایک پروگرام ہے آپ LillyPond تقسیم، 766 00:43:53,760 --> 00:43:57,030 اور یہ سب iterating کے لئے ہے لیٹیکس میں LillyPond ٹکڑے 767 00:43:57,030 --> 00:44:00,340 آپ کو کچھ کرنا چاہتے ہیں تو ایک بڑی سے Musicology دستاویز کی طرح 768 00:44:00,340 --> 00:44:02,289 مثال کے طور پر مثالیں کے ساتھ. 769 00:44:02,289 --> 00:44:04,580 اور اس کے لئے ایک اچھی مہارت ہے آپ کو کچھ بھی کر رہے ہیں زندگی 770 00:44:04,580 --> 00:44:05,770 موسیقی، نہ صرف CS50 کے ساتھ. 771 00:44:05,770 --> 00:44:09,320 میں سب کے لئے LillyPond کا استعمال کیا ہے میرے ساخت کے منصوبوں کی 772 00:44:09,320 --> 00:44:11,880 میں بنیادی طور پر تھا کے بعد ایک ہائی اسکول میں سینئر. 773 00:44:11,880 --> 00:44:13,455 >> تو یہاں کچھ آسان مثالیں ہیں. 774 00:44:13,455 --> 00:44:17,490 775 00:44:17,490 --> 00:44:21,060 یہ بنیادی طور پر نمائندہ ہے مشکل کی سطح کے 776 00:44:21,060 --> 00:44:23,481 کہ زیادہ تر لوگوں گے وہ کوشش کر رہے تھے اس کا سامنا 777 00:44:23,481 --> 00:44:24,980 سادہ منصوبوں کے لئے استعمال کرنے کے لئے LilyPond. 778 00:44:24,980 --> 00:44:29,519 یہ سب سے پہلے ایک آغاز ہے Bach کی طرف سے ایک کوریل کردار کو. 779 00:44:29,519 --> 00:44:31,810 یہ نیچے ایک ایک اقتباس ہے اپنے کاموں میں سے ایک کی طرف سے، 780 00:44:31,810 --> 00:44:34,650 اور یہ ظاہر کرنے کے لئے صرف وہاں ہے [اشراوی] کی طرح تم ان چیزوں 781 00:44:34,650 --> 00:44:38,550 اسی میں ایک سے زیادہ لائنوں ڈال عملے، کس طرح گیت undersetting کام. 782 00:44:38,550 --> 00:44:41,350 783 00:44:41,350 --> 00:44:46,110 گیت underlays بہت ہے کہ ایک چیز ہیں choral موسیقی کے لئے LilyPond استعمال کرنا آسان ہے. 784 00:44:46,110 --> 00:44:48,814 >> اور تو کچھ نہیں ہے یہاں پیچیدہ مثالیں. 785 00:44:48,814 --> 00:44:50,980 ان تمام میں کیا کر رہے ہیں LilyPond اور وہ ممکن ہو. 786 00:44:50,980 --> 00:44:55,280 یہ پہلا اقتباس کی طرف سے ہے [اشراوی] [اشراوی] کی طرف سے. 787 00:44:55,280 --> 00:44:58,860 یہ [اشراوی] سے سولو باس کے لئے ایک ٹکڑا 788 00:44:58,860 --> 00:45:03,550 [اشراوی] کی طرف سے بانسری، جو ایک longtime-- ہے جو 789 00:45:03,550 --> 00:45:07,101 کے ایک دیرینہ رکن تھے یہاں موسیقی کے سیکشن، مجھے لگتا ہے. 790 00:45:07,101 --> 00:45:08,600 مجھے وہ دور چلا گیا ہے جہاں اس بات کا یقین نہیں ہوں. 791 00:45:08,600 --> 00:45:12,410 لیکن انہوں نے ہارورڈ یونیورسٹی کے مشیر تھا ایک طویل وقت کے لئے موسیقاروں ایسوسی ایشن. 792 00:45:12,410 --> 00:45:13,530 اچھا آدمی. 793 00:45:13,530 --> 00:45:16,920 اور وہ بہت ہے کہ کچھ موسیقی لکھتے ہیں پیچیدہ سنکیتن کہ LillyPond 794 00:45:16,920 --> 00:45:20,500 بہر حال بہت اچھی طرح سے سنبھال سکتا ہوں. 795 00:45:20,500 --> 00:45:26,030 >> تو تم میں سے ایک احساس دینے کے لئے کیا اس بات کی صلاحیتوں تو are-- 796 00:45:26,030 --> 00:45:28,960 LillyPond کے اندرونی بہت پیچیدہ ہیں. 797 00:45:28,960 --> 00:45:31,060 اور آپ کے لئے استعمال کر سکتے ہیں ایک طویل وقت کے، سمیت 798 00:45:31,060 --> 00:45:32,520 کچھ خوبصورت پیچیدہ لئے چیزیں، کے بغیر واقعی 799 00:45:32,520 --> 00:45:34,060 ان کے بارے میں بہت کچھ جانتے ہیں کرنے کے لئے. 800 00:45:34,060 --> 00:45:38,720 لیکن بنیادی خیال پر ہے سب سے کم سطح، LillyPonds کے ایٹموں 801 00:45:38,720 --> 00:45:39,970 نوٹ کی ہیں. 802 00:45:39,970 --> 00:45:42,761 نوٹ ایک پر مشتمل ہے سیاق و سباق کو بلایا آواز. 803 00:45:42,761 --> 00:45:44,510 آواز تناظر تو بنیادی طور پر مساوی 804 00:45:44,510 --> 00:45:47,410 polyphony کے کی ایک لائن پر. 805 00:45:47,410 --> 00:45:49,410 اور پھر تناظر ہو سکتا ہے پر hierarchically موجود 806 00:45:49,410 --> 00:45:53,590 اعلی سطح والوں میں کہ سکور پر عملے کی نمائندگی کرتے ہیں 807 00:45:53,590 --> 00:45:56,750 کی طرح یا بڑے گروہوں پیانو عملے یا کوئر عملے، 808 00:45:56,750 --> 00:45:58,990 اور پھر آخر میں پورے اسکور سیاق و سباق. 809 00:45:58,990 --> 00:46:02,260 اور آپ اصل کا احاطہ کر سکتے ہیں ایک کتاب میں ایک سے زیادہ سکور. 810 00:46:02,260 --> 00:46:05,770 >> اور ہر سیاق و سباق ہے ایک منسلک اینگراویرز کی تعداد. 811 00:46:05,770 --> 00:46:08,340 آپ کے ذریعے نظر آتے ہیں سیاق و سباق کے مندرجات 812 00:46:08,340 --> 00:46:14,410 اور ایک خاص علامت یا ایک پرنٹ ضروری طور پر علامتوں کی مخصوص طبقے. 813 00:46:14,410 --> 00:46:17,840 ہر آواز سیاق و سباق سے تو، [اشراوی] نوٹوں ہے 814 00:46:17,840 --> 00:46:24,270 بنیادی طور پر ایک تقریب ہے کہ اکیرک یا تمام نوٹ لکھتے ہیں کہ کسی چیز کو 815 00:46:24,270 --> 00:46:26,290 ایک ایسے صفحے کے دائیں حصوں پر سر. 816 00:46:26,290 --> 00:46:29,510 اس کے بعد ایک درار اکیرک، وہاں جس عملے پر دراڑوں باہر لکھتے ہیں. 817 00:46:29,510 --> 00:46:31,517 پھر ایک metronome ہے نشان اکیرک کہ 818 00:46:31,517 --> 00:46:33,100 ایک سکور میں metronome کے نشانات باہر لکھتے ہیں. 819 00:46:33,100 --> 00:46:36,410 اور ان تمام خوبصورت فٹ اچھی طرح سے کے تنظیمی ڈھانچے میں. 820 00:46:36,410 --> 00:46:39,500 اور یہ بہت، بہت، بہت ہے مرضی کے مطابق، جس سے آپ کی ضرورت ہے 821 00:46:39,500 --> 00:46:42,880 آپ کو اس طرح چیزوں کو حاصل کرنا چاہتے ہیں تو. 822 00:46:42,880 --> 00:46:45,730 >> تو تمام سیاق و سباق ایک ہے مختلف صفات کے بہت 823 00:46:45,730 --> 00:46:52,410 آپ کو سب کچھ کے لئے نظر ثانی کر سکتے ہیں مختلف فونٹ کے لئے وقفہ کاری سے 824 00:46:52,410 --> 00:46:54,942 چیزوں کے سائز کے انتخاب. 825 00:46:54,942 --> 00:46:56,900 آپ کو بھی کرنا چاہتے ہیں تو زیادہ پیچیدہ چیزوں کو، 826 00:46:56,900 --> 00:46:59,210 ایک ایمبیڈڈ سکرپٹ کی زبان ہے. 827 00:46:59,210 --> 00:47:01,820 انہوں نے منصوبہ بندی، استعمال کرتے ہیں جس تتلاہٹ کی بولی ہے. 828 00:47:01,820 --> 00:47:04,960 یہ شاید ایسا نہیں کرتے تم سے کچھ مطلب. 829 00:47:04,960 --> 00:47:06,900 لیکن بنیادی طور پر، ایک سکیم ایک فعال 830 00:47:06,900 --> 00:47:09,500 پروگرامنگ زبان، کم یا زیادہ. 831 00:47:09,500 --> 00:47:10,800 >> اسٹیفن KREWSON: ٹائی میں. 832 00:47:10,800 --> 00:47:12,690 >> کونر HARRIS: جی ہاں. 833 00:47:12,690 --> 00:47:15,390 یہ ایک اچھی ٹائی میں ہے، مجھے لگتا ہے. 834 00:47:15,390 --> 00:47:20,150 اور یہ ایک تعلیم زبان کے طور پر استعمال کیا جاتا ہے، اصل میں، ماس یوینیو نیچے ایم ائی ٹی میں. 835 00:47:20,150 --> 00:47:26,590 اور یہ LillyPond کے لئے بہت آسان ہے مختلف تکنیکی وجوہات کی بنا پر. 836 00:47:26,590 --> 00:47:30,317 >> اور اس لئے تم آسان بنانے کے لئے چاہتے ہیں تو کونداٹاونالس پر انحصار انداز، 837 00:47:30,317 --> 00:47:32,900 مثال کے لئے کچھ نہیں ہے ملاقات ہے کہ ایک سکور کی حالت، 838 00:47:32,900 --> 00:47:36,495 کرنے کے لئے تبدیلی ترتیب یا تو whatnot-- 839 00:47:36,495 --> 00:47:37,620 ان سہولیات موجود ہیں. 840 00:47:37,620 --> 00:47:38,667 وہ پیچیدہ ہیں. 841 00:47:38,667 --> 00:47:40,250 تو یہاں ایک خوبصورت سادہ کوڈ نمونہ ہے. 842 00:47:40,250 --> 00:47:43,810 یہ پانچ لائنوں ہے. 843 00:47:43,810 --> 00:47:46,120 بنیادی طور پر، میں نے دو عملے کی وضاحت کر رہا ہوں. 844 00:47:46,120 --> 00:47:46,904 یہ 3/4 میں ہے. 845 00:47:46,904 --> 00:47:48,695 پہلے عملے کے ایک ہے ٹیمپو نشان منسلک، 846 00:47:48,695 --> 00:47:51,110 لیکن کہ اصل میں جا رہا ہے پورے سکور پر جانے کے لئے، 847 00:47:51,110 --> 00:47:54,960 ٹیمپو نشانات کی وجہ سے سکور سطح پر ہیں. 848 00:47:54,960 --> 00:47:59,044 metronome کے نشان اکیرک سیاق و سباق کے سکور کے ساتھ منسلک ہے. 849 00:47:59,044 --> 00:48:01,460 مختلف چابیاں ہیں، [اشراوی] اکیرک کیونکہ 850 00:48:01,460 --> 00:48:02,710 عملے منسلک کیا جاتا ہے. 851 00:48:02,710 --> 00:48:04,441 تم واقعی میں ہے کر سکتے ہیں. 852 00:48:04,441 --> 00:48:06,190 میں نے لکھا نمونہ ہے اصل C میجر میں، 853 00:48:06,190 --> 00:48:07,990 لیکن یہ صرف کرنے کے لئے ہے آپ کر سکتے ہیں کا مظاہرہ 854 00:48:07,990 --> 00:48:09,570 مختلف عملے میں مختلف چابیاں. 855 00:48:09,570 --> 00:48:15,710 اور بنیادی نحو آپ لکھنا ہے E، F، G، جو کے ساتھ نام یاد رکھیں. 856 00:48:15,710 --> 00:48:18,910 آپ accidentals کرنا چاہتے ہیں تو، آپ یا ES لاحقہ. 857 00:48:18,910 --> 00:48:22,640 یہ ڈچ کی طرف سے ہے musicological کنونشن. 858 00:48:22,640 --> 00:48:28,290 >> اور Octave کی راہ کرنا، آپ کو استعمال کرنے کی ضرورت ہے ان نشانات، کوما یا apostrophe کے ٹک. 859 00:48:28,290 --> 00:48:30,580 رشتہ دار صرف کا مطلب ہے آپ کو ایک نوٹ ہے جو کچھ بھی، 860 00:48:30,580 --> 00:48:34,080 یہ خود کار طریقے سے plaec جائے گا گزشتہ ایک کے قریب آٹھ سروں کا فرق. 861 00:48:34,080 --> 00:48:37,624 اور تم سے زیادہ کود کرنا چاہتے ہیں ایک پانچویں یا more-- کہنا fifth-- 862 00:48:37,624 --> 00:48:39,165 تو آپ [اشراوی] کا استعمال کرنا پڑے. 863 00:48:39,165 --> 00:48:42,580 لیکن دوسری صورت میں، آپ کی ضرورت نہیں ہے ہر ایک بات کو نوٹ کیجیئے کی Octave کی وضاحت. 864 00:48:42,580 --> 00:48:46,130 >> اور رشتہ دار سی، وزیر، اور سی، آپ کو صرف مڈل سی وضاحت 865 00:48:46,130 --> 00:48:48,630 اور بیس سی، خاص طور پر پہلی نوٹ. 866 00:48:48,630 --> 00:48:55,020 اس کے بعد آپ کو منظم کہ ان چھڑیوں ہے ان دو آوازوں یا موسیقی کے نمونے، 867 00:48:55,020 --> 00:48:56,730 اور آپ کو ایک سکور ہے. 868 00:48:56,730 --> 00:48:58,440 اور یہ کہ اس طرح لگ رہا. 869 00:48:58,440 --> 00:49:01,780 870 00:49:01,780 --> 00:49:05,380 >> آپ کو وقت لینے کے لئے چاہتے ہیں، تو LillyPond کے اس نمونے کو کاپی 871 00:49:05,380 --> 00:49:07,530 پچھلے پر کوڈ یہاں نیچے سلائڈ، اور آپ 872 00:49:07,530 --> 00:49:09,030 LillyPond خود کے لئے یہ لکھ سکتے ہیں. 873 00:49:09,030 --> 00:49:11,280 میرے خیال میں ہمیں کچھ ملا ہے جانتے ہیں کہ اس طرح ایک بہت لگ رہا. 874 00:49:11,280 --> 00:49:17,236 875 00:49:17,236 --> 00:49:19,610 تو ایک اور ٹیکنالوجی ہے نامی موسیقی XML برقرار رکھا 876 00:49:19,610 --> 00:49:22,030 مکمل طور پر مختلف لوگوں کی طرف سے. 877 00:49:22,030 --> 00:49:28,150 XML ایک ٹیکسٹ ڈیٹا structure-- ہوں ڈیٹا کہنا structure-- نہیں کہنا چاہئے 878 00:49:28,150 --> 00:49:29,580 کا استعارہ نقشہ قسم. 879 00:49:29,580 --> 00:49:33,800 اور اسے پکڑنے کے لئے ڈیزائن کیا گیا ہے پدانکردوست ڈیٹا بہت اچھی طرح سے. 880 00:49:33,800 --> 00:49:37,050 ایچ ٹی ایم ایل، مثال کے طور پر، XML کی ایک قسم ہے. 881 00:49:37,050 --> 00:49:41,090 اور آپ XML وجہ بتا سکتے ہیں وہ تھا تمام زاویہ بریکٹ اور زاویہ 882 00:49:41,090 --> 00:49:44,700 بریکٹ سلیش نشانات ظاہر ہوتا ہے کہ اعداد و شمار شعبوں. 883 00:49:44,700 --> 00:49:47,390 >> میں ایک کوڈ کی ضرورت نہیں ہے میوزک XML سے مثال کے طور پر. 884 00:49:47,390 --> 00:49:50,450 تم نے اسے اپنے آپ کو تلاش کر سکتے ہیں. 885 00:49:50,450 --> 00:49:53,735 بنیادی طور پر، آپ چاہتے ہیں کی وجہ سے ہو سکتا ہے انٹرمیڈیٹ مرحلے کے طور پر XML استعمال کرنے کے لئے 886 00:49:53,735 --> 00:49:55,980 سب سے پہلے، یہ، ہے ایک انٹرچینج فارمیٹ 887 00:49:55,980 --> 00:50:02,301 کے لئے بنیادی طور پر میں نہیں کہنا چاہئے every-- مختلف سکور کے ہر، لیکن ایک بہت 888 00:50:02,301 --> 00:50:02,800 لکھنے والوں. 889 00:50:02,800 --> 00:50:04,966 آپ کو موسیقی میں لکھنا تو XML، نہ صرف LillyPond کر سکتے ہیں 890 00:50:04,966 --> 00:50:08,080 اس auxilary کی مدد سے اس کو پڑھنے کے پروگرام، LY پر موسیقی XML بلایا 891 00:50:08,080 --> 00:50:11,360 بلکہ اختتام پڑھ سکتے ہیں یہ، Sibelius کے پڑھ سکتے ہیں. 892 00:50:11,360 --> 00:50:14,770 کس طرح آپ کی اندرونی اعتراض پر منحصر ہے تنظیمی ڈھانچے، موسیقی نمائندگی کرنے کے لئے کام کرتا ہے 893 00:50:14,770 --> 00:50:18,820 باہر لکھنے کے لئے یہ آسان ہو سکتا ہے LillyPond کرنے سے موسیقی XML کرنے کے لئے 894 00:50:18,820 --> 00:50:22,410 اور صرف موسیقی XML پر انحصار کرتے ہیں LY تبادلوں کرنا. 895 00:50:22,410 --> 00:50:24,282 >> میں [اشراوی] موسیقی XML ہے نہیں لگتا. 896 00:50:24,282 --> 00:50:25,490 اسٹیفن KREWSON: یہ نہیں. 897 00:50:25,490 --> 00:50:26,340 کسی اگرچہ، اس پر کام کر رہا ہے. 898 00:50:26,340 --> 00:50:27,090 >> کونر HARRIS: ٹھیک ہے. 899 00:50:27,090 --> 00:50:31,040 Euterpea ایک نہیں ہے ابھی تک موسیقی XML پیداوار تقریب. 900 00:50:31,040 --> 00:50:35,340 آپ کو ایک حتمی منصوبے خیال کرنا چاہتے ہیں تو، شاید لوگوں کے ساتھ رابطے میں حاصل کرنے 901 00:50:35,340 --> 00:50:38,620 اسٹیفن جانتا ہے کہ، اور وہ آپ کی مدد استعمال کر سکتے ہیں. 902 00:50:38,620 --> 00:50:40,992 >> اسٹیفن KREWSON: میں اس سے محبت کرے گا. 903 00:50:40,992 --> 00:50:43,450 کونر HARRIS بھی، بنیادی طور پر، ہر پروگرامنگ زبانوں 904 00:50:43,450 --> 00:50:46,610 کہ اس کے نمک کے قابل ہے پہلے سے ہی ایک XML لائبریری ہے، 905 00:50:46,610 --> 00:50:51,030 لہذا آپ کو اندرونی طور پر تمام تبدیل کر سکتے ہیں کچھ اعتراض میں آپ کی موسیقی کی 906 00:50:51,030 --> 00:50:54,120 XML لائبریری لکھ سکتے ہیں کہ کم ضرورت پڑے گی باہر 907 00:50:54,120 --> 00:50:57,470 اپنے اندرونی ساخت کے لئے تبدیلی جو کچھ بھی کے لئے موسیقی آپ کو اشیاء 908 00:50:57,470 --> 00:51:00,310 یہ لکھنے سے لکھنا چاہتا ہوں براہ راست LillyPond میں کرے گا. 909 00:51:00,310 --> 00:51:04,380 اس کے بعد صرف XML کے ساتھ ساتھ اسے باہر پرنٹ آپ کی زبان میں XML لائبریریوں، 910 00:51:04,380 --> 00:51:07,260 یہ اس بات کی ضمانت کرے گا جس syntactically درست ہے اور ہر چیز، 911 00:51:07,260 --> 00:51:08,720 اور پھر LillyPond اسے تبدیل. 912 00:51:08,720 --> 00:51:11,060 تو ٹیکنالوجی آپ کو کرنا چاہتے ہو سکتا تم سے کچھ کر رہے ہیں میں دیکھو 913 00:51:11,060 --> 00:51:11,650 اس طرح. 914 00:51:11,650 --> 00:51:14,490 915 00:51:14,490 --> 00:51:16,370 >> [اشراوی]، ایک auxilarry ٹیکنالوجی. 916 00:51:16,370 --> 00:51:21,700 اس ٹیک کام بنیادی طور پر ہے یا LillyPond لئے ٹیک سٹوڈیو. 917 00:51:21,700 --> 00:51:25,380 تو اس کے ساتھ مدد فراہم کرتا ہے سانچوں کے ساتھ نحو، 918 00:51:25,380 --> 00:51:28,770 مختلف عام کے لئے آلات کے مجموعے. 919 00:51:28,770 --> 00:51:32,780 یہ تو دیکھنے تقسیم کی سکرین کی اجازت دیتا ہے آپ کو ایک ونڈو میں آپ کے کوڈ حاصل کر سکتے ہیں 920 00:51:32,780 --> 00:51:37,350 اور ایک دوسرے ونڈو میں پی ڈی ایف اور پی ڈی ایف میں مقامات پر کلک کریں 921 00:51:37,350 --> 00:51:40,650 متعلقہ پر کودنے کے لئے آپ کے منبع کوڈ میں مقامات. 922 00:51:40,650 --> 00:51:45,330 آپ اصل میں ہیں تو اس سے زیادہ مفید ہے تحریری LillyPond فائلوں اپنے آپ 923 00:51:45,330 --> 00:51:47,400 آپ پیدا کر رہے ہیں کے مقابلے میں ان پروگرام. 924 00:51:47,400 --> 00:51:51,230 لیکن ایک بار پھر، یہ ہے مفید کچھ کرنے کی. 925 00:51:51,230 --> 00:51:51,970 >> عظیم. 926 00:51:51,970 --> 00:51:55,860 ایک resources-- میں کروں گا بہت جلد اس کے ذریعے جانے. 927 00:51:55,860 --> 00:52:01,270 LillyPond manuals-- LillyPond ہے اپنی ویب سائٹ پر شاندار دستاویزات. 928 00:52:01,270 --> 00:52:02,270 انہوں نے ایک سبق ہے. 929 00:52:02,270 --> 00:52:03,478 وہ ایک نحوی حوالہ ہے. 930 00:52:03,478 --> 00:52:07,010 انہوں نے ٹکڑوں کے سینکڑوں ہیں مختلف چھوٹی چیزوں کے لئے 931 00:52:07,010 --> 00:52:09,930 یو کا مظاہرہ کرنے کے لئے کیا ضرورت ہو سکتی ہے مختلف صلاحیتوں. 932 00:52:09,930 --> 00:52:12,250 آپ استعمال کرنا چاہتے ہیں تو سکرپٹ کی زبان 933 00:52:12,250 --> 00:52:14,740 یا اس سے زیادہ وسیع پیمانے پر بنانے اصلاح، پھر وہاں ہے 934 00:52:14,740 --> 00:52:16,730 internals کے اس URL پر حوالہ. 935 00:52:16,730 --> 00:52:21,950 you موسیقی XML استعمال کرنا چاہتے ہیں، وہاں ہے اس یو آر ایل، musicxml.com/tutorial. 936 00:52:21,950 --> 00:52:27,960 >> اور پھر آپ کی منصوبہ بندی کے بارے میں جاننے کی ضرورت ہے تو آپ اصل میں استعمال کرنے کے لئے چاہتے ہیں کیونکہ 937 00:52:27,960 --> 00:52:30,960 LillyPond میں سکرپٹ کی سہولیات، پھر ایک [اشراوی] کہا جاتا ہے 938 00:52:30,960 --> 00:52:32,918 ساخت تشریح کمپیوٹر پروگرام کی، 939 00:52:32,918 --> 00:52:35,820 جو نہ صرف دوسرے نمبر پر ہے کبھی سب سے بڑا کاوچ سرفنگ کے لکھ رکھا نصابی کتاب 940 00:52:35,820 --> 00:52:39,770 آپ کو معلوم کرنا چاہتے ہیں تو اس کے بعد مجھے تلاش میں سب سے بڑا میں سے ایک is-- کیا سوچتے ہیں 941 00:52:39,770 --> 00:52:43,580 لیکن یہ بھی ایک بہت اچھا ہے مناسب زبان کا تعارف. 942 00:52:43,580 --> 00:52:46,630 تم سے زیادہ ضرورت نہیں کرے گا پہلے چند حصوں. 943 00:52:46,630 --> 00:52:47,827 >> اور یہ بات ہے. 944 00:52:47,827 --> 00:52:48,410 کوئی سوال؟ 945 00:52:48,410 --> 00:52:54,068 946 00:52:54,068 --> 00:52:57,972 >> طالب علم: میں کہاں ڈاؤن لوڈ کرسکتے ہیں آپ پیدا سے Frere جیکس 947 00:52:57,972 --> 00:53:01,050 تو میں اپنے آئی پوڈ پر ڈال کر سکتے ہیں؟ 948 00:53:01,050 --> 00:53:07,574 >> اسٹیفن KREWSON: ویسے، آپ لکھ سکتے ہیں Euterpea میں کچھ ویو فائل سے باہر. 949 00:53:07,574 --> 00:53:08,490 اور آپ کے کوڈ ہے. 950 00:53:08,490 --> 00:53:10,000 یہ GitHub کے پر ہے. 951 00:53:10,000 --> 00:53:15,590 کے اپنے مختلف حالتوں بنائیں CS50 چھتے دماغ کی طرف سے Frere جیکس. 952 00:53:15,590 --> 00:53:17,095 یہ بہت اچھا ہو گا. 953 00:53:17,095 --> 00:53:18,220 کونر HARRIS: کوئی؟ 954 00:53:18,220 --> 00:53:20,261 اسٹیفن KREWSON: ہم نے کی ضرورت بھی ایک بہتر باس ڈھول،. 955 00:53:20,261 --> 00:53:21,935 یہ بہت برا ہے. 956 00:53:21,935 --> 00:53:26,565 >> طالب علم: Euterpea نہ صرف ہے ساخت کی طرف، لیکن signal-- 957 00:53:26,565 --> 00:53:27,440 اسٹیفن KREWSON: جی ہاں. 958 00:53:27,440 --> 00:53:30,100 اصل میں، کام میں جب میں Euterpea میں کیا 959 00:53:30,100 --> 00:53:33,450 this-- ایک ہے لیا ییل میں کورس چلے کہ 960 00:53:33,450 --> 00:53:35,900 اندازہ لگانے آواز کی ترکیب پر تھا کا استعمال کرتا ہے. 961 00:53:35,900 --> 00:53:39,810 تو واقعی وہاں ہے تیر استعمال کرتے ہوئے اچھا طریقہ 962 00:53:39,810 --> 00:53:46,150 اور ہم نے دیکھا سنکیتن میں سے کچھ سگنل افعال کے ساتھ مل کر تحریر. 963 00:53:46,150 --> 00:53:50,610 سب سے زیادہ خاص طور پر، باس میں ان میں سے صرف ایک سادہ جیب کی لہر ہے. 964 00:53:50,610 --> 00:53:54,240 لیکن آپ کو ان کی تحریر شروع تو عجیب پروگرام طریقوں سے، 965 00:53:54,240 --> 00:54:00,010 تم پاگل آواز حاصل کر سکتے ہیں عجیب cascades کی طرح اثرات،. 966 00:54:00,010 --> 00:54:04,640 تم نے بہت کرکرا تشکیل دے سکتے ہیں ماڈلن کی ایک بہت کے ساتھ لگتا ہے. 967 00:54:04,640 --> 00:54:07,730 >> میں دانے دار پر منصوبے کیا ہے جس کی ترکیب، 968 00:54:07,730 --> 00:54:12,290 کہیں ایف ایم اور نمونے کے درمیان میں. 969 00:54:12,290 --> 00:54:15,230 تم، بہت چھوٹی سی لے تھوڑا نمونے، اور اس کے بعد 970 00:54:15,230 --> 00:54:20,440 کسی قسم کے ساتھ ان کو اکٹھا modulator اور ایک امیر آواز کی تعمیر. 971 00:54:20,440 --> 00:54:24,900 ہم بھی تو، جسمانی ماڈلنگ کیا طبیعیات کے بارے میں سوچنے کی کوشش کر 972 00:54:24,900 --> 00:54:29,410 اور اس طرح کچھ کے psychoacoustics کا ایک نرسنگا، اور جس طرح کے بارے میں سوچ 973 00:54:29,410 --> 00:54:32,320 آواز دور شیخی ہے نرسنگے کی گھنٹی 974 00:54:32,320 --> 00:54:35,200 اور صوتی کمرے اور ماڈلنگ 975 00:54:35,200 --> 00:54:40,195 بنیادی oscillators کے ساتھ کہ. 976 00:54:40,195 --> 00:54:47,690 977 00:54:47,690 --> 00:54:48,940 کونر HARRIS: شکریہ بہت بہت. 978 00:54:48,940 --> 00:54:50,140 شکریہ آنے کے لیے. 979 00:54:50,140 --> 00:54:52,400 اور میں نے ہمیشہ کے لئے تیار ہوں email-- طرف سوالوں کا جواب 980 00:54:52,400 --> 00:54:55,020 connorharris@college.harvard.edu. 981 00:54:55,020 --> 00:54:57,020 >> اسٹیفن KREWSON: جی ہاں. stephen.krewson@yale.edu. 982 00:54:57,020 --> 00:54:58,810 983 00:54:58,810 --> 00:55:00,360 ٹھنڈا. 984 00:55:00,360 --> 00:55:01,667