در این مطلب، ویدئو استفاده از Psychopy و Python برای آزمایش های صدا (فیلم 2): استفاده از pyaudio برای پخش فایل های صوتی با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:19:05
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,030 –> 00:00:02,070
بسیار خوب، پس بیایید
2
00:00:02,070 –> 00:00:04,350
ویدیوی قبلی را دنبال کنیم که در آن از جسارت برای
3
00:00:04,350 –> 00:00:06,779
ایجاد یک محرک نویز یک ثانیه ای استفاده کردیم، اگر
4
00:00:06,779 –> 00:00:09,660
آن ویدیو را ندیده اید، توصیه
5
00:00:09,660 –> 00:00:10,950
می کنم اگر مطمئن نیستید
6
00:00:10,950 –> 00:00:12,870
که چگونه بسیار کوتاه یا کوتاه بسازید، به آن نگاه کنید.
7
00:00:12,870 –> 00:00:14,340
محرک های صوتی بسیار طولانی واقعاً کاملاً
8
00:00:14,340 –> 00:00:17,100
ساده است زیرا
9
00:00:17,100 –> 00:00:20,699
ما از audacity یا فایل wav استفاده
10
00:00:20,699 –> 00:00:23,580
می کنیم که با استفاده از audacity به عنوان محرک صوتی خود ذخیره کرده ایم
11
00:00:23,580 –> 00:00:25,890
تا یاد بگیریم چگونه
12
00:00:25,890 –> 00:00:28,949
صداها را از هارد دیسک یا
13
00:00:28,949 –> 00:00:30,539
USB خود خارج کنیم. یا هر جا که
14
00:00:30,539 –> 00:00:32,279
باشد آنها را در دستگاه خروجی صدای خود آورده اید،
15
00:00:32,279 –> 00:00:34,739
اگر فایل wav خود را
16
00:00:34,739 –> 00:00:36,360
دارید که ساخته اید یا ضبط کرده
17
00:00:36,360 –> 00:00:37,860
اید یا خوب دانلود کرده اید، به هر طریقی
18
00:00:37,860 –> 00:00:40,800
استفاده کنید که محدود به آن نیستید. مجبور به
19
00:00:40,800 –> 00:00:42,600
استفاده از آنچه در آخرین ویدیو ساخته ایم
20
00:00:42,600 –> 00:00:44,430
خوب است، اما کاری که من فکر می کنم
21
00:00:44,430 –> 00:00:48,780
احتمالاً باید انجام دهید این است که محرک نویز خود را نگه دارید
22
00:00:48,780 –> 00:00:51,420
تا فایل WAV خود را در همان پوشه
23
00:00:51,420 –> 00:00:52,920
فایل پایتون فعلی خود که ما در آن
24
00:00:52,920 –> 00:00:55,320
کار می کنیم، نگه دارید. برای
25
00:00:55,320 –> 00:00:57,360
پیمایش در میان فایل ها و تغییر
26
00:00:57,360 –> 00:00:59,430
دایرکتوری ها یا استفاده از cutie p به عنوان مثال یا TK 2
27
00:00:59,430 –> 00:01:04,409
برای دریافت هر گونه ساختار پیچیده um نه مهاجرت
28
00:01:04,409 –> 00:01:06,810
و ناوبری فایل، اما نمی
29
00:01:06,810 –> 00:01:08,430
خواهید این کار را انجام دهید، بنابراین آن را در همان
30
00:01:08,430 –> 00:01:11,310
پوشه رها کنید، بیایید در مورد آنچه می خواهیم
31
00:01:11,310 –> 00:01:13,890
انجام دهیم فکر کنیم ما یک فایل WAV داریم، می توانید ببینید که
32
00:01:13,890 –> 00:01:16,080
بله دارید. یک فایل WAV و در آن
33
00:01:16,080 –> 00:01:19,409
فایل wav ما نمونه هایی داریم، بنابراین کاری که باید
34
00:01:19,409 –> 00:01:21,270
انجام دهیم این است که باید
35
00:01:21,270 –> 00:01:23,310
نمونه های موجود در فایل wav را بخوانیم یا به نحوی به آنها دسترسی داشته باشیم
36
00:01:23,310 –> 00:01:26,040
و سپس آنها را به دستگاه خروجی صدا
37
00:01:26,040 –> 00:01:29,670
یا کارت صدای خود برای این کار پورت کنیم. مجموعه ای
38
00:01:29,670 –> 00:01:31,409
از ویدیوها که من از یک
39
00:01:31,409 –> 00:01:34,650
USB DAC فوکوسرایت اسکارلت استفاده می کنم زیرا از آن برای ضبط نیز استفاده می
40
00:01:34,650 –> 00:01:36,630
کنم، فکر می کنم می خواهم آن را وارد کنم تا
41
00:01:36,630 –> 00:01:38,759
ببینم یک میکروفون خازنی اسکارلت وجود دارد،
42
00:01:38,759 –> 00:01:41,250
ببخشید اگر به آن ضربه زدم و
43
00:01:41,250 –> 00:01:45,299
آن را تکان دادم، بنابراین شما می توانید اساساً
44
00:01:45,299 –> 00:01:46,829
باید بتوانیم آن را با استفاده از دستگاه
45
00:01:46,829 –> 00:01:49,890
کارت صدای پیشفرض فعلی خود درایو
46
00:01:49,890 –> 00:01:53,100
کنیم، بنابراین ما یک فایل WAV داریم که باید
47
00:01:53,100 –> 00:01:54,869
به نحوی با یک فایل WAV و
48
00:01:54,869 –> 00:01:57,210
دادههای موجود در فایل wav مقابله کنیم و باید
49
00:01:57,210 –> 00:01:59,820
مکانیزمی برای دریافت آن ایجاد کنیم.
50
00:01:59,820 –> 00:02:02,009
داده ها را از فایل wav و آن را به
51
00:02:02,009 –> 00:02:04,170
دستگاه خروجی صدای خود بکشید تا روشی که
52
00:02:04,170 –> 00:02:06,630
ما می توانیم با فایل شما مقابله کنیم این است که از یک
53
00:02:06,630 –> 00:02:10,229
ماژول استاندارد پایتون به نام wave استفاده کنیم،
54
00:02:10,229 –> 00:02:12,300
بنابراین این مجموعه ای از روال ها و
55
00:02:12,300 –> 00:02:13,540
توابع برای
56
00:02:13,540 –> 00:02:16,569
خواندن و نوشتن فایل های WAV است، بنابراین فقط
57
00:02:16,569 –> 00:02:17,799
مطمئن شوید که این مورد را در
58
00:02:17,799 –> 00:02:19,599
مسیر فعلی خود دارید و توزیع کنید یا
59
00:02:19,599 –> 00:02:21,269
توزیع شما در محیط کاری شما
60
00:02:21,269 –> 00:02:23,530
چیز دیگری که ما به آن نیاز داریم
61
00:02:23,530 –> 00:02:25,269
صدای لوله است، بنابراین از PI
62
00:02:25,269 –> 00:02:27,939
Audio برای برداشتن آن داده ها از فایل wav
63
00:02:27,939 –> 00:02:31,299
و تبدیل آن به فرمت
64
00:02:31,299 –> 00:02:33,640
مناسب یا پخش آن به کارت صدای شما
65
00:02:33,640 –> 00:02:37,390
استفاده می کنیم. بنابراین صدای من را موج بزنید مطمئن شوید که می
66
00:02:37,390 –> 00:02:40,389
توانید آنها را بدون هیچ مشکلی وارد کنید، بنابراین
67
00:02:40,389 –> 00:02:42,430
من یک لیست از یادآوری ها را اینجا نوشتم
68
00:02:42,430 –> 00:02:47,049
اندرو عزیز مرحله 1 مرحله 1 فایل wav
69
00:02:47,049 –> 00:02:53,650
را باز کنید خوب پس بیایید
70
00:02:53,650 –> 00:02:55,419
متغیری به نام بخار صدا را آتش
71
00:02:55,419 –> 00:02:57,459
بزنیم و می خواهیم برای باز کردن wave dot به همین سادگی است
72
00:02:57,459 –> 00:03:01,329
که این نقطه موج باز است و ما
73
00:03:01,329 –> 00:03:02,919
باید چه کنیم باید دو آرگومان را به آن منتقل کنیم.
74
00:03:02,919 –> 00:03:04,810
75
00:03:04,810 –> 00:03:07,599
76
00:03:07,599 –> 00:03:10,959
77
00:03:10,959 –> 00:03:13,900
همسر مطمئن شوید که پسوند را در آنجا قرار داده
78
00:03:13,900 –> 00:03:15,909
اید بله، و کاری که باید در اینجا انجام دهیم این
79
00:03:15,909 –> 00:03:17,949
است که باید بگوییم که آیا
80
00:03:17,949 –> 00:03:20,590
فایل موج را می خوانیم، آیا می خواهیم
81
00:03:20,590 –> 00:03:23,169
تا حدی بنویسیم تا RB در حال خواندن باشد، ما فقط می خواهیم
82
00:03:23,169 –> 00:03:23,620
آن را بخوانیم،
83
00:03:23,620 –> 00:03:26,260
قبل از نوشتن فایل موج از جسارت استفاده کردیم.
84
00:03:26,260 –> 00:03:27,849
پس فقط آن را ببندید
85
00:03:27,849 –> 00:03:29,739
کمی فضای بیشتری به ما بدهید، آیا هنوز هم می توانید بخوانید که
86
00:03:29,739 –> 00:03:31,959
بله، من فقط ممکن است اندازه فونت
87
00:03:31,959 –> 00:03:40,449
را کمی افزایش دهم، خوب است، بنابراین بیایید خیلی سریع فرض کنیم
88
00:03:40,449 –> 00:03:42,250
که شما فایل wave را درست نکرده اید
89
00:03:42,250 –> 00:03:44,440
و فرض کنید همکار
90
00:03:44,440 –> 00:03:45,819
همسایه شما میگوید هی من این
91
00:03:45,819 –> 00:03:48,400
محرک صوتی بسیار جالب را اینجا دارم، فکر
92
00:03:48,400 –> 00:03:49,840
میکنم باید از آن در آزمایش خود استفاده کنید، بنابراین
93
00:03:49,840 –> 00:03:52,599
او یک فایل به شما میدهد و کاری که
94
00:03:52,599 –> 00:03:55,780
میخواهید انجام دهید این است که خوب بروید، من میخواهم فقط
95
00:03:55,780 –> 00:03:58,720
ایدهای در ذهنم داشته باشم. این
96
00:03:58,720 –> 00:04:01,299
محرک صوتی به این دلیل است که ما بتوانیم
97
00:04:01,299 –> 00:04:04,060
تعداد نمونههای موجود در فایل موج،
98
00:04:04,060 –> 00:04:06,389
فرکانس نمونه یا نرخ نمونه
99
00:04:06,389 –> 00:04:09,010
فایل موج را بدست آوریم و سپس از روی آن میتوانیم
100
00:04:09,010 –> 00:04:11,349
مواردی مانند مدت زمان را محاسبه کنیم، بنابراین بیایید
101
00:04:11,349 –> 00:04:13,930
عادت کنیم که فقط
102
00:04:13,930 –> 00:04:16,750
صدا را بررسی کنیم. محرک موج محرک
103
00:04:16,750 –> 00:04:20,380
قبل و ایده گرفتن از آنچه که در آن وجود دارد
104
00:04:20,380 –> 00:04:22,450
قبل از ارسال آن به
105
00:04:22,450 –> 00:04:24,550
شی جریان، بنابراین چگونه این کار را به خوبی انجام
106
00:04:24,550 –> 00:04:26,360
دهیم، می توانیم به سادگی با استفاده از ساقه صدا تعداد نمونه ها را بدست آوریم،
107
00:04:26,360 –> 00:04:29,360
بنابراین
108
00:04:29,360 –> 00:04:31,220
از همان فایلی استفاده می کنیم
109
00:04:31,220 –> 00:04:33,500
که قبل از این ایجاد کردیم. فایل wav
110
00:04:33,500 –> 00:04:37,849
صدا ساقه نقطه دریافت و فریم در حال حاضر
111
00:04:37,849 –> 00:04:38,930
آموزش من یک نوروفیزیولوژیست شنوایی است
112
00:04:38,930 –> 00:04:40,909
به این معنی که من به
113
00:04:40,909 –> 00:04:44,150
صداها و محرک های صوتی از
114
00:04:44,150 –> 00:04:46,879
نظر نمونه آنها و نرخ نمونه
115
00:04:46,879 –> 00:04:50,719
فرکانس نمونه فکر می کنم با این حال موج و فکر می کنم
116
00:04:50,719 –> 00:04:54,530
صدای PI آنها را فریم می نامد بنابراین ممکن
117
00:04:54,530 –> 00:04:57,229
است کلمه را بگویم. نرخ نمونه را انتخاب کنید،
118
00:04:57,229 –> 00:05:01,099
اما کلمه فریم یا نرخ فریم را بنویسید، بنابراین
119
00:05:01,099 –> 00:05:02,930
اگر ابهامی وجود دارد متاسفم،
120
00:05:02,930 –> 00:05:06,680
اما مطمئن هستم که از آن عبور خواهید کرد،
121
00:05:06,680 –> 00:05:08,569
بنابراین تعدادی از نمونه ها، بنابراین تعداد
122
00:05:08,569 –> 00:05:10,400
فریم ها یا تعداد نمونه ها را در آن
123
00:05:10,400 –> 00:05:12,259
فایل WAV و سپس کاری که میتوانیم انجام دهیم این است که میتوانیم
124
00:05:12,259 –> 00:05:12,949
125
00:05:12,949 –> 00:05:16,280
آن تعداد نمونه را چاپ کنیم و متوجه میشوید
126
00:05:16,280 –> 00:05:18,159
که من این کار را در مسیر طولانی انجام میدهم،
127
00:05:18,159 –> 00:05:21,620
یعنی متغیری را اعلام میکنم
128
00:05:21,620 –> 00:05:22,849
که آن متغیر را پر میکند و سپس آن
129
00:05:22,849 –> 00:05:24,229
متغیر را چاپ میکنم. و این باید به ap تبدیل شود
130
00:05:24,229 –> 00:05:25,759
در چند خط بعدی
131
00:05:25,759 –> 00:05:28,340
کد را وارد کنید، در حالی که ما این کار را به این صورت انجام می دهیم، بنابراین
132
00:05:28,340 –> 00:05:29,750
تعدادی از نمونه ها چیز دیگری که
133
00:05:29,750 –> 00:05:32,810
می توانیم به دست آوریم نرخ نمونه است
134
00:05:32,810 –> 00:05:34,879
بنابراین این فایل بیو است که ما در
135
00:05:34,879 –> 00:05:36,349
حال حاضر روی آن کار می کنیم و این
136
00:05:36,349 –> 00:05:42,289
درست فریم خواهد شد، ما آن را چاپ می کنیم، بنابراین
137
00:05:42,289 –> 00:05:47,900
رشته نرخ نمونه و باید نرخ نمونه باشد
138
00:05:47,900 –> 00:05:51,409
و سپس دارای واحدهای نمونه
139
00:05:51,409 –> 00:05:54,560
در ثانیه یا فرکانس در هرتز است که
140
00:05:54,560 –> 00:05:56,839
معمولاً هزاران یا ده ها
141
00:05:56,839 –> 00:05:58,969
هزار نمونه در ثانیه یا حتی
142
00:05:58,969 –> 00:06:00,860
صدها نمونه اجرا می کنیم. هزاران نمونه در هر
143
00:06:00,860 –> 00:06:04,879
ثانیه سرعت نمونه گیری، بنابراین
144
00:06:04,879 –> 00:06:06,740
تعداد کل نمونه ها را داریم و
145
00:06:06,740 –> 00:06:09,259
نرخ نمونه را دریافت می کنیم، اکنون می توانیم مدت زمان را محاسبه کنیم،
146
00:06:09,259 –> 00:06:11,900
بنابراین مدت زمان،
147
00:06:11,900 –> 00:06:15,979
تعداد کل نمونه ها تقسیم بر
148
00:06:15,979 –> 00:06:21,919
نرخ نمونه گیری نرخ نمونه است. و کاری که
149
00:06:21,919 –> 00:06:23,560
میخواهیم انجام دهیم این است که
150
00:06:23,560 –> 00:06:26,349
آن را به چهار رقم اعشار گرد میکنیم،
151
00:06:26,349 –> 00:06:28,250
زیرا هر چیزی بیش از این
152
00:06:28,250 –> 00:06:30,949
بیمعنی است، بنابراین
153
00:06:30,949 –> 00:06:33,909
وضوح تصویر حدود صد میکرو ثانیه به ما میدهد، تقریباً
154
00:06:33,909 –> 00:06:37,630
میدانید که میتوانید آن دو را بسازید،
155
00:06:37,630 –> 00:06:43,479
پس بیایید آن را چاپ کنیم مدت زمان چاپ t
156
00:06:43,479 –> 00:06:44,949
بنابراین مدت زمان بر حسب
157
00:06:44,949 –> 00:06:48,070
ثانیه خواهد بود، زیرا شما نمونه ها /
158
00:06:48,070 –> 00:06:50,290
نمونه ها را در هر ثانیه افزایش داده اید، نمونه ها لغو
159
00:06:50,290 –> 00:06:55,150
می شوند، ثانیه ها را به عنوان واحد به ما می دهد که
160
00:06:55,150 –> 00:06:57,160
می توانید آن را هزار برابر کنید تا آن را
161
00:06:57,160 –> 00:06:58,630
به میلی ثانیه برسانیم، اگر خیلی
162
00:06:58,630 –> 00:07:00,310
کوتاه است. محرک ها اصلا مهم نیست،
163
00:07:00,310 –> 00:07:03,250
پس بیایید ببینیم چه چیزی را بیرون می آوریم، بنابراین
164
00:07:03,250 –> 00:07:04,600
من فقط ذخیره کرده ام، اجازه دهید دوباره آن را ذخیره کنم،
165
00:07:04,600 –> 00:07:05,520
166
00:07:05,520 –> 00:07:09,370
بسیار خوب، بنابراین دموی ما پایتون را اجرا کنید، بنابراین ما
167
00:07:09,370 –> 00:07:12,340
فایل wav را باز کرده و 48000
168
00:07:12,340 –> 00:07:14,590
نمونه در آن داریم. این فایل wav و
169
00:07:14,590 –> 00:07:17,050
با 48000 نمونه در ثانیه نمونه برداری شده است، بنابراین
170
00:07:17,050 –> 00:07:18,880
اگر آن دو را تقسیم
171
00:07:18,880 –> 00:07:20,380
کنیم، مدت زمان یک ثانیه به ما می رسد و
172
00:07:20,380 –> 00:07:22,300
این دقیقا همان چیزی است که با استفاده از audacity
173
00:07:22,300 –> 00:07:24,550
در ویدیوی قبلی ساخته ایم، بنابراین اگر شما از آن
174
00:07:24,550 –> 00:07:26,830
استفاده نمی کنید فایل را به عنوان آنچه قبلا ساخته ایم،
175
00:07:26,830 –> 00:07:28,330
واضح است که
176
00:07:28,330 –> 00:07:29,620
شما اعداد مختلفی دریافت خواهید کرد یا ممکن است
177
00:07:29,620 –> 00:07:31,690
در ویدیوی بعدی اعداد متفاوتی دریافت کنید،
178
00:07:31,690 –> 00:07:33,610
ما به
179
00:07:33,610 –> 00:07:36,070
سرعت همان مواردی را که در این ویدیو استفاده می
180
00:07:36,070 –> 00:07:38,650
کنیم بررسی خواهیم کرد. یک فایل اسرارآمیز فقط
181
00:07:38,650 –> 00:07:40,810
برای اینکه ببینیم ما چه هستیم یا نه انجام دادن کار
182
00:07:40,810 –> 00:07:44,710
در اینجا باید کار کند، بنابراین بیایید مرحله اول را
183
00:07:44,710 –> 00:07:47,889
انجام دهیم مرحله دوم، باید صدای بالا را از خواب بیدار کنیم،
184
00:07:47,889 –> 00:07:51,990
PI را از اینجا فعال کنیم و اجرا
185
00:07:52,650 –> 00:07:58,500
کنیم، بنابراین بله خوب است، بنابراین P برابر با PI صدای
186
00:07:58,500 –> 00:08:01,960
py است.
187
00:08:01,960 –> 00:08:04,599
تمام
188
00:08:04,599 –> 00:08:06,610
اسناد آنلاین و نمونههایی که
189
00:08:06,610 –> 00:08:09,729
از مستندات آنلاینشان استفاده میکنند،
190
00:08:09,729 –> 00:08:11,050
از حرف P استفاده میکنند، بنابراین ما میخواهیم
191
00:08:11,050 –> 00:08:13,979
آن را یکسان نگه داریم تا استاندارد نگه داشته شود،
192
00:08:13,979 –> 00:08:17,530
بنابراین اکنون آن را اجرا کردهایم، بنابراین
193
00:08:17,530 –> 00:08:19,330
به فایل WAV دسترسی داریم. ما
194
00:08:19,330 –> 00:08:21,070
فایل wav را در داخل خواندهایم و
195
00:08:21,070 –> 00:08:22,599
کمی با آن بازی کردهایم، اکنون باید
196
00:08:22,599 –> 00:08:25,720
شی استریم را ایجاد کنیم،
197
00:08:25,720 –> 00:08:30,360
بنابراین بیایید آن را جریان بنامیم، پس بیایید آن را ایجاد
198
00:08:30,360 –> 00:08:32,799
جریان بنامیم تا دوباره آن را جریان آنلاین
199
00:08:32,799 –> 00:08:37,299
بنامیم. آنها از peanut استفاده میکنند. open آنها از کلمه استریم استفاده می کنند،
200
00:08:37,299 –> 00:08:38,349
بنابراین ما می خواهیم آن را به
201
00:08:38,349 –> 00:08:40,510
همان صورت حفظ کنیم تا زیبا و ساده شود، بنابراین
202
00:08:40,510 –> 00:08:42,900
برای انجام این کار باید
203
00:08:42,900 –> 00:08:44,620
اطلاعاتی را به آن بدهیم که باید
204
00:08:44,620 –> 00:08:46,839
قالب تعداد کانال ها را با نرخ نمونه
205
00:08:46,839 –> 00:08:49,089
یا میزان نمونه به آن بدهیم. نرخ فریم و اگر
206
00:08:49,089 –> 00:08:49,839
207
00:08:49,839 –> 00:08:53,470
خروجی این استریم است فرمت b به طور معمول،
208
00:08:53,470 –> 00:08:55,329
من فکر می کنم این