در این مطلب، ویدئو DAW را رها کنید – طراحی صدا در پایتون – ایزاک رابرتز – ADC20 با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:45:38
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,180 –> 00:00:08,750
[Music]
2
00:00:12,910 –> 00:00:24,230
[Music]
3
00:00:24,720 –> 00:00:27,039
سلام و به adc 2020 خوش آمدید،
4
00:00:27,039 –> 00:00:28,720
این طراحی صدای نقطه ای را در
5
00:00:28,720 –> 00:00:31,119
پایتون رها کنید و من اسحاق رابرتس هستم،
6
00:00:31,119 –> 00:00:33,440
بنابراین اول از همه پایتون مانند monty
7
00:00:33,440 –> 00:00:34,160
python
8
00:00:34,160 –> 00:00:36,880
روی مار است، بنابراین پایتون مانند یک زبان سرگرم کننده و
9
00:00:36,880 –> 00:00:38,160
آسان برای استفاده است.
10
00:00:38,160 –> 00:00:41,280
به گونه ای نوشته شده است که شبیه کد شبه
11
00:00:41,280 –> 00:00:43,200
است و به نوعی برای نمونه سازی طراحی شده است
12
00:00:43,200 –> 00:00:44,640
و دارای یک سری ویژگی است که
13
00:00:44,640 –> 00:00:46,160
نوشتن در آن را برای شما آسان می کند
14
00:00:46,160 –> 00:00:47,840
که به آن زمان توسعه انعطاف پذیر بسیار سریع می دهد،
15
00:00:47,840 –> 00:00:50,160
16
00:00:50,160 –> 00:00:51,840
بنابراین دلیل اینکه به
17
00:00:51,840 –> 00:00:53,600
طور خاص برای طراحی صدا عالی است، اول از همه این است که شما
18
00:00:53,600 –> 00:00:56,000
می توانید از مقداری از آن سربار daw اجتناب
19
00:00:56,000 –> 00:00:58,480
کنید، فقط می توانید کد بنویسید تا صدا ایجاد شود
20
00:00:58,480 –> 00:01:00,320
و نیازی نیست نگران
21
00:01:00,320 –> 00:01:03,680
مقدار زیادی از سربار daw
22
00:01:03,680 –> 00:01:05,360
باشید که به کتابخانه های علمی
23
00:01:05,360 –> 00:01:07,600
مانند numpy scipy و اعداد دسترسی دارید،
24
00:01:07,600 –> 00:01:09,280
اینها به نوعی به پشتیبان گیری کمک می کنند.
25
00:01:09,280 –> 00:01:12,240
مدیریت آرایه مانند شما و ریاضیات و
26
00:01:12,240 –> 00:01:13,439
چیزهایی که باید برای
27
00:01:13,439 –> 00:01:14,320
طراحی صدا انجام دهید
28
00:01:14,320 –> 00:01:15,920
، ریاضیات نیز به دلیل این زبان ها در دسترس تر است،
29
00:01:15,920 –> 00:01:17,840
30
00:01:17,840 –> 00:01:20,400
استفاده از این توابع را بسیار آسان می کند، فقط در
31
00:01:20,400 –> 00:01:21,360
32
00:01:21,360 –> 00:01:22,799
آنجا به شما یک نوع تکراری می دهد.
33
00:01:22,799 –> 00:01:25,040
محیط توسعه بنابراین
34
00:01:25,040 –> 00:01:26,240
ما دو روش برای آن داریم که
35
00:01:26,240 –> 00:01:28,159
مشتری داریم و کامپایل زنده داریم
36
00:01:28,159 –> 00:01:29,759
که بعدا به شما نشان خواهم داد
37
00:01:29,759 –> 00:01:31,520
و سپس به
38
00:01:31,520 –> 00:01:33,280
یادگیری ماشین و شبیه سازی و انواع
39
00:01:33,280 –> 00:01:36,240
موضوعات پیشرفته تر از طریق پایتون دسترسی پیدا خواهید کرد،
40
00:01:36,240 –> 00:01:38,240
بنابراین جزئیات پایتون پایتون یک
41
00:01:38,240 –> 00:01:39,920
زبان تفسیر شده که به این معنی است که در
42
00:01:39,920 –> 00:01:41,759
حین اجرای آن در حال کامپایل شدن
43
00:01:41,759 –> 00:01:43,600
است، یک دیکشنری پشتیبان دارد که
44
00:01:43,600 –> 00:01:45,520
مانند یک جفت ارزش کلید و یک
45
00:01:45,520 –> 00:01:46,399
درخت جستجوی دودویی است
46
00:01:46,399 –> 00:01:48,880
و این فرهنگ لغت بخشی از آن انعطافپذیری را به پایتون میدهد و
47
00:01:48,880 –> 00:01:50,079
48
00:01:50,079 –> 00:01:52,960
امکان تایپ پویا را فراهم میکند، مانند
49
00:01:52,960 –> 00:01:53,680
تغییر
50
00:01:53,680 –> 00:01:56,079
متغیرها در لحظه. به شما این امکان را میدهد تا
51
00:01:56,079 –> 00:01:58,159
حتی یک تابع را در لحظه نادیده بگیرید
52
00:01:58,159 –> 00:01:59,920
53
00:01:59,920 –> 00:02:01,600
و استفاده از آن را بسیار آسان و انعطافپذیر
54
00:02:01,600 –> 00:02:03,280
کنید. ساختارهای داده داخلی دارد و به
55
00:02:03,280 –> 00:02:04,719
صورت پویا تایپ
56
00:02:04,719 –> 00:02:06,240
میشود و به زبانی انعطافپذیر تبدیل میشود،
57
00:02:06,240 –> 00:02:08,800
بنابراین بیحرکتی نتیجه
58
00:02:08,800 –> 00:02:09,440
پایتون است.
59
00:02:09,440 –> 00:02:10,878
این به قدری مهم است که مجبور شدیم
60
00:02:10,878 –> 00:02:12,720
آن را در اولین اسلاید
61
00:02:12,720 –> 00:02:14,319
قرار دهیم، اینجا یک کتابخانه مدیریت آرایه است که
62
00:02:14,319 –> 00:02:16,080
ریاضیات زیادی در آن
63
00:02:16,080 –> 00:02:18,480
وجود دارد و به صورت برداری است که من به جای
64
00:02:18,480 –> 00:02:19,840
نوشتن حلقهها برای تکرار در
65
00:02:19,840 –> 00:02:21,760
میان آرایههایتان، میتوانید عملیات خود را
66
00:02:21,760 –> 00:02:23,040
روی کل آرایه انجام دهید،
67
00:02:23,040 –> 00:02:25,280
بنابراین آرایه یک برابر است با آرایه دو به علاوه آرایه
68
00:02:25,280 –> 00:02:27,280
سه و دارای یک c plus plus backend است
69
00:02:27,280 –> 00:02:28,800
که باعث میشود آن را بسیار سریع و
70
00:02:28,800 –> 00:02:31,200
numpy کند، همچنین مبنایی برای مانند همه است.
71
00:02:31,200 –> 00:02:32,720
یادگیری ماشینی و مانند
72
00:02:32,720 –> 00:02:35,760
محاسبات علمی مدرن در پایتون امروزی،
73
00:02:35,760 –> 00:02:37,519
بنابراین مزیت پایتون اول از همه
74
00:02:37,519 –> 00:02:38,800
زمان توسعه سریع و
75
00:02:38,800 –> 00:02:40,959
انعطافپذیر برای نوشتن آسان است، شما به این کتابخانههای علمی دسترسی پیدا میکنید
76
00:02:40,959 –> 00:02:42,560
77
00:02:42,560 –> 00:02:44,400
که از ریاضیات و علومی
78
00:02:44,400 –> 00:02:45,680
که نیاز دارید نسخه پشتیبان تهیه میکنند. برای انجام
79
00:02:45,680 –> 00:02:46,800
طراحی صدا
80
00:02:46,800 –> 00:02:48,080
با زمینههای یادگیری ماشین
81
00:02:48,080 –> 00:02:49,519
و تحقیقات همپوشانی پیدا میکنید و همچنین
82
00:02:49,519 –> 00:02:51,040
به سرخابی دسترسی پیدا میکنید
83
00:02:51,040 –> 00:02:53,680
که کتابخانه طراحی صدای گوگل است.
84
00:02:53,680 –> 00:02:55,360
معایب پایتون
85
00:02:55,360 –> 00:02:58,400
اول از همه یک پایتون در زمان اجرای کندتر
86
00:02:58,400 –> 00:03:00,560
رپ بسیار بدی به خاطر کند بودنش میگیرد
87
00:03:00,560 –> 00:03:01,840
. برای صحبت در مورد برخی از ابزارهایی
88
00:03:01,840 –> 00:03:03,360
که آن را سریعتر میکنند،
89
00:03:03,360 –> 00:03:04,319
اما همچنان کندتر از c
90
00:03:04,319 –> 00:03:06,400
پلاس خواهد بود به علاوه شما به daw دسترسی ندارید،
91
00:03:06,400 –> 00:03:08,319
بنابراین نمیتوانید کد پایتون را پورت کنید.
92
00:03:08,319 –> 00:03:10,159
93
00:03:10,159 –> 00:03:11,920
اگر چیز جالبی را در پایتون طراحی
94
00:03:11,920 –> 00:03:13,920
کنید،
95
00:03:13,920 –> 00:03:16,000
می خواهید آن را به نمونه ها
96
00:03:16,000 –> 00:03:18,000
پرتاب کنید یا آن را در c plus plus بازنویسی کنید
97
00:03:18,000 –> 00:03:20,480
و همچنین به
98
00:03:20,480 –> 00:03:22,400
کتابخانه های موجود مانند juice دسترسی
99
00:03:22,400 –> 00:03:24,560
نخواهید داشت، بنابراین می خواهید باید ماژولهایی را
100
00:03:24,560 –> 00:03:27,360
در پایتون پیدا کنید که این کارها را برای شما انجام میدهند
101
00:03:27,360 –> 00:03:28,799
تا بدون اسکله پرواز کنید و مزایای آن
102
00:03:28,799 –> 00:03:30,959
103
00:03:30,959 –> 00:03:33,599
104
00:03:33,599 –> 00:03:34,159
105
00:03:34,159 –> 00:03:36,319
106
00:03:36,319 –> 00:03:37,280
107
00:03:37,280 –> 00:03:38,959
را داشته باشد.
108
00:03:38,959 –> 00:03:41,040
109
00:03:41,040 –> 00:03:42,560
اکنون می توانید 10 ثانیه از
110
00:03:42,560 –> 00:03:44,560
زمان محاسباتی خود را برای تولید آن
111
00:03:44,560 –> 00:03:45,599
ثانیه صدا صرف کنید
112
00:03:45,599 –> 00:03:47,280
که به شما انعطاف پذیری
113
00:03:47,280 –> 00:03:48,720
و قدرت بسیار بیشتری از نظر
114
00:03:48,720 –> 00:03:49,280
رندر
115
00:03:49,280 –> 00:03:51,680
کردن صداهایتان می دهد، همچنین
116
00:03:51,680 –> 00:03:52,560
117
00:03:52,560 –> 00:03:53,840
از طریق دو روشی که ما انجام می دهیم، یک فرآیند طراحی تکراری دریافت خواهید کرد. در
118
00:03:53,840 –> 00:03:56,480
مورد ژوپیتر و کامپایل زنده صحبت
119
00:03:56,480 –> 00:03:57,760
خواهم کرد و همچنین می توانید
120
00:03:57,760 –> 00:04:00,239
با نوشتن کد آن را سریع و آزاد پخش کنید، دیگر
121
00:04:00,239 –> 00:04:02,560
لازم نیست نگران
122
00:04:02,560 –> 00:04:04,879
تایپ کردن موارد مدیریت حافظه
123
00:04:04,879 –> 00:04:06,480
مانند آن باشید که می توانید از آن اجتناب کنید. برخی
124
00:04:06,480 –> 00:04:08,239
از آن چیزهای خاص
125
00:04:08,239 –> 00:04:10,480
مانند چند رشته در پایتون یک
126
00:04:10,480 –> 00:04:11,280
قابض است
127
00:04:11,280 –> 00:04:13,360
که نیازی نیست نگران
128
00:04:13,360 –> 00:04:14,879
تغییر اندازه بلوک یا نرخ نمونه
129
00:04:14,879 –> 00:04:15,840
باشید و لازم نیست نگران
130
00:04:15,840 –> 00:04:16,720
پارامترهایی
131
00:04:16,720 –> 00:04:19,759
مانند مواردی
132
00:04:19,759 –> 00:04:22,639
از این دست باشید. اجتناب از زمان واقعی،
133
00:04:22,639 –> 00:04:24,000
بنابراین اگر در زمینه رندر
134
00:04:24,000 –> 00:04:25,759
کار میکنید، میتوانید در midi
135
00:04:25,759 –> 00:04:27,520
به جلو نگاه کنید تا ببینید چه چیزی در راه است
136
00:04:27,520 –> 00:04:30,240
و میتوانید بر اساس آن صدا را دقیقتر و واضحتر رندر کنید،
137
00:04:30,240 –> 00:04:32,000
138
00:04:32,000 –> 00:04:32,479
139
00:04:32,479 –> 00:04:34,320
بنابراین اولین و سادهترین کار
140
00:04:34,320 –> 00:04:36,080
تولید پاکتهای مبتنی بر آن است. در طول،
141
00:04:36,080 –> 00:04:37,520
بنابراین در midi به جلو نگاه کنید، ببینید که
142
00:04:37,520 –> 00:04:39,040
این گره یک ثانیه طول دارد و سپس
143
00:04:39,040 –> 00:04:40,080
شما فقط
144
00:04:40,080 –> 00:04:42,400
یک پاکت خطی ایجاد می کنید که در طول آن ثانیه کاهش می یابد
145
00:04:42,400 –> 00:04:43,759
146
00:04:43,759 –> 00:04:45,120
و این یک تغییر بسیار کوچک است که می
147
00:04:45,120 –> 00:04:46,800
توانید در زمینه رندرینگ انجام دهید که صداهای شما را می سازد.
148
00:04:46,800 –> 00:04:48,560
149
00:04:48,560 –> 00:04:50,560
فوراً گویاتر است و
150
00:04:50,560 –> 00:04:52,400
تنوع بیشتری در نتها وجود دارد، به
151
00:04:52,400 –> 00:04:55,280
نظر بسیار بهتر میرسد، میتوانید
152
00:04:55,280 –> 00:04:56,479
زمان پایان را نیز به یادداشتها اضافه کنید،
153
00:04:56,479 –> 00:04:58,320
بنابراین اگر چیزی ساده مانند
154
00:04:58,320 –> 00:04:59,759
ترمین
155
00:04:59,759 –> 00:05:02,479
دارید که ممکن است بخواهید نوازنده
156
00:05:02,479 –> 00:05:04,240
قبل از شروع نت شروع به حرکت دادن دست خود کند تا نت
157
00:05:04,240 –> 00:05:07,280
158
00:05:07,280 –> 00:05:08,880
159
00:05:08,880 –> 00:05:10,960
160
00:05:10,960 –> 00:05:13,680
161
00:05:13,680 –> 00:05:14,479
162
00:05:14,479 –> 00:05:17,039
نرمتری شروع شود.
163
00:05:17,039 –> 00:05:18,560
انگشتشان از یک رشته
164
00:05:18,560 –> 00:05:19,360
انگشتشان را
165
00:05:19,360 –> 00:05:21,120
روی فرت بعدی می گذارند و سپس
166
00:05:21,120 –> 00:05:22,560
سیم را می چینند، می توانید
167
00:05:22,560 –> 00:05:24,800
این پیچیدگی ها را در
168
00:05:24,800 –> 00:05:26,639
ابزار بگنجانید. اوه چیزهایی مانند آن ام، بنابراین
169
00:05:26,639 –> 00:05:28,960
numpy یک کتابخانه ریاضی برای
170
00:05:28,960 –> 00:05:31,520
واردات پایتون است.
171
00:05:31,520 –> 00:05:33,280
بنابراین مانند ایندکس کردن
172
00:05:33,280 –> 00:05:34,560
و برش دادن است
173
00:05:34,560 –> 00:05:37,600
و در امتداد مجموع محور در امتداد محور
174
00:05:37,600 –> 00:05:38,880
همه چیزهایی را
175
00:05:38,880 –> 00:05:41,520
که برای دستکاری یک آرایه نیاز دارید انتخاب
176
00:05:41,520 –> 00:05:43,280
کنید، آن هم بردار شده است، یعنی به
177
00:05:43,280 –> 00:05:44,720
جای حلقه زدن در میان آرایه ها برای انجام
178
00:05:44,720 –> 00:05:46,240
آن عملیات،
179
00:05:46,240 –> 00:05:47,919
می توانید عملیات را روی آرایه انجام دهید. کل
180
00:05:47,919 –> 00:05:49,280
آرایه بنابراین شما می توانید
181
00:05:49,280 –> 00:05:52,479
array.sum را در امتداد محور 1 بگویید یا می توانید بگویید
182
00:05:52,479 –> 00:05:55,199
آرایه 1 برابر است با آرایه 2 به علاوه یا a3 بسیاری
183
00:05:55,199 –> 00:05:56,560
از چیزها در این نوع پارادایم برداری شده
184
00:05:56,560 –> 00:05:57,520
185
00:05:57,520 –> 00:05:59,280
و همچنین دارای یک c به علاوه باطن است.
186
00:05:59,280 –> 00:06:01,520
که آن را بسیار سریع می کند،
187
00:06:01,520 –> 00:06:03,199
بنابراین نکته جالب در مورد numpy این است
188
00:06:03,199 –> 00:06:04,639
که 10 خط کد c plus
189
00:06:04,639 –> 00:06:08,400
شما به یک خط numpy تبدیل می شود،
190
00:06:08,880 –> 00:06:11,039
بنابراین در اینجا ما یک محصول نقطه ای داریم که یک
191
00:06:11,039 –> 00:06:12,639
عملیات از هندسه است و کسینوس دو بردار را به شما می دهد.
192
00:06:12,639 –> 00:06:14,960
193
00:06:14,960 –> 00:06:16,319
می بینید که در اینجا دو
194
00:06:16,319 –> 00:06:18,639
آرایه را می گیریم که باید یک آرایه جدید را در
195
00:06:18,639 –> 00:06:20,639
حافظه اعلام کنیم، باید آن آرایه را پاک
196
00:06:20,639 –> 00:06:22,400
کنیم که باید از هر دو بعد حلقه بزنیم
197
00:06:22,400 –> 00:06:24,319
و سپس نتیجه را محاسبه کنیم
198
00:06:24,319 –> 00:06:26,479
که در numpy فقط می توانیم بگوییم آرایه 1
199
00:06:26,479 –> 00:06:27,440
برابر آرایه 2
200
00:06:27,440 –> 00:06:29,680
مجموع در امتداد محور اول و این
201
00:06:29,680 –> 00:06:31,120
واقعاً تمام چیزی است که ما نیاز داریم و
202
00:06:31,120 –> 00:06:31,840
نکته مهم در مورد این
203
00:06:31,840 –> 00:06:33,600
است که نه تنها زمان کمتری برای
204
00:06:33,600 –> 00:06:34,880
نوشتن کد و زمان کمتری برای
205
00:06:34,880 –> 00:06:36,479
تایپ صرف میکنید، بلکه به نوعی دوست دارید
206
00:06:36,479 –> 00:06:38,000
اشکالات کمتری بنویسید، بنابراین
207
00:06:38,000 –> 00:06:40,479
وقتی این کد c plus را مینویسید
208
00:06:40,479 –> 00:06:42,240
بسیار آسان است که تصادفاً یک اشکال را
209
00:06:42,240 –> 00:06:43,520
در جایی وارد کنید،
210
00:06:43,520 –> 00:06:44,880
زیرا کد آنقدر زیاد است که
211
00:06:44,880 –> 00:06:46,720
فوراً قابل خواندن نیست،
212
00:06:46,720 –> 00:06:48,560
میتوانید دوست داشته باشید این دو عنصر
213
00:06:48,560 –> 00:06:50,319
یا چیزی شبیه به آن را برگردانید و یک
214
00:06:50,319 –> 00:06:53,440
علامت بزرگتر از اینجا قرار دهید
215
00:06:53,440 –> 00:06:56,160
. کد این یک خط است. شما هنوز هم می توانید
216
00:06:56,160 –> 00:06:57,840
اشتباهات املایی ایجاد کنید، اما
217
00:06:57,840 –> 00:06:59,919
خواندن کد بسیار ساده تر است و بلافاصله ببینید
218
00:06:59,919 –> 00:07:01,840
بله درست است، من می خواهم آرایه یک بار
219
00:07:01,840 –> 00:07:03,199
آرایه دو مجموع را در امتداد محور اول انجام دهید،
220
00:07:03,199 –> 00:07:05,440
بنابراین بله نه تنها زمان توسعه،
221
00:07:05,440 –> 00:07:07,680
بلکه روند توسعه نیز وجود دارد
222
00:07:07,680 –> 00:07:10,160
و شما می دانید که اشکالات را حل می کنید. نوشتن
223
00:07:10,160 –> 00:07:12,800
کد همه چیز در عدد um بسیار ساده تر است،
224
00:07:12,800 –> 00:07:15,120
بنابراین در اینجا تعدادی تک خط در numpy وجود دارد
225
00:07:15,120 –> 00:07:17,039
که ما همه نوسانگرهای اصلی خود را داریم
226
00:07:17,039 –> 00:07:18,479
و می خواهم آنها را
227
00:07:18,479 –> 00:07:21,440
در یک دفترچه یادداشت مشتری به شما نشان دهم
228
00:07:21,520 –> 00:07:24,639
تا همه ما در numpy کار کنیم. پارادایم
229
00:07:24,639 –> 00:07:26,880
ما آرایه ای از گام زمانی خود را تولید می کنیم
230
00:07:26,880 –> 00:07:28,080
و به این ترتیب که
231
00:07:28,080 –> 00:07:30,800
فقط زمان بر حسب ثانیه در هر نقطه از
232
00:07:30,800 –> 00:07:32,400
233
00:07:32,400 –> 00:07:34,080
آرایه است، فرکانس ضرب در
234
00:07:34,080 –> 00:07:36,479
فرکانس 2 پی را
235
00:07:36,479 –> 00:07:38,000
می گیریم، علامت کل آرایه
236
00:07:38,000 –> 00:07:40,720
را می گیریم و یک اره موج سینوسی به ما می دهد.
237
00:07:40,720 –> 00:07:43,599
به همین ترتیب آسان است، ما فقط از یک
238
00:07:43,599 –> 00:07:45,360
239
00:07:45,360 –> 00:07:47,120
مربع مدول استفاده می کنیم، از عبارت Where استفاده می کنیم که
240
00:07:47,120 –> 00:07:48,960
مانند
241
00:07:48,960 –> 00:07:50,879
مثلث اگر همان اره است، اما با
242
00:07:50,879 –> 00:07:53,919
مقدار مطلق در آنجا
243
00:07:56,000 –> 00:07:57,840
، کمپرسور um
244
00:07:57,840 –> 00:08:00,080
کمپرسور نیز داریم که کمی طولانی تر است.
245
00:08:00,080 –> 00:08:01,440
دو که
246
00:08:01,440 –> 00:08:03,599
به معنای واقعی کلمه در یک خط قرار می گیرد،
247
00:08:03,599 –> 00:08:05,360
اما یک کمپرسور فقط یک عبارت تو در تو
248
00:08:05,360 –> 00:08:07,039
است، جایی که صدا
249
00:08:07,039 –> 00:08:08,319
بیشتر از آستانه محدود
250
00:08:08,319 –> 00:08:09,919
به پایین است، جایی که صدا کمتر از
251
00:08:09,919 –> 00:08:11,039
آستانه منفی است
252
00:08:11,039 –> 00:08:14,160
که به سمت بالا محدود می شود، در غیر این صورت
253
00:08:14,160 –> 00:08:16,160
اعوجاج صدا بسیار آسان است
254
00:08:16,160 –> 00:08:17,440
. انواع مختلف اعوجاج اما
255
00:08:17,440 –> 00:08:18,720
256
00:08:18,720 –> 00:08:20,479
اساساً عملیات ریاضی را روی کل
257
00:08:20,479 –> 00:08:21,759
آرایه انجام می دهد
258
00:08:21,759 –> 00:08:23,520
و این برای numpy عالی است.
259
00:08:23,520 –> 00:08:25,440
260
00:08:25,440 –> 00:08:27,919
261
00:08:27,919 –> 00:08:29,360
262
00:08:29,360 –> 00:08:32,799
احساس
263
00:08:32,799 –> 00:08:35,120
بسیار بدی دارد، بنابراین تعدادی از برنامههای افزودنی برای numpy کتابخانههای زیادی وجود دارد
264
00:08:35,120 –> 00:08:36,000
265
00:08:36,000 –> 00:08:37,919
که بر روی numpy ساخته شدهاند
266
00:08:37,919 –> 00:08:39,839
و از numpy هم در قسمت جلویی و
267
00:08:39,839 –> 00:08:41,679
هم در قسمت پشتی استفاده
268
00:08:41,679 –> 00:08:43,599
میکنند، یکی از مشخصاتی که به طور خاص برای
269
00:08:43,599 –> 00:08:45,600
طراحی صدا مفید است، scipy است،
270
00:08:45,600 –> 00:08:48,399
بنابراین scipy دارای طراحی و تحلیل فیلتر است.
271
00:08:48,399 –> 00:08:49,680
انواع مختلف فیلترها
272
00:08:49,680 –> 00:08:51,680
و همچنین مانند
273
00:08:51,680 –> 00:08:53,760
قطب های نمودارهای پاسخ فرکانسی و تجزیه و
274
00:08:53,760 –> 00:08:57,040
تحلیل صفرها، پردازشگر دارای پیچش
275
00:08:57,040 –> 00:08:58,880
هایی است که لازم است. برای reverb
276
00:08:58,880 –> 00:09:01,120
scipy دارای درون یابی ورودی است
277
00:09:01,120 –> 00:09:02,880
که می توانید برای
278
00:09:02,880 –> 00:09:05,120
طراحی پاکت از آن استفاده کنید، فقط با قرار دادن
279
00:09:05,120 –> 00:09:07,200
نقاط روی یک
280
00:09:07,200 –> 00:09:09,040
منحنی نقاط در یک فضا و سپس
281
00:09:09,040 –> 00:09:11,600
ایجاد numpy یا کشیدن sci-pi
282
00:09:11,600 –> 00:09:13,920
uh منحنی بین آن نقاط را ترسیم کنید.
283
00:09:13,920 –> 00:09:15,680
284
00:09:15,680 –> 00:09:17,200
برای تشخیص پاکت مفید است
285
00:09:17,200 –> 00:09:19,200
شما دوره زمانی موج را در نظر بگیرید.
286
00:09:19,200 –> 00:09:21,440
حداکثر استخر در آن دوره اجرا کنید یک
287
00:09:21,440 –> 00:09:22,640
استخر متوسط برای هموار کردن آن اجرا کنید شم
288
00:09:22,640 –> 00:09:25,839
ره پاکت کامل یکی از آن اب
289
00:09:25,839 –> 00:09:27,600
ارهایی است که پایتون را سریعتر می
290
00:09:27,600 –> 00:09:29,519
ند و به موقع است. کامپایلر، بنابراین
291
00:09:29,519 –> 00:09:31,920
اولین باری که یک تابع عدد
292
00:09:31,920 –> 00:09:34,240
را اجرا می کنید، آن را در کد ماشین کامپایل می کند
293
00:09:34,240 –> 00:09:36,080
و سپس هر بار
294
00:09:36,080 –> 00:09:38,160
که آن تابع را اجرا می کنید، بسیار سریعتر می شود،
295
00:09:38,160 –> 00:09:39,760
بنابراین تمام آن یک دکوراتور است، یک
296
00:09:39,760 –> 00:09:40,959
خط است که به بالا اضافه می کنید. از
297
00:09:40,959 –> 00:09:42,080
تابع
298
00:09:42,080 –> 00:09:43,040
و برای سرعت بخشیدن به
299
00:09:43,040 –> 00:09:46,080
کدهای غیربردار عالی است،
300
00:09:46,399 –> 00:09:48,959
بله، بنابراین در اینجا چند کد پایتون وجود دارد که
301
00:09:48,959 –> 00:09:50,080
302
00:09:50,080 –> 00:09:51,920
غیربردار و غیربردار است، فقط به این معنی است که یک
303
00:09:51,920 –> 00:09:54,160
حلقه for در آن وجود دارد، در واقع
304
00:09:54,160 –> 00:09:56,640
یک فیلتر یک مثال عالی از چیزی است
305
00:09:56,640 –> 00:09:58,240
که نمی تواند باشد. بردار به این دلیل که هر
306
00:09:58,240 –> 00:09:59,680
نمونه به نمونه قبلی وابسته است،
307
00:09:59,680 –> 00:10:01,120
308
00:10:01,120 –> 00:10:02,720
بنابراین در اینجا ما یک
309
00:10:02,720 –> 00:10:04,480
شی فیلتر داریم که فیلتر از طریق آن در این
310
00:10:04,480 –> 00:10:05,760
311
00:10:05,760 –> 00:10:08,079
حلقه تابع فیلتر از طریق آرایه اجرا می شود، ما 10
312
00:10:08,079 –> 00:10:10,160
ثانیه صدا را 10 بار روی آن اجرا می کنیم و 5.8 ثانیه طول می کشد
313
00:10:10,160 –> 00:10:12,880
تا اجرا کنید که بد نیست، اما
314
00:10:12,880 –> 00:10:14,320
اگر مانند بسیاری از فیلترها در حال اجرا هستید،
315
00:10:14,320 –> 00:10:15,760
مثلاً اگر
316
00:10:15,760 –> 00:10:17,600
20 فیلتر روی شیء خود دارید، این به
317
00:10:17,600 –> 00:10:19,279
ضمانت بلادرنگ شما آسیب می رساند
318
00:10:19,279 –> 00:10:21,440
و واقعاً کد شما را کاهش می دهد تمام کاری
319
00:10:21,440 –> 00:10:23,440
که ما باید انجام دهیم تا آن را به تبدیل کنیم. number
320
00:10:23,440 –> 00:10:25,200
is انتقال این تابع فیلتر به یک
321
00:10:25,200 –> 00:10:27,360
تابع استاتیک
322
00:10:27,360 –> 00:10:29,200
در همه متغیرهای عضو،
323
00:10:29,200 –> 00:10:31,600
هر متغیر عضوی را که تغییر کرده است برمی گرداند
324
00:10:31,600 –> 00:10:33,240
و سپس این دکوراتور شماره را در
325
00:10:33,240 –> 00:10:34,880
number.ingit اضافه
326
00:10:34,880 –> 00:10:36,240
می کند که آن را به کامپایلر شماره می فرستد،
327
00:10:36,240 –> 00:10:37,839
آن را در کد ماشین کامپایل کرده و اجرا می
328
00:10:37,839 –> 00:10:39,360
کند
329
00:10:39,360 –> 00:10:41,200
و سپس هر بار که بعد از
330
00:10:41,200 –> 00:10:43,200
آن خیلی سریعتر میشود، 10 ثانیه
331
00:10:43,200 –> 00:10:44,399
صدا را 10 بار اجرا میکنیم
332
00:10:44,399 –> 00:10:47,040
و این بار 0.28 ثانیه طول میکشد،
333
00:10:47,040 –> 00:10:48,720
بنابراین این یک سرعت 20 برابری است و تنها کاری
334
00:10:48,720 –> 00:10:50,399
که باید انجام میدادیم این بود که آن را به یک تابع استاتیک منتقل
335
00:10:50,399 –> 00:10:52,640
کنیم و یک دکوراتور اضافه کنیم.
336
00:10:52,640 –> 00:10:55,600
شگفت انگیز است بنابراین عدد برای
337
00:10:55,600 –> 00:10:56,480
فراخوانی های مکرر توابع عالی است
338
00:10:56,480 –> 00:10:58,320
زیرا آن را کامپایل می کند که اولین باری
339
00:10:58,320 –> 00:11:00,320
که آن را صدا می زنید برای هر مکانی
340
00:11:00,320 –> 00:11:01,920
با حلقه for عالی است زیرا پایتون خالص است
341
00:11:01,920 –> 00:11:03,200
342
00:11:03,200 –> 00:11:04,880
، توضیح آن این است که
343
00:11:04,880 –> 00:11:06,800
اساسا numpy دارای c به علاوه همراه
344
00:11:06,800 –> 00:11:07,680
باطن است
345
00:11:07,680 –> 00:11:09,920
بنابراین کامپایل آن در کد ماشین
346
00:11:09,920 –> 00:11:12,560
به اندازهای سرعت نخواهد داشت،
347
00:11:12,560 –> 00:11:14,800
بنابراین اگر از numpy استفاده میکنید اما
348
00:11:14,800 –> 00:11:16,079
به درستی
349
00:11:16,079 –> 00:11:18,160
از آن استفاده نمیکنید به معنای بردار از آن استفاده نمیکنید
350
00:11:18,160 –> 00:11:19,680
که برای حلقهها و
351
00:11:19,680 –> 00:11:22,000
مواردی از این قبیل دریافت کردید، اوه، عدد
352
00:11:22,000 –> 00:11:23,440
عالی است و سرعت آن افزایش مییابد. این عملکرد
353
00:11:23,440 –> 00:11:24,160
بسیار زیاد است،
354
00:11:24,160 –> 00:11:25,920
اگر از numpy استفاده می
355
00:11:25,920 –> 00:11:27,440
356
00:11:27,440 –> 00:11:29,360
کنید، آنقدر که شی گرا نیست سرعت آن را افزایش نمی دهد، در
357
00:11:29,360 –> 00:11:30,959
واقع با اشیاء پایتون خوب کار نمی کند
358
00:11:30,959 –> 00:11:32,399
زیرا باید انواع همه چیز را بشناسد،
359
00:11:32,399 –> 00:11:34,000
360
00:11:34,000 –> 00:11:36,160
بنابراین گاهی اوقات مجبور می شوید
361
00:11:36,160 –> 00:11:37,920
متغیرها را از یک شی خارج کنید
362
00:11:37,920 –> 00:11:40,480
تا از آن با شماره استفاده کنید و همچنین
363
00:11:40,480 –> 00:11:41,760
با همه چیز به طور کلی
364
00:11:41,760 –> 00:11:43,200
سازگار نیست، با بسیاری از توابع scipy
365
00:11:43,200 –> 00:11:44,079
366
00:11:44,079 –> 00:11:47,120
سازگار نیست و با
367
00:11:47,120 –> 00:11:49,279
ویژگی های خاصی از numpy سازگار نیست، مانند اینکه نمی توانید از کلمه کلیدی استفاده کنید.
368
00:11:49,279 –> 00:11:50,399
آرگومان های موجود در هر یک از
369
00:11:50,399 –> 00:11:52,880
توابع
370
00:11:53,519 –> 00:11:55,120
um بنابراین jupyter یک
371
00:11:55,120 –> 00:11:56,959
محیط توسعه برای پایتون است. نکته جالب
372
00:11:56,959 –> 00:11:58,959
در مورد jupiter این است که به جای
373
00:11:58,959 –> 00:12:02,000
اجرای کل برنامه، هر بار یک
374
00:12:02,000 –> 00:12:05,279
برنامه را به صورت جداگانه اجرا می کنید و یک
375
00:12:05,279 –> 00:12:07,360
سلول یک خط یا چند خط یا یک
376
00:12:07,360 –> 00:12:09,920
تابع است. یا چیزی شبیه به آن
377
00:12:09,920 –> 00:12:12,240
و چون این خطوط را به
378
00:12:12,240 –> 00:12:13,440
صورت جداگانه اجرا
379
00:12:13,440 –> 00:12:15,920
میکنید، میتوانید خروجی را نگه دارید تا
380
00:12:15,920 –> 00:12:18,079
خروجی را از این سلول دریافت کنید و سپس میتوانید
381
00:12:18,079 –> 00:12:19,760
آن را کپی کنید و به استفاده از آن ادامه
382
00:12:19,760 –> 00:12:21,680
دهید و آن را تغییر دهید و مواردی از این قبیل
383
00:12:21,680 –> 00:12:24,160
را ادامه دهید تا به تکرار در ژوپیتر طراحی خود ادامه دهید.
384
00:12:24,160 –> 00:12:25,519
همچنین همه چیزهایی را که برای
385
00:12:25,519 –> 00:12:27,120
طراحی صدا به آن نیاز دارید، دارای نمودارها است،
386
00:12:27,120 –> 00:12:28,480
خروجی صدا را دارد.
387
00:12:28,480 –> 00:12:30,800
388
00:12:30,800 –> 00:12:32,560
389
00:12:32,560 –> 00:12:34,560
390
00:12:34,560 –> 00:12:36,800
391
00:12:36,800 –> 00:12:38,480
برگردیم به خروجی گوش میدهیم
392
00:12:38,480 –> 00:12:40,320
ببینیم چه صدایی دارد، متوجه میشویم که
393
00:12:40,320 –> 00:12:41,440
کاملاً صدا نمیدهد،
394
00:12:41,440 –> 00:12:43,120
چیزی در محدودههای بالا اتفاق میافتد،
395
00:12:43,120 –> 00:12:44,800
بنابراین آن را زیر یک پاس پایین اجرا میکنیم تا ببینیم آیا
396
00:12:44,800 –> 00:12:46,160
میتوانیم cl آن را ip خارج
397
00:12:46,160 –> 00:12:47,519
کنیم و میتوانیم به تکرار روی آن ادامه دهیم،
398
00:12:47,519 –> 00:12:49,360
زیرا
399
00:12:49,360 –> 00:12:53,839
شیء صوتی که آرایه صوتی ذخیره میشود وجود دارد،
400
00:12:54,079 –> 00:12:56,320
میتوانیم آن را با گذر پایین ببینیم
401
00:12:56,320 –> 00:12:57,760
اگر کاملاً برطرف نشد، میتوانیم آن را
402
00:12:57,760 –> 00:12:58,639
نمودار کنیم
403
00:12:58,639 –> 00:13:00,079
به شکل موج نگاه کنیم ببینیم چه مشکلی دارد.
404
00:13:00,079 –> 00:13:01,839
با آن و سپس به این تابع بالا برگردید
405
00:13:01,839 –> 00:13:02,480
406
00:13:02,480 –> 00:13:05,360
و سعی کنید آن را برطرف کنید، بنابراین با استفاده از ژوپیتر برای
407
00:13:05,360 –> 00:13:07,200
طراحی صدا، ورودی و خروجی را
408
00:13:07,200 –> 00:13:11,440
با ipiwebrtc و ipython.display.audio داریم.
409
00:13:11,440 –> 00:13:13,519
یک نکته برای استفاده از فرمان صوتی
410
00:13:13,519 –> 00:13:15,519
، پخش خودکار را روی true تنظیم کنید.
411
00:13:15,519 –> 00:13:16,959
شما فقط
412
00:13:16,959 –> 00:13:19,040
با
413
00:13:19,040 –> 00:13:20,480
صرفه جویی در چند ثانیه که برای
414
00:13:20,480 –> 00:13:21,920
کلیک بر روی دکمه پخش طول می کشد کمی زمان توسعه تکراری سریع تری خواهید داشت،
415
00:13:21,920 –> 00:13:23,279
اما اگر
416
00:13:23,279 –> 00:13:25,040
نوعی عملکرد طولانی مدت
417
00:13:25,040 –> 00:13:27,120
دارید و می خواهید آن را اجرا کنید، کار
418
00:13:27,120 –> 00:13:28,240
دیگری انجام دهید
419
00:13:28,240 –> 00:13:30,480
و سپس به شما کمک می کند. وقتی تمام شد، نوعی اعلان را بشنوید
420
00:13:30,480 –> 00:13:31,600
421
00:13:31,600 –> 00:13:34,639
که پخش خودکار روی خروجی شما آن اعلان را به
422
00:13:34,639 –> 00:13:36,399
شما
423
00:13:36,399 –> 00:13:37,839
میدهد، دومین مورد این است که پارامترهای خود را
424
00:13:37,839 –> 00:13:39,440
در یک فرهنگ لغت ذخیره کنید
425
00:13:39,440 –> 00:13:41,120
تا اگر توابعی دارید که
426
00:13:41,120 –> 00:13:42,720
میسازید و آنها پارامترهایی برای
427
00:13:42,720 –> 00:13:44,000
آنها دارند،
428
00:13:44,000 –> 00:13:45,839
میخواهید قادر به تنظیم آن
429
00:13:45,839 –> 00:13:47,279
پارامترها بدون نیاز به بالا
430
00:13:47,279 –> 00:13:48,240
و پایین رفتن در
431
00:13:48,240 –> 00:13:50,399
نوت بوک jupyter خود هستید، اما همچنین به
432
00:13:50,399 –> 00:13:52,399
شما امکان می دهد تنظیمات مختلفی را
433
00:13:52,399 –> 00:13:54,480
برای عملکردها مانند
434
00:13:54,480 –> 00:13:57,199
از پیش تنظیم های مختلف بسازید،
435
00:13:57,199 –> 00:13:58,639
تقریباً اگر آهنگ های مختلفی دارید و می
436
00:13:58,639 –> 00:14:00,800
خواهید اجرا کنید آنها را تحت پیش تنظیم های مختلف
437
00:14:00,800 –> 00:14:02,560
و سومین چیز نوشتن یک
438
00:14:02,560 –> 00:14:04,959
فایل کاربردی است، بنابراین من یک jupitertools.pi دارم
439
00:14:04,959 –> 00:14:06,639
و در بالای هر نوت بوک،
440
00:14:06,639 –> 00:14:08,880
import jupytertools را به صورت jt
441
00:14:08,880 –> 00:14:12,000
می نویسم.
442
00:14:12,000 –> 00:14:13,680
443
00:14:13,680 –> 00:14:15,120
هیچ کدام تهی نیست
444
00:14:15,120 –> 00:14:16,959
آرایههایی با طولهای مختلف اضافه کنید و چیزهای با
445
00:14:16,959 –> 00:14:18,399
طولهای مختلف را مدیریت
446
00:14:18,399 –> 00:14:20,639
کنید، مانند پاکتهای من
447
00:14:20,639 –> 00:14:22,160
و نوسانگرها
448
00:14:22,160 –> 00:14:23,920
مانند علامت مثلث مربعی
449
00:14:23,920 –> 00:14:25,600
مانند آن، بنابراین من مجبور نیستم
450
00:14:25,600 –> 00:14:26,880
تابع را برای کسانی
451
00:14:26,880 –> 00:14:28,800
که جستجوهای midi دارند به خاطر بسپارم. می توانم
452
00:14:28,800 –> 00:14:31,519
midi note شماره 60 یا midi name
453
00:14:31,519 –> 00:14:35,199
c4 را به چیزهای فرکانسی مانند آن تبدیل کنم،
454
00:14:35,199 –> 00:14:36,800
فقط یک سری چیزها برای اینکه
455
00:14:36,800 –> 00:14:38,560
زندگی من را در حین برنامه نویسی آسان تر کند،
456
00:14:38,560 –> 00:14:40,959
بنابراین اکنون می خواهیم کمی به ریاضیات بپردازیم.
457
00:14:40,959 –> 00:14:42,399
که ما برای طراحی صدا به آن نیاز داریم
458
00:14:42,399 –> 00:14:44,240
و همچنین آن را با چند نسخه نمایشی
459
00:14:44,240 –> 00:14:46,959
در یک نوت بوک jupyter با استفاده از
460
00:14:46,959 –> 00:14:50,399
numpy به شما نشان خواهم داد، اولین مورد فرکانس در طول زمان است،
461
00:14:50,399 –> 00:14:51,760
بنابراین ما هر چیزی با فرکانس در حال تغییر داریم
462
00:14:51,760 –> 00:14:53,360
که می تواند یک خم شدن زمین باشد.
463
00:14:53,360 –> 00:14:54,880
می تواند مانند یک درام ضربه ای باشد
464
00:14:54,880 –> 00:14:56,720
که در آن نت از یک فرکانس شروع می شود
465
00:14:56,720 –> 00:14:59,120
و به سرعت به فرکانس دیگری تغییر
466
00:14:59,120 –> 00:15:00,399
می کند،
467
00:15:00,399 –> 00:15:03,279
در هر مرحله زمانی
468
00:15:03,279 –> 00:15:05,360
که می خواهید آنها را در یک موج ترکیب کنید
469
00:15:05,360 –> 00:15:07,199
بدون اینکه افکت های فازی را دریافت کنید، آرایه ای از فرکانس
470
00:15:07,199 –> 00:15:08,880
ها را دارید. مجموع تجمعی در
471
00:15:08,880 –> 00:15:10,560
numpy است که فقط یک تابع است
472
00:15:10,560 –> 00:15:14,079
مجموع مجموع آن را از
473
00:15:14,079 –> 00:15:16,320
طریق فرکانسها در 2 پی اجرا
474
00:15:16,320 –> 00:15:17,920
کنید در اینجا مثال ما برای آن یکی
475
00:15:17,920 –> 00:15:20,240
است که ما یک درام ضربهای
476
00:15:20,240 –> 00:15:21,760
انجام میدهیم، بنابراین میتوانید اینجا ببینید که ما جمع تجمعی خود را داریم.
477
00:15:21,760 –> 00:15:24,079
برای اینکه
478
00:15:24,079 –> 00:15:26,720
فاز موج را بر روی فاز um برای
479
00:15:26,720 –> 00:15:28,240
درام ضربهای که داریم از 1000 هرتز شروع میکنیم
480
00:15:28,240 –> 00:15:30,560
و برای نت باس به 87 هرتز کاهش
481
00:15:30,560 –> 00:15:31,759
482
00:15:31,759 –> 00:15:34,000
میدهیم.
483
00:15:34,000 –> 00:15:36,160
484
00:15:36,160 –> 00:15:39,199
این آرایه را از طریق جمع اجرا می کنیم
485
00:15:39,199 –> 00:15:41,080
و ما به آن گوش می دهیم
486
00:15:41,080 –> 00:15:43,680
[موسیقی]
487
00:15:43,680 –> 00:15:46,399
آنجا می رویم بعدی
488
00:15:46,399 –> 00:15:48,000
واپاشی نمایی است، بنابراین
489
00:15:48,000 –> 00:15:49,759
واپاشی نمایی تابعی است که در هر مرحله درصدی از انرژی خود را از دست می دهد،
490
00:15:49,759 –> 00:15:51,120
491
00:15:51,120 –> 00:15:52,480
اگر تا به حال نام این اصطلاح را شنیده باشید، به نوعی مانند نیمه عمر است.
492
00:15:52,480 –> 00:15:54,399
493
00:15:54,399 –> 00:15:56,720
برای پاکتهای ضربی خوب است،
494
00:15:56,720 –> 00:15:57,680
هر ابزاری است
495
00:15:57,680 –> 00:15:59,680
که غشایی داشته باشد، به غشاء ضربه
496
00:15:59,680 –> 00:16:01,120
میزنید و
497
00:16:01,120 –> 00:16:03,440
سپس میلرزد تا زمانی که انرژی
498
00:16:03,440 –> 00:16:08,720
499
00:16:08,720 –> 00:16:10,880
آن تمام شود، به این شکل و میتوانید بشنوید که
500
00:16:10,880 –> 00:16:12,639
با صدای بلند شروع به کار کرد، سریع افتاد و سپس
501
00:16:12,639 –> 00:16:14,240
آویزان شد. برای مدت طولانی
502
00:16:14,240 –> 00:16:15,759
تقریباً به صفر نزدیک می شود،
503
00:16:15,759 –> 00:16:17,680
بنابراین تنها کاری که باید برای آن انجام دهید این است که
504
00:16:17,680 –> 00:16:20,000
به نمایی از x منفی یا 0.5 به
505
00:16:20,000 –> 00:16:21,040
توان x
506
00:16:21,040 –> 00:16:23,279
با آن دو ستاره به جای یک
507
00:16:23,279 –> 00:16:24,720
هویج um،
508
00:16:24,720 –> 00:16:27,199
از آنجایی که ما از آن به عنوان یک پاکت استفاده می کنیم. اوم،
509
00:16:27,199 –> 00:16:27,839
ما در حال
510
00:16:27,839 –> 00:16:30,720
تولید نویز تصادفی، نویز سفید
511
00:16:30,720 –> 00:16:32,560
برای استفاده به عنوان صدای پایه هستیم،
512
00:16:32,560 –> 00:16:33,680
بنابراین فقط اعداد تصادفی از
513
00:16:33,680 –> 00:16:37,839
منفی یک تا یک در اینجا به این صورت است
514
00:16:38,240 –> 00:16:40,639
که ما پاکت خود را تولید می کنیم که 0.5
515
00:16:40,639 –> 00:16:41,440
به توان
516
00:16:41,440 –> 00:16:44,480
25 برابر t است، در
517
00:16:45,040 –> 00:16:49,040
آنجا به سلام کلاه می رویم.
518
00:16:49,040 –> 00:16:51,120
تدارکات را داشته باشد منحنی لجستیک منحنی همچنین
519
00:16:51,120 –> 00:16:52,959
به عنوان تابع سیگموئید نیز شناخته می شود که
520
00:16:52,959 –> 00:16:54,560
به عنوان ظرفیت حمل نیز شناخته می
521
00:16:54,560 –> 00:16:56,320
شود، تابعی است که به صورت تصاعدی رشد می کند،
522
00:16:56,320 –> 00:16:58,000
اما سپس به حداکثر مقدار می رسد و
523
00:16:58,000 –> 00:16:59,440
524
00:16:59,440 –> 00:17:00,880
525
00:17:00,880 –> 00:17:02,839
526
00:17:02,839 –> 00:17:05,119
به
527
00:17:05,119 –> 00:17:06,720
آن نزدیک می شود. از جایی که نت
528
00:17:06,720 –> 00:17:08,240
شروع
529
00:17:08,240 –> 00:17:09,599
می شود، برای خم شدن زمین عالی است، برای تغییر حجم عالی است،
530
00:17:09,599 –> 00:17:11,520
من روی ترمین عالی عمل می کنم
531
00:17:11,520 –> 00:17:12,959
532
00:17:12,959 –> 00:17:16,079
و تمام آنچه هست، جهت حرکت شما
533
00:17:16,079 –> 00:17:16,640
534
00:17:16,640 –> 00:17:19,760
تقسیم بر 1 به اضافه
535
00:17:19,760 –> 00:17:22,240
توان منفی سرعت است که شیب
536
00:17:22,240 –> 00:17:25,280
آن منحنی میانی به سمت راست است. در اینجا
537
00:17:25,280 –> 00:17:29,600
ضربدر x منهای نقطه مرکزی وجود دارد،
538
00:17:29,840 –> 00:17:31,280
بنابراین برای صدای پایه برای این یکی،
539
00:17:31,280 –> 00:17:33,440
تابع ریاضی جالب دیگری را انجام می دهیم
540
00:17:33,440 –> 00:17:35,840
که سینوس مماس x است
541
00:17:35,840 –> 00:17:37,520
که صدای خنکی مانند صدای بیگانه به شما می دهد،
542
00:17:37,520 –> 00:17:40,240
543
00:17:41,520 –> 00:17:42,880
ما آن را ضرب می کنیم. با
544
00:17:42,880 –> 00:17:47,520
پاکت لجستیکی خود برای محو کردن آن در
545
00:17:47,520 –> 00:17:49,760
آنجا می رویم ببینیم چقدر صاف است و
546
00:17:49,760 –> 00:17:51,039
سپس یک پاکت تدارکاتی دیگر
547
00:17:51,039 –> 00:17:52,640
برای محو کردن آن انجام می دهیم،
548
00:17:52,640 –> 00:17:55,039
اما این پاکت را کمی واضح تر می کنیم تا ببینیم
549
00:17:55,039 –> 00:17:58,559
چه چیزی 15 سرعتی است
550
00:17:59,440 –> 00:18:01,280
که ما میرویم و از آنجایی که همه
551
00:18:01,280 –> 00:18:02,720
صداهایمان را داریم، بیایید آنها را کنار هم بگذاریم و
552
00:18:02,720 –> 00:18:04,060
ببینیم صدای آنها شبیه
553
00:18:04,060 –> 00:18:12,960
[موسیقی] چیست،
554
00:18:12,960 –> 00:18:15,679
بنابراین کمی ریاضیات دیگر انجام میدهیم که
555
00:18:15,679 –> 00:18:17,440
برای
556
00:18:17,440 –> 00:18:18,880
اولین بار دمو سینوس انجام ندهیم. از
557
00:18:18,880 –> 00:18:20,799
مماس x این است که چگونه آن افکت صدای بیگانه را به دست آوردیم،
558
00:18:20,799 –> 00:18:21,520
559
00:18:21,520 –> 00:18:23,679
اعداد تصادفی از منفی یک به
560
00:18:23,679 –> 00:18:25,679
یک در یک توزیع استاندارد، چگونه به این
561
00:18:25,679 –> 00:18:27,960
نتیجه رسیدیم که نویز سفید
562
00:18:27,960 –> 00:18:31,280
np.random. اشباع نمونه
563
00:18:31,280 –> 00:18:32,160
چیز جالبی است
564
00:18:32,160 –> 00:18:36,160
که مانند حضور به صدا اضافه می کند.
565
00:18:36,160 –> 00:18:39,200
اگر به دلیل ریاضیات فقط روی یک علامت یا اره کار
566
00:18:39,200 –> 00:18:41,760
می کند، اما قدرت های موج را روی هم انباشته می کند
567
00:18:41,760 –> 00:18:43,200
،
568
00:18:43,200 –> 00:18:46,640
بنابراین سینوس x را به اضافه سینوس مربع x
569
00:18:46,640 –> 00:18:49,120
به اضافه سینوس مکعب x به اضافه سینوس
570
00:18:49,120 –> 00:18:50,000
571
00:18:50,000 –> 00:18:51,520
um چهارم می گیرید. کامپیوتر شما مایل
572
00:18:51,520 –> 00:18:53,280
است um و این یکی از
573
00:18:53,280 –> 00:18:54,480
مزیت های رندر
574
00:18:54,480 –> 00:18:57,440
اوه است و بله صدا را
575
00:18:57,440 –> 00:18:57,840
تقریباً
576
00:18:57,840 –> 00:19:00,960
577
00:19:00,960 –> 00:19:02,960
شبیه به طنین پر
578
00:19:02,960 –> 00:19:05,120
579
00:19:05,120 –> 00:19:08,480
می کند.
580
00:19:08,480 –> 00:19:10,080
فرکانس موج f موج در فرکانس دو برابر
581
00:19:10,080 –> 00:19:12,320
موج در qu سه گانه
582
00:19:12,320 –> 00:19:14,799
دوباره به اندازه رایانه شما بالا می رود
583
00:19:14,799 –> 00:19:16,320
و این بر اساس گره های مشابه
584
00:19:16,320 –> 00:19:18,000
در فیزیک است و برای سازهای زهی عالی است
585
00:19:18,000 –> 00:19:20,320
586
00:19:20,320 –> 00:19:22,640
فواصل نت ها نسخه ساده تر آن است
587
00:19:22,640 –> 00:19:23,440
که
588
00:19:23,440 –> 00:19:25,039
فواصل نت تقریباً یک هک برای بهتر
589
00:19:25,039 –> 00:19:26,720
590
00:19:26,720 –> 00:19:28,559
کردن صدای شما است. اساساً آکوردی است که شما می گیرید.
591
00:19:28,559 –> 00:19:30,480
نت و سپس همان نت را
592
00:19:30,480 –> 00:19:32,880
هفت پله یا پنج پله به بالا اضافه میکنید و
593
00:19:32,880 –> 00:19:34,400
هر صدایی را
594
00:19:34,400 –> 00:19:36,720
جالبتر میکند و صدایی پاپ ایجاد میکند،
595
00:19:36,720 –> 00:19:38,720
بنابراین اشکالات میتوانند در طراحی صدا خوب و جالب
596
00:19:38,720 –> 00:19:40,160
باشند و میتوانند چیزی منحصر به فرد و اصلی را به شما ارائه دهند.
597
00:19:40,160 –> 00:19:41,520
598
00:19:41,520 –> 00:19:42,880
که شما واقعاً قصد نداشتید
599
00:19:42,880 –> 00:19:44,640
600
00:19:44,640 –> 00:19:46,080
آنها را برای صداهای یکباره خوب کار کنند،
601
00:19:46,080 –> 00:19:47,200
مثلاً میخواهید چیزی را قبل
602
00:19:47,200 –> 00:19:48,160
از حذف قرار دهید،
603
00:19:48,160 –> 00:19:51,120
604
00:19:51,120 –> 00:19:53,280
باگی را امتحان کنید که ایجاد کردهاید، نمونههایی از باگهای معروف در
605
00:19:53,280 –> 00:19:54,640
تاریخ موسیقی و یکی از آنها را جستجو کردم.
606
00:19:54,640 –> 00:19:57,360
Moog به طور خاص فیلتر overdriven moogs بود،
607
00:19:57,360 –> 00:19:59,600
608
00:19:59,600 –> 00:20:02,640
بنابراین مهندسی که آن را طراحی می کرد، به
609
00:20:02,640 –> 00:20:04,880
طور تصادفی فیلتر را
610
00:20:04,880 –> 00:20:06,720
16 دسی بل اضافه کرد، درست قبل از اینکه آن
611
00:20:06,720 –> 00:20:08,240
را تولید کند
612
00:20:08,240 –> 00:20:09,760
و زمانی که متوجه شد.
613
00:20:09,760 –> 00:20:11,280
قبلاً به مرحله تولید رسیده بود
614
00:20:11,280 –> 00:20:12,720
و نوازندگان از قبل آن
615
00:20:12,720 –> 00:20:14,960
را به دست می آوردند، اما وقتی نوازندگان
616
00:20:14,960 –> 00:20:16,240
آن را دریافت کردند متوجه شدند
617
00:20:16,240 –> 00:20:18,720
که فیلتر بیش از حد باعث می شود که واقعاً
618
00:20:18,720 –> 00:20:20,000
آهنگ را قطع کند
619
00:20:20,000 –> 00:20:21,600
و بنابراین آنها می توانند صداهای خود را
620
00:20:21,600 –> 00:20:23,039
با دسته ای از صداهای مختلف لایه بندی کنند.
621
00:20:23,039 –> 00:20:24,400
سپس آن moog را اضافه کنید
622
00:20:24,400 –> 00:20:26,080
و دوباره آهنگ را قطع میکند
623
00:20:26,080 –> 00:20:28,000
و واقعاً در چیزی حضور مییابد
624
00:20:28,000 –> 00:20:31,120
که شنونده میتواند فوراً بشنود،
625
00:20:31,120 –> 00:20:32,960
در اینجا نمونهای از یک مشکل
626
00:20:32,960 –> 00:20:34,960
627
00:20:34,960 –> 00:20:37,840
Reverb است که من داشتم سعی میکردم با انجام دادن fft خودم، چند کانولوشن برای Reverb
628
00:20:37,840 –> 00:20:40,480
را به خانه برگردانم. ریاضی را در fft
629
00:20:40,480 –> 00:20:42,480
به هم ریخته بود، بنابراین همزمان در هر دو جهت پخش میشد
630
00:20:42,480 –> 00:20:44,799
و همچنین
631
00:20:44,799 –> 00:20:46,880
به دلیل برخی اشکالات بافر حلقه تکرار میشد،
632
00:20:46,880 –> 00:20:49,840
بنابراین اینجا
633
00:20:55,850 –> 00:20:57,850
[موسیقی]
634
00:20:57,850 –> 00:21:00,800
[تشویق]
635
00:21:00,800 –> 00:21:02,320
[موسیقی
636
00:21:02,320 –> 00:21:04,559
] است. حرکت به سمت
637
00:21:04,559 –> 00:21:06,240
برنامههای همزمان پایتون
638
00:21:06,240 –> 00:21:08,320
اوه، اینگونه بود که من آن صدای قبلی را
639
00:21:08,320 –> 00:21:09,520
ضبط کردم، آن فقط
640
00:21:09,520 –> 00:21:11,760
یک بلندگو به میکروفون بود، بنابراین وقتی در حال
641
00:21:11,760 –> 00:21:13,520
انتقال به برنامههای پایتون
642
00:21:13,520 –> 00:21:14,080
از c
643
00:21:14,080 –> 00:21:16,960
plus plus هستید، میدانید که vsts به h میروید.
644
00:21:16,960 –> 00:21:18,159
باید به چند چیز
645
00:21:18,159 –> 00:21:18,799
متفاوت فکر کنید،
646
00:21:18,799 –> 00:21:20,720
بنابراین اولین مورد این است که ضمانت
647
00:21:20,720 –> 00:21:22,799
بلادرنگ کمی سختتر میشود،
648
00:21:22,799 –> 00:21:24,559
شما فکر میکنید که
649
00:21:24,559 –> 00:21:26,640
کاهش سرعت بسیار بیشتر از آنچه هست خواهد بود، اما در
650
00:21:26,640 –> 00:21:26,960
واقع
651
00:21:26,960 –> 00:21:30,480
شاید 80 از آن سقف باشد
652
00:21:30,480 –> 00:21:32,480
که میتوانید انجام دهید. 80 محاسبات تا جایی
653
00:21:32,480 –> 00:21:33,919
که می توانید در c به علاوه
654
00:21:33,919 –> 00:21:36,320
یک کاری که می توانید برای برآ