آموزش ویرایش صدا با پایتون و NumPy: افزایش ۱۰۰۰ برابری سرعت کد - آخرین آپدیت

دانلود Edit sound with Python NumPy: Improve code performance 1000x

نکته: ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره: با مدیریت بهینه آرایه‌ها و بردارهای بزرگ در یک برنامه ویرایش صدا، عملکرد کد خود را در پایتون و NumPy تا ۱۰۰۰ برابر افزایش دهید. بهینه‌سازی کد در پایتون با استفاده از کتابخانه NumPy پردازش صدا در پایتون با استفاده از کتابخانه MoviePy مبانی تصاویر دیجیتال به‌کارگیری بهینه‌سازی کد برای باینری کردن تصاویر دیجیتال پیش‌نیازها: سطح مقدماتی پایتون (حلقه‌ها و دستورات شرطی)

برنامه‌نویسی یکی از منعطف‌ترین زمینه‌هایی است که می‌شناسم. شما می‌توانید برای انجام یک وظیفه خاص، برنامه‌ای را به روش‌های بسیار متفاوتی بنویسید. با این حال، این بدان معنا نیست که همه روش‌ها برابرند؛ برخی روش‌ها بسیار بهتر از بقیه هستند.

این موضوع به‌ویژه زمانی مشهود است که برنامه شما باید با داده‌های حجیم (Big Data) کار کند. کار با داده‌های بزرگ به معنای کار با آرایه‌ها و ماتریس‌های غول‌پیکر است.

شما می‌توانید برنامه‌ای بنویسید که همان نتیجه برنامه دیگر را بدهد، اما ۱۰۰۰ برابر سریع‌تر اجرا شود. همه چیز به نحوه کدنویسی و متدهای مورد استفاده شما بستگی دارد.

و این دقیقاً همان چیزی است که در اینجا خواهید آموخت. شما روش‌های درست و غلط کدنویسی را یاد می‌گیرید تا هنگام مواجهه با داده‌های حجیم، مسیر صحیح را انتخاب کنید.

در این دوره که ۱۰۰٪ پروژه محور است، از پایتون و کتابخانه‌های Numpy و Moviepy برای ساخت یک برنامه کامل پردازش صدا استفاده خواهیم کرد.

این برنامه ویدیوهای شما را به ترتیب وارد کرده، صدای آن‌ها را استخراج می‌کند، به‌طور خودکار بازه‌های سکوت را شناسایی کرده و آن‌ها را حذف می‌کند، در حالی که مقدار کمی سکوت را در لبه‌ها نگه می‌دارد تا مکث بین جملات حفظ شود.

پردازش صدا طبیعتاً با میلیون‌ها المان آرایه سروکار دارد و بنابراین نحوه نوشتن برنامه بسیار اهمیت می‌یابد. ما این کار را ابتدا به روش غلط و سپس به روش درست انجام می‌دهیم تا هر دو روی سکه را ببینید.

در نهایت خواهید دید که آخرین نسخه کد NumPy شما بیش از ۱۰۰۰ برابر سریع‌تر از نسخه اول است و یاد می‌گیرید که چه چیزی را در کدنویسی انجام دهید و چه کارهایی را قطعاً نباید انجام دهید.

در نهایت، می‌خواهم ببینید که این دانش جهانی است و در زمینه‌های دیگر نیز کاربرد دارد و تنها محدود به پردازش صدا نیست. به همین دلیل، در بخش آخر، تمرینی در زمینه بینایی ماشین (Computer Vision) خواهیم داشت.

تصاویر دیجیتال در واقع ماتریس‌های غول‌پیکری هستند و نحوه مدیریت آن‌ها در کد بسیار حیاتی است. ما برنامه کوچکی می‌سازیم که بتواند این تصاویر را باینری کند و این کار را نیز به هر دو روش بهینه و غیربهینه انجام خواهیم داد.

ما از کتابخانه پردازش تصویر پایتون به نام Pillow برای پردازش این داده‌های حجیم در ماتریس‌های تصویر استفاده می‌کنیم.

پس از این دوره، می‌دانید که چگونه از همان ابتدا با رویکردی درست به برنامه‌نویسی بپردازید. نگاهی به ویدیوهای پیش‌نمایش رایگان بیندازید و اگر از محتوا خوشتان آمد، همین حالا ثبت‌نام کنید و شروع کنیم! در کلاس می‌بینمتان.


سرفصل ها و درس ها

معرفی ساختار دوره و نصب محیط پایتون Intro to course structure and Python environment installation

  • خوش‌آمدگویی و ساختار دوره Welcome & Course Structure

  • نسخه جدید MoviePy New MoviePy version

  • معرفی ترمینال (لینوکس و مک) و Command Prompt (ویندوز) Intro to (Linux & macOS Terminal) & (Windows Command Prompt)

  • دستورالعمل‌های نصب پایتون Python installation instructions

  • نصب پایتون در ویندوز ۱۱ Python installation - Windows 11

  • نصب پایتون در اوبونتو Python installation - Ubuntu

  • نصب پایتون در مک Python installation - macOS

نسخه ۱: ساخت برنامه حذف سکوت (نسخه بسیار ضعیف) Version 1: Building the silence removal program (very bad version)

  • وارد کردن کتابخانه‌های مورد نیاز پایتون Importing the necessary Python libraries

  • وارد کردن ویدیوها و استخراج صدا با MoviePy Importing videos & extracting audio with MoviePy

  • رسم نمودار صدا با استفاده از Matplotlib Plotting audio using Matplotlib

  • جابجایی صدا بین گوش چپ و راست و برعکس Moving sound from left to right ear and vice versa

  • ساخت آرایه برای ذخیره نمونه‌های صوتی غیرساکت Creating the array for storing nonsilent audio samples

  • استفاده از توابع MoviePy برای برش و ادغام ویدیوها Using MoviePy functions to cut & merge videos

  • قوانین تعیین بازه سکوت Rules for determining a silent interval

  • تبدیل نمونه‌های صوتی به ثانیه Converting audio samples to seconds

  • تعیین نمونه‌های صوتی در هر ثانیه و اجرای اولین برش ویدیو Determining audio samples per second & performing the 1st video cut

  • حذف سکوت‌ها از ویدیو Cutting out silence in the video

  • اجرای آخرین برش ویدیو و بررسی استثناهای احتمالی برنامه Performing the last video cut & exploring possible exceptions to the program

  • مدیریت استثناها در پردازش ویدیو ۱ Dealing with exceptions in video processing 1

  • مدیریت استثناها در پردازش ویدیو ۲ Dealing with exceptions in video processing 2

  • خلاصه کد پردازش صدای پایتون Python sound processing code - Summary

  • رسم نمودار و خروجی گرفتن از ویدیوی جدید + اندازه‌گیری زمان اجرا Plotting the new & exporting the new video + measuring performance time

  • مقایسه زمان اجرای فایل‌های تست کوتاه و بلند Comparing the short & long test file performance times

  • نتایج برنامه پردازش صدا The results of the sound processing program

  • فایل‌های تست و کد پایتون این بخش Test files & Python code for this section

نسخه ۲: بازسازی ساختار کد و بهبود آن (نسخه ضعیف) Version 2: Code restructuring & improving (bad version)

  • بازسازی ساختار برنامه Restructuring the program

  • گسترش قابلیت‌های برنامه ۱ Expanding the capabilities of the program 1

  • گسترش قابلیت‌های برنامه ۲ Expanding the capabilities of the program 2

  • گسترش قابلیت‌های برنامه ۳ Expanding the capabilities of the program 3

  • گسترش قابلیت‌های برنامه ۴ Expanding the capabilities of the program 4

  • گسترش قابلیت‌های برنامه ۵ Expanding the capabilities of the program 5

  • گسترش قابلیت‌های برنامه ۶ Expanding the capabilities of the program 6

  • بهینه‌سازی کد ۱: شناسایی یک متد کدنویسی بسیار بد Code Optimization 1: Identifying a very bad coding practice

  • بهینه‌سازی کد ۲: بررسی رویکرد جایگزین Code Optimization 2: Exploring the alternative approach

  • بهینه‌سازی کد ۳: پیاده‌سازی رویکرد جایگزین در کد Code Optimization 3: Implementing the alternative approach in the code

  • تمرین: مقایسه دو نسخه Assignment - Comparing the two versions

  • بهینه‌سازی کد ۴: مقایسه عملکرد دو روش کدنویسی Code Optimization 4: Comparing the performance of the two coding practices

  • فایل‌های تست و کد پایتون این بخش Test files & Python code for this section

نسخه ۳: بهینه‌سازی کد: جهشی بزرگ با توابع Numpy (نسخه خوب) Version 3: Code optimization: giant leap using Numpy functions (good version)

  • معرفی برداری‌سازی (Vectorization) Intro to vectorization

  • بررسی تابع where در Numpy Exploring the Numpy "where" function

  • منطق AND در مقابل OR بولی The boolean AND vs OR logic

  • توضیحات تکمیلی درباره منطق بولی در پایتون ۳ Clarification on the boolean logic in Python 3

  • مقایسه نتیجه نهایی هر ۳ نسخه در کد پایتون Comparing the end result of all the 3 versions in the Python code

  • مقایسه زمان اجرای هر ۳ نسخه Comparing the performance time of all the 3 versions

  • مقایسه زمان اجرای تمامی نسخه‌ها در کد پایتون Comparing the performance time of all the versions in the Python code

  • فایل‌های تست و کد پایتون این بخش Test files & Python code for this section

نسخه ۴: بهره‌برداری ۱۰۰ درصدی از توابع NumPy (نسخه عالی) Version 4: Taking advantage of NumPy functions 100% (excellent version)

  • مرور بخش قبلی Revision of the previous section

  • محاسبه اختلاف آرایه Numpy: روش متوالی در مقابل روش برداری Numpy array difference calculation: Sequential VS Vectorization method

  • بررسی شرط بازه سکوت با استفاده از تابع where در Numpy Silence interval condition checking using the Numpy where function

  • اجرای عملیات برش و ادغام با جدیدترین روش ۱ Applying cutting & merging operations using the newest method 1

  • اجرای عملیات برش و ادغام با جدیدترین روش ۲ Applying cutting & merging operations using the newest method 2

  • اجرای عملیات برش و ادغام با جدیدترین روش ۳ Applying cutting & merging operations using the newest method 3

  • مرور کلی نسخه ۴ General recap of Version 4

  • افزودن ویژگی‌های اضافی به نسخه ۴ Adding extra features to Version 4

  • بهبود نهایی در اتصال کلیپ‌های ویدیو Final improvement in concatenating video clips

  • فایل‌های تست و کد پایتون این بخش Test files & Python code for this section

بخش تمرین: ساخت تصویر باینری با NumPy (بینایی ماشین) Assignment section - Binary image creation with NumPy (Computer Vision)

  • معرفی تصاویر دیجیتال در بینایی ماشین (سیاه و سفید و رنگی) Intro to digital images in computer vision (grayscale & color)

  • معرفی تصاویر باینری در بینایی ماشین Intro to binary images in computer vision

  • ساخت برنامه پردازش تصویر برای ایجاد تصاویر باینری Building the image processing program for creating binarized images

  • دستورالعمل‌های تمرین بینایی ماشین Instructions for the assignment in computer vision

  • ایجاد تصاویر باینری با کدنویسی سنتی و برداری‌سازی Creating binary images using traditional coding & vectorization

  • فایل‌های تست و کد پایتون این بخش Test files & Python code for this section

سخن پایانی Last Words

  • سپاسگزاری Thank You!

  • درس جایزه (Bonus) Bonus Lecture

نمایش نظرات

آموزش ویرایش صدا با پایتون و NumPy: افزایش ۱۰۰۰ برابری سرعت کد
جزییات دوره
7 hours
60
(آخرین آپدیت)
825
4.8 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Mark Misin Engineering Ltd Mark Misin Engineering Ltd

ریاضیات، سیستم های کنترل، پایتون، مکانیک: استاتیک و دینامیک