صدا/پردازش سیگنال audio/dsp
تبدیل فوریه، پنجرهها، صافیها و بازنمونهگیری برای صدا.
واردسازی audio.dsp
این حساب و کتابی است که زیر صدا نشسته: تبدیل فوریه برای دیدن اینکه چه بسامدهایی در یک بلوک هست، پنجرهها برای باریک کردن بلوک پیش از آن، صافیها برای شکل دادنش و بازنمونهگیری برای بردنش میان نرخها. کدکهای این خانواده به همین کد تکیه میکنند، و برای همین اینجاست نه درون یکی از آنها.
همه چیز روی یک قطعه یا روی آرایههای ساده اعشار۶۴ کار میکند. تبدیل پایه دو است، پس طول باید توانی از دو باشد: با توان دو بعدی تا یکی از آنها پرش کنید.
دانستنیها
تبدیل فوریهوتبدیل فوریه واروندر جا روی دو آرایه کار میکنند، بخشهای حقیقی و بخشهای موهومی.تبدیل فوریه واروناز پیش بر طول بخش میکند، پس درست تبدیل فوریه را پس میگرداند.- سیگنال حقیقی در خانه ک و خانه ن منهای ک نیرومندی یکسان نشان میدهد، پس تنها نیمه نخست طیف چیز تازهای به شما میگوید.
- بلوک را پیش از تبدیل با
اعمال پنجرهباریک کنید، وگرنه نوایی که در شمار درستی از چرخهها جا نمیشود روی هر خانه پخش میشود. - صافیها همان فرمولهای شناخته آشپزخانه را پی میگیرند. یک
دوقطبیدو نمونه به یاد دارد، پس پیش از قطعهای دیگربازنشانی دوقطبیکنید، وپردازش همه کانالهارا ترجیح دهید که به هر کانال کپی خودش را میدهد. پاسخ دوقطبیمیگوید صافی در یک بسامد چه میکند بی آنکه صدایی از آن بگذرانید، که سنجیدن صافیها را آسان میکند.بازنمونه سینکهمان است که برای موسیقی به کار میبرید؛به نرخدر صدا نسخه خطی و تند آن است.
گونهها
طیف Spectrum
ساختار طیف| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| خانهها | bins | صحیح = 0 | هر ردیف چند خانه بسامد دارد، که نیم پنجره است. |
| فریم ها | frames | صحیح = 0 | چند ردیف هست. |
| نرخ | rate | صحیح = 0 | نرخ نمونهای که قطعه داشت، برای برگرداندن خانه به بسامد لازم است. |
| گام | hop | صحیح = 0 | ردیفها چند نمونه از هم دورند. |
| داده | data | تهی* | اندازهها، ردیف پس از ردیف. با آزادسازی طیف رهایشان کنید. |
واردسازی صدا
واردسازی صدا.پردازش سیگنال
واردسازی صدا.صداساز
واردسازی ریاضی
تابع ریشه:
بم := صداساز.نوا(110.0، 0.1، 22050، صداساز.موج سینوسی)
زیر := صداساز.نوا(1760.0، 0.1، 22050، صداساز.موج سینوسی)
سرچاپ پردازش سیگنال.نرخ صفرگذر(زیر) بزرگتر پردازش سیگنال.نرخ صفرگذر(بم) * 4.0
سرچاپ پردازش سیگنال.نرخ صفرگذر(صدا.قطعه {})
هر بسامد در [220.0، 440.0]:
نوایی := صداساز.نوا(بسامد، 0.1، 22050، صداساز.موج سینوسی)
یافته := پردازش سیگنال.شناسایی زیروبمی(نوایی، 0، 2048)
سرچاپ ریاضی.قدرمطلق(یافته - بسامد) / بسامد کوچکتر 0.05
ناپایا دور := نوایی
صدا.آزادسازی(دور)
پایان
سرچاپ پردازش سیگنال.شناسایی زیروبمی(صدا.قطعه {}، 0، 2048)
پرمایه := صداساز.افزایشی(220.0، 8، 0.7، 0.12، 22050)
ناپایا طیفی := پردازش سیگنال.تبدیل فوریه کوتاه(پرمایه، 1024، 256، پردازش سیگنال.پنجره هان)
سرچاپ طیفی.خانهها، طیفی.نرخ، طیفی.گام، طیفی.فریم ها بزرگتر 1
سرچاپ پردازش سیگنال.طیف در(طیفی، 0، 9999)
مرکزی := پردازش سیگنال.مرکز طیفی(طیفی، 1)
سرچاپ مرکزی بزرگتر 100.0، مرکزی کوچکتر 5000.0
سرچاپ پردازش سیگنال.افت طیفی(طیفی، 1، 0.85) بزرگتر 0.0
تختی := پردازش سیگنال.تختی طیفی(طیفی، 1)
سرچاپ تختی بزرگتربرابر 0.0، تختی کوچکتربرابر 1.0
سرچاپ پردازش سیگنال.شار طیفی(طیفی، 0)
نوفه := صداساز.نوفه سپید(0.12، 22050)
ناپایا طیف۲ := پردازش سیگنال.تبدیل فوریه کوتاه(نوفه، 1024، 256، پردازش سیگنال.پنجره هان)
سرچاپ پردازش سیگنال.تختی طیفی(طیف۲، 1) بزرگتر تختی
بلندی := صداساز.نوا(440.0، 0.1، 22050، صداساز.موج سینوسی)
لافزی := پردازش سیگنال.بلندی لافز(بلندی)
سرچاپ لافزی کوچکتر 0.0، لافزی بزرگتر -40.0
ناپایا آرام := صدا.کپی(بلندی)
صدا.بهره(آرام، -20.0)
سرچاپ ریاضی.قدرمطلق((پردازش سیگنال.بلندی لافز(آرام) - لافزی) + 20.0) کوچکتر 1.0
ناپایا هنجار := صدا.کپی(بلندی)
پردازش سیگنال.هنجارسازی لافز(هنجار، -16.0)
سرچاپ ریاضی.قدرمطلق(پردازش سیگنال.بلندی لافز(هنجار) + 16.0) کوچکتر 1.0
سرچاپ پردازش سیگنال.اوج راستین دسیبل(بلندی) بزرگتربرابر صدا.اوج دسیبل(بلندی) - 0.01
پردازش سیگنال.آزادسازی طیف(طیفی)
پردازش سیگنال.آزادسازی طیف(طیف۲)
صدا.آزادسازی(بم)
صدا.آزادسازی(زیر)
صدا.آزادسازی(پرمایه)
صدا.آزادسازی(نوفه)
صدا.آزادسازی(بلندی)
صدا.آزادسازی(آرام)
صدا.آزادسازی(هنجار)
پایانمختلط Complex
ساختار مختلط| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| حقیقی | re | اعشار۶۴ = 0 | بخش حقیقی. |
| موهومی | im | اعشار۶۴ = 0 | بخش موهومی. |
واردسازی صدا.پردازش سیگنال
واردسازی ریاضی
تابع ریشه:
الف := پردازش سیگنال.مختلط { حقیقی = 3.0، موهومی = 4.0 }
بی := پردازش سیگنال.مختلط { حقیقی = 1.0، موهومی = -2.0 }
سرچاپ الف.حقیقی، الف.موهومی
سرچاپ پردازش سیگنال.اندازه مختلط(الف)
سرچاپ پردازش سیگنال.جمع مختلط(الف، بی).حقیقی، پردازش سیگنال.جمع مختلط(الف، بی).موهومی
سرچاپ پردازش سیگنال.تفریق مختلط(الف، بی).حقیقی، پردازش سیگنال.تفریق مختلط(الف، بی).موهومی
سرچاپ پردازش سیگنال.ضرب مختلط(الف، بی).حقیقی، پردازش سیگنال.ضرب مختلط(الف، بی).موهومی
سرچاپ پردازش سیگنال.مقیاس مختلط(الف، 2.0).حقیقی، پردازش سیگنال.مقیاس مختلط(الف، 2.0).موهومی
سرچاپ پردازش سیگنال.همیوغ مختلط(الف).حقیقی، پردازش سیگنال.همیوغ مختلط(الف).موهومی
رو := پردازش سیگنال.مختلط { حقیقی = 0.0، موهومی = 1.0 }
سرچاپ ریاضی.قدرمطلق(پردازش سیگنال.زاویه مختلط(رو) - ریاضی.پی / 2.0) کوچکتر 0.000000001
پی۲ := پردازش سیگنال.مختلط از قطبی(2.0، 0.0)
سرچاپ ریاضی.قدرمطلق(پی۲.حقیقی - 2.0) کوچکتر 0.000000001، ریاضی.قدرمطلق(پی۲.موهومی) کوچکتر 0.000000001
سرچاپ پردازش سیگنال.اندازه مختلط(پردازش سیگنال.مختلط از قطبی(5.0، 1.0))
پایانفشردهساز Compressor
ساختار فشردهساز| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| آستانه | threshold | اعشار۶۴ = -20 | سطحی به دسیبل که بالاتر از آن فشردن آغاز میشود. |
| نسبت | ratio | اعشار۶۴ = 4 | چه اندازه از فزونی را نگه داریم. نسبت چهار یکچهارم آن را میگذراند. |
| حمله | attack | اعشار۶۴ = 0.005 | پس از فراتر رفتن سیگنال، چند ثانیه تا گرفتنش. |
| رهایش | release | اعشار۶۴ = 0.1 | پس از بازگشتن سیگنال، چند ثانیه تا رها کردنش. |
| جبران | makeup | اعشار۶۴ = 0 | دسیبل بهرهای که پس از آن افزوده میشود، تا آنچه فشردن گرفت بازگردد. |
واردسازی صدا
واردسازی صدا.پردازش سیگنال
واردسازی صدا.صداساز
واردسازی ریاضی
تابع ریشه:
منبع := صداساز.نوا(440.0، 0.1، 22050، صداساز.موج سینوسی)
سرچاپ منبع.فریم ها، منبع.نرخ
پژواکی := پردازش سیگنال.پژواک(منبع، 0.02، 2، 0.5)
سرچاپ پژواکی.فریم ها، پژواکی.فریم ها برابر منبع.فریم ها + 2 * 441
سرچاپ ریاضی.قدرمطلق(صدا.نمونه(پژواکی، 451، 0) - (صدا.نمونه(منبع، 451، 0) + صدا.نمونه(منبع، 10، 0) * 0.5)) کوچکتر 0.001
اتاقی := پردازش سیگنال.بازآوا(منبع، 0.5، 0.3)
سرچاپ اتاقی.فریم ها، صدا.اوج(اتاقی) کوچکتربرابر 1.0
خشک := پردازش سیگنال.بازآوا(منبع، 0.5، 0.0)
سرچاپ ریاضی.قدرمطلق(صدا.نمونه(خشک، 50، 0) - صدا.نمونه(منبع، 50، 0)) کوچکتر 0.0001
همخوانی := پردازش سیگنال.همخوان(منبع، 0.5، 2.0، 0.5)
فلنجری := پردازش سیگنال.فلنجر(منبع، 0.5، 1.0، 0.5)
سرچاپ همخوانی.فریم ها، فلنجری.فریم ها
سرچاپ پردازش سیگنال.همبستگی(منبع، همخوانی) کوچکتر 0.999، پردازش سیگنال.همبستگی(منبع، فلنجری) کوچکتر 0.9999
ناپایا لرزشی := صدا.کپی(منبع)
پردازش سیگنال.لرزش دامنه(لرزشی، 10.0، 1.0)
سرچاپ صدا.جذر میانگین مربع(لرزشی) کوچکتر صدا.جذر میانگین مربع(منبع)، صدا.اوج(لرزشی) کوچکتربرابر صدا.اوج(منبع) + 0.0001
ناپایا تاخیری := صدا.کپی(منبع)
پردازش سیگنال.تاخیر(تاخیری، 0.01، 0.5، 0.5)
سرچاپ تاخیری.فریم ها برابر منبع.فریم ها
فشرده := پردازش سیگنال.فشردهساز { آستانه = -20.0، نسبت = 8.0، حمله = 0.001، رهایش = 0.05 }
ناپایا سخت := صدا.کپی(منبع)
پردازش سیگنال.پردازش فشردهساز(فشرده، سخت)
سرچاپ صدا.جذر میانگین مربع دسیبل(سخت) کوچکتر صدا.جذر میانگین مربع دسیبل(منبع) - 6.0
ناپایا بلندی := صدا.کپی(منبع)
صدا.مقیاس(بلندی، 4.0)
پردازش سیگنال.پردازش محدودساز(بلندی، -1.0)
سرچاپ صدا.اوج دسیبل(بلندی) کوچکتربرابر -1.0 + 0.001
ناپایا دروازهای := صدا.کپی(منبع)
صدا.بهره(دروازهای، -60.0)
پردازش سیگنال.پردازش دروازه(دروازهای، -40.0، 0.001)
سرچاپ صدا.اوج(دروازهای) کوچکتر 0.0001
درازتر := پردازش سیگنال.کشش زمانی(منبع، 2.0)
سرچاپ درازتر.فریم ها برابر منبع.فریم ها * 2، درازتر.نرخ
بالاتر := پردازش سیگنال.جابجایی زیروبمی(منبع، 12.0)
سرچاپ بالاتر.فریم ها، بالاتر.نرخ
سرچاپ پردازش سیگنال.شناسایی زیروبمی(بالاتر، 0، 2048) بزرگتر 700.0
صدا.آزادسازی(منبع)
صدا.آزادسازی(پژواکی)
صدا.آزادسازی(اتاقی)
صدا.آزادسازی(خشک)
صدا.آزادسازی(همخوانی)
صدا.آزادسازی(فلنجری)
صدا.آزادسازی(لرزشی)
صدا.آزادسازی(تاخیری)
صدا.آزادسازی(سخت)
صدا.آزادسازی(بلندی)
صدا.آزادسازی(دروازهای)
صدا.آزادسازی(درازتر)
صدا.آزادسازی(بالاتر)
پایاندوقطبی Biquad
ساختار دوقطبی| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| ب۰ | b0 | اعشار۶۴ = 1 | نخستین ضریب پیشرو. |
| ب۱ | b1 | اعشار۶۴ = 0 | دومین ضریب پیشرو. |
| ب۲ | b2 | اعشار۶۴ = 0 | سومین ضریب پیشرو. |
| آ۱ | a1 | اعشار۶۴ = 0 | نخستین ضریب پسخور، از پیش بر آ۰ بخش شده. |
| آ۲ | a2 | اعشار۶۴ = 0 | دومین ضریب پسخور، از پیش بر آ۰ بخش شده. |
| ز۱ | z1 | اعشار۶۴ = 0 | نخستین نمونه به یاد مانده. پیش از صافی کردن قطعهای تازه بازنشانیاش کنید. |
| ز۲ | z2 | اعشار۶۴ = 0 | دومین نمونه به یاد مانده. |
واردسازی صدا
واردسازی صدا.پردازش سیگنال
واردسازی ریاضی
تابع نوا(نرخی: صحیح، بسامد: اعشار۶۴، شمار: صحیح): صدا.قطعه:
ناپایا کلیپ := صدا.جدید(نرخی، 1، شمار)
ناپایا شمارنده := 0
تا شمارنده کوچکتر شمار:
صدا.تنظیم نمونه(کلیپ، شمارنده، 0، ریاضی.سینوس(2.0 * ریاضی.پی * بسامد * (شمارنده برگردان اعشار۶۴) / (نرخی برگردان اعشار۶۴)))
شمارنده += 1
پایان
برگشت کلیپ
پایان
تابع ریشه:
صاف۱ := پردازش سیگنال.صافی پایین(1000.0، 0.707، 48000)
سرچاپ پردازش سیگنال.پاسخ دوقطبی(صاف۱، 100.0، 48000) بزرگتر 0.99
سرچاپ ریاضی.قدرمطلق(پردازش سیگنال.پاسخ دوقطبی(صاف۱، 1000.0، 48000) - 0.7071) کوچکتر 0.01
سرچاپ پردازش سیگنال.پاسخ دوقطبی(صاف۱، 10000.0، 48000) کوچکتر 0.02
صاف۲ := پردازش سیگنال.صافی بالا(1000.0، 0.707، 48000)
سرچاپ پردازش سیگنال.پاسخ دوقطبی(صاف۲، 10000.0، 48000) بزرگتر 0.99، پردازش سیگنال.پاسخ دوقطبی(صاف۲، 100.0، 48000) کوچکتر 0.02
صاف۳ := پردازش سیگنال.صافی میان(1000.0، 1.0، 48000)
سرچاپ ریاضی.قدرمطلق(پردازش سیگنال.پاسخ دوقطبی(صاف۳، 1000.0، 48000) - 1.0) کوچکتر 0.01، پردازش سیگنال.پاسخ دوقطبی(صاف۳، 100.0، 48000) کوچکتر 0.2
صاف۴ := پردازش سیگنال.صافی شکاف(1000.0، 1.0، 48000)
سرچاپ پردازش سیگنال.پاسخ دوقطبی(صاف۴، 1000.0، 48000) کوچکتر 0.01، پردازش سیگنال.پاسخ دوقطبی(صاف۴، 100.0، 48000) بزرگتر 0.9
صاف۵ := پردازش سیگنال.صافی همه(1000.0، 0.707، 48000)
سرچاپ ریاضی.قدرمطلق(پردازش سیگنال.پاسخ دوقطبی(صاف۵، 500.0، 48000) - 1.0) کوچکتر 0.000001
صاف۶ := پردازش سیگنال.قله(1000.0، 1.0، 6.0، 48000)
سرچاپ پردازش سیگنال.پاسخ دوقطبی(صاف۶، 1000.0، 48000) بزرگتر 1.98، پردازش سیگنال.پاسخ دوقطبی(صاف۶، 1000.0، 48000) کوچکتر 2.01
صاف۷ := پردازش سیگنال.قفسه پایین(1000.0، 0.707، 6.0، 48000)
سرچاپ پردازش سیگنال.پاسخ دوقطبی(صاف۷، 50.0، 48000) بزرگتر 1.9، ریاضی.قدرمطلق(پردازش سیگنال.پاسخ دوقطبی(صاف۷، 20000.0، 48000) - 1.0) کوچکتر 0.05
صاف۸ := پردازش سیگنال.قفسه بالا(1000.0، 0.707، 6.0، 48000)
سرچاپ پردازش سیگنال.پاسخ دوقطبی(صاف۸، 20000.0، 48000) بزرگتر 1.9
ناپایا بلند := نوا(48000، 10000.0، 2048)
پیشین := صدا.جذر میانگین مربع(بلند)
پردازش سیگنال.پردازش همه کانالها(صاف۱، بلند)
سرچاپ صدا.بهره به دسیبل(صدا.جذر میانگین مربع(بلند) / پیشین) کوچکتر -20.0
ناپایا کوتاه := نوا(48000، 100.0، 2048)
پیشین۲ := صدا.جذر میانگین مربع(کوتاه)
پردازش سیگنال.پردازش همه کانالها(صاف۱، کوتاه)
سرچاپ صدا.بهره به دسیبل(صدا.جذر میانگین مربع(کوتاه) / پیشین۲) بزرگتر -1.0
ناپایا یکی := پردازش سیگنال.صافی پایین(1000.0، 0.707، 48000)
پردازش سیگنال.گام دوقطبی(یکی، 1.0)
سرچاپ یکی.ز۱ نابرابر 0.0
پردازش سیگنال.بازنشانی دوقطبی(یکی)
سرچاپ یکی.ز۱، یکی.ز۲
سرچاپ ریاضی.قدرمطلق(یکی.ب۰ - صاف۱.ب۰) کوچکتر 0.000000001
ناپایا کانالی := نوا(8000، 100.0، 400)
صدا.مقیاس(کانالی، 0.5)
ناپایا کاف := 0
تا کاف کوچکتر کانالی.فریم ها:
صدا.افزودن نمونه(کانالی، کاف، 0، 0.25)
کاف += 1
پایان
سرچاپ صدا.انحراف جریان مستقیم(کانالی) بزرگتر 0.2
پردازش سیگنال.حذف جریان مستقیم(کانالی)
سرچاپ ریاضی.قدرمطلق(صدا.انحراف جریان مستقیم(کانالی)) کوچکتر 0.000001
ناپایا تکی := پردازش سیگنال.صافی پایین(1000.0، 0.707، 8000)
پردازش سیگنال.پردازش دوقطبی(تکی، کانالی، 0)
سرچاپ کانالی.فریم ها
صدا.آزادسازی(بلند)
صدا.آزادسازی(کوتاه)
صدا.آزادسازی(کانالی)
پایانپایاها و متغیرها
کیفیت بازنمونه Quality…
| نام | انگلیسی | مقدار |
|---|---|---|
| کیفیت خطی | QualityLinear | 0 |
| کیفیت مکعبی | QualityCubic | 1 |
| کیفیت سینک | QualitySinc | 2 |
واردسازی صدا
واردسازی صدا.پردازش سیگنال
واردسازی ریاضی
تابع نوا(نرخی: صحیح، بسامد: اعشار۶۴، شمار: صحیح): صدا.قطعه:
ناپایا کلیپ := صدا.جدید(نرخی، 1، شمار)
ناپایا شمارنده := 0
تا شمارنده کوچکتر شمار:
صدا.تنظیم نمونه(کلیپ، شمارنده، 0، ریاضی.سینوس(2.0 * ریاضی.پی * بسامد * (شمارنده برگردان اعشار۶۴) / (نرخی برگردان اعشار۶۴)))
شمارنده += 1
پایان
برگشت کلیپ
پایان
تابع ریشه:
منبع := نوا(44100، 440.0، 4410)
رو := پردازش سیگنال.بازنمونه سینک(منبع، 48000، 16)
سرچاپ رو.نرخ، رو.فریم ها
برگشته := پردازش سیگنال.بازنمونه سینک(رو، 44100، 16)
سرچاپ برگشته.نرخ، برگشته.فریم ها
میانه := صدا.برش(منبع، 64، منبع.فریم ها - 128)
میانه۲ := صدا.برش(برگشته، 64، برگشته.فریم ها - 128)
سرچاپ پردازش سیگنال.همبستگی(میانه، میانه۲) بزرگتر 0.999
مکعب := پردازش سیگنال.بازنمونه مکعبی(منبع، 48000)
مکعب۲ := پردازش سیگنال.بازنمونه مکعبی(مکعب، 44100)
میانه۳ := صدا.برش(مکعب۲، 64، مکعب۲.فریم ها - 128)
سرچاپ مکعب.نرخ، پردازش سیگنال.همبستگی(میانه، میانه۳) بزرگتر 0.999
سرچاپ پردازش سیگنال.بازنمونه به(منبع، 48000، پردازش سیگنال.کیفیت خطی).نرخ
سرچاپ پردازش سیگنال.بازنمونه به(منبع، 48000، پردازش سیگنال.کیفیت مکعبی).نرخ
سرچاپ پردازش سیگنال.بازنمونه به(منبع، 48000، پردازش سیگنال.کیفیت سینک).نرخ
همان := پردازش سیگنال.بازنمونه سینک(منبع، 44100، 16)
سرچاپ ریاضی.قدرمطلق(پردازش سیگنال.همبستگی(منبع، همان) - 1.0) کوچکتر 0.000001
سرچاپ پردازش سیگنال.همبستگی(منبع، صدا.قطعه {})
سرچاپ پردازش سیگنال.بتای کایزر
زیر := پردازش سیگنال.بازنمونه سینک(منبع، 22050، 16)
سرچاپ زیر.نرخ، زیر.فریم ها
صدا.آزادسازی(منبع)
صدا.آزادسازی(رو)
صدا.آزادسازی(برگشته)
صدا.آزادسازی(میانه)
صدا.آزادسازی(میانه۲)
صدا.آزادسازی(مکعب)
صدا.آزادسازی(مکعب۲)
صدا.آزادسازی(میانه۳)
صدا.آزادسازی(همان)
صدا.آزادسازی(زیر)
پایانبتای کایزر KaiserBeta
پایا بتای کایزر: اعشار۶۴ = 8.6نمونهی این مورد همراه با موارد بالاتر آمده است: dsp-Resample.salam
شکلهای پنجره Window…
| نام | انگلیسی | مقدار |
|---|---|---|
| پنجره مستطیلی | WindowRectangular | 0 |
| پنجره هان | WindowHann | 1 |
| پنجره همینگ | WindowHamming | 2 |
| پنجره بلکمن | WindowBlackman | 3 |
| پنجره بلکمن هریس | WindowBlackmanHarris | 4 |
| پنجره سینوسی | WindowSine | 5 |
| پنجره وربیس | WindowVorbis | 6 |
| پنجره کایزر | WindowKaiser | 7 |
واردسازی صدا.پردازش سیگنال
واردسازی ریاضی
تابع ریشه:
سرچاپ پردازش سیگنال.بسل صفر(0.0)
هانی := پردازش سیگنال.ساخت پنجره(پردازش سیگنال.پنجره هان، 9، 0.0)
سرچاپ هانی.طول()، هانی.بگیر(0) کوچکتر 0.000000001، ریاضی.قدرمطلق(هانی.بگیر(4) - 1.0) کوچکتر 0.000000001
سرچاپ هانی.بگیر(8) کوچکتر 0.000000001
سرچاپ پردازش سیگنال.مقدار پنجره(پردازش سیگنال.پنجره مستطیلی، 0، 9، 0.0)
سرچاپ ریاضی.قدرمطلق(پردازش سیگنال.مقدار پنجره(پردازش سیگنال.پنجره همینگ، 0، 9، 0.0) - 0.08) کوچکتر 0.000000001
سرچاپ ریاضی.قدرمطلق(پردازش سیگنال.ساخت پنجره(پردازش سیگنال.پنجره بلکمن، 9، 0.0).بگیر(4) - 1.0) کوچکتر 0.000000001
سرچاپ ریاضی.قدرمطلق(پردازش سیگنال.ساخت پنجره(پردازش سیگنال.پنجره بلکمن هریس، 9، 0.0).بگیر(4) - 1.0) کوچکتر 0.000000001
سرچاپ ریاضی.قدرمطلق(پردازش سیگنال.ساخت پنجره(پردازش سیگنال.پنجره سینوسی، 9، 0.0).بگیر(4) - 1.0) کوچکتر 0.000000001
سرچاپ پردازش سیگنال.ساخت پنجره(پردازش سیگنال.پنجره وربیس، 9، 0.0).بگیر(0) کوچکتر 0.000000001
سرچاپ ریاضی.قدرمطلق(پردازش سیگنال.ساخت پنجره(پردازش سیگنال.پنجره کایزر، 9، 8.6).بگیر(4) - 1.0) کوچکتر 0.000000001
سرچاپ پردازش سیگنال.نام پنجره(پردازش سیگنال.پنجره هان)، پردازش سیگنال.نام پنجره(پردازش سیگنال.پنجره کایزر)، پردازش سیگنال.نام پنجره(99)
سرچاپ پردازش سیگنال.جمع پنجره(پردازش سیگنال.پنجره مستطیلی، 8، 0.0)
ناپایا بافه := وکتور {} برگردان وکتور<اعشار۶۴>
ناپایا شمارنده := 0
تا شمارنده کوچکتر 8:
بافه.بیفزا(1.0)
شمارنده += 1
پایان
پردازش سیگنال.اعمال پنجره(بافه.ارجاع(0)، 8، پردازش سیگنال.پنجره هان، 0.0)
سرچاپ بافه.بگیر(0) کوچکتر 0.000000001، بافه.بگیر(4) بزرگتر 0.9
پایانتابعها
نرخ صفرگذر ZeroCrossingRate
تابع نرخ صفرگذر(c: audio.Clip): اعشار۶۴نمونهی این مورد همراه با موارد بالاتر آمده است: dsp-Analyze.salam
آزادسازی طیف FreeSpectrum
تابع آزادسازی طیف(s &: طیف)نمونهی این مورد همراه با موارد بالاتر آمده است: dsp-Analyze.salam
تبدیل فوریه کوتاه STFT
تابع تبدیل فوریه کوتاه(c: audio.Clip، size: صحیح، hop: صحیح، window: صحیح): طیفنمونهی این مورد همراه با موارد بالاتر آمده است: dsp-Analyze.salam
طیف در SpectrumAt
تابع طیف در(s: طیف، frame: صحیح، bin: صحیح): اعشار۶۴نمونهی این مورد همراه با موارد بالاتر آمده است: dsp-Analyze.salam
مرکز طیفی SpectralCentroid
تابع مرکز طیفی(s: طیف، frame: صحیح): اعشار۶۴نمونهی این مورد همراه با موارد بالاتر آمده است: dsp-Analyze.salam
افت طیفی SpectralRolloff
تابع افت طیفی(s: طیف، frame: صحیح، share: اعشار۶۴): اعشار۶۴نمونهی این مورد همراه با موارد بالاتر آمده است: dsp-Analyze.salam
تختی طیفی SpectralFlatness
تابع تختی طیفی(s: طیف، frame: صحیح): اعشار۶۴نمونهی این مورد همراه با موارد بالاتر آمده است: dsp-Analyze.salam
شار طیفی SpectralFlux
تابع شار طیفی(s: طیف، frame: صحیح): اعشار۶۴نمونهی این مورد همراه با موارد بالاتر آمده است: dsp-Analyze.salam
شناسایی زیروبمی DetectPitch
تابع شناسایی زیروبمی(c: audio.Clip، from_frame: صحیح، size: صحیح): اعشار۶۴نمونهی این مورد همراه با موارد بالاتر آمده است: dsp-Analyze.salam
شناسایی آغازها DetectOnsets
تابع شناسایی آغازها(c: audio.Clip، size: صحیح، hop: صحیح): وکتور<صحیح>نمونهی این مورد همراه با موارد بالاتر آمده است: dsp-Analyze.salam
شناسایی ضربان DetectBPM
تابع شناسایی ضربان(c: audio.Clip): اعشار۶۴نمونهی این مورد همراه با موارد بالاتر آمده است: dsp-Analyze.salam
بلندی لافز LoudnessLUFS
تابع بلندی لافز(c: audio.Clip): اعشار۶۴نمونهی این مورد همراه با موارد بالاتر آمده است: dsp-Analyze.salam
هنجارسازی لافز NormalizeLUFS
تابع هنجارسازی لافز(c &: audio.Clip، target: اعشار۶۴)نمونهی این مورد همراه با موارد بالاتر آمده است: dsp-Analyze.salam
اوج راستین دسیبل TruePeakDb
تابع اوج راستین دسیبل(c: audio.Clip): اعشار۶۴نمونهی این مورد همراه با موارد بالاتر آمده است: dsp-Analyze.salam
بازنمونه مکعبی ResampleCubic
تابع بازنمونه مکعبی(c: audio.Clip، rate: صحیح): audio.Clipنمونهی این مورد همراه با موارد بالاتر آمده است: dsp-Resample.salam
بازنمونه سینک ResampleSinc
تابع بازنمونه سینک(c: audio.Clip، rate: صحیح، taps: صحیح): audio.Clipنمونهی این مورد همراه با موارد بالاتر آمده است: dsp-Resample.salam
بازنمونه به ResampleTo
تابع بازنمونه به(c: audio.Clip، rate: صحیح، quality: صحیح): audio.Clipنمونهی این مورد همراه با موارد بالاتر آمده است: dsp-Resample.salam
همبستگی Correlation
تابع همبستگی(a: audio.Clip، b: audio.Clip): اعشار۶۴نمونهی این مورد همراه با موارد بالاتر آمده است: dsp-Resample.salam
توان دو است IsPow2
تابع توان دو است(n: صحیح): منطقیواردسازی صدا.پردازش سیگنال
واردسازی ریاضی
تابع ریشه:
سرچاپ پردازش سیگنال.توان دو است(64)، پردازش سیگنال.توان دو است(63)، پردازش سیگنال.توان دو بعدی(1000)، پردازش سیگنال.توان دو بعدی(64)
تعداد := 64
کا := 5
ناپایا حقیقیها := وکتور {} برگردان وکتور<اعشار۶۴>
ناپایا موهومیها := وکتور {} برگردان وکتور<اعشار۶۴>
ناپایا شمارنده := 0
تا شمارنده کوچکتر تعداد:
زاویه := 2.0 * ریاضی.پی * (کا برگردان اعشار۶۴) * (شمارنده برگردان اعشار۶۴) / (تعداد برگردان اعشار۶۴)
حقیقیها.بیفزا(ریاضی.کسینوس(زاویه))
موهومیها.بیفزا(ریاضی.سینوس(زاویه))
شمارنده += 1
پایان
سرچاپ پردازش سیگنال.تبدیل فوریه برداری(حقیقیها، موهومیها)
اندازهها := پردازش سیگنال.اندازه(حقیقیها.ارجاع(0)، موهومیها.ارجاع(0)، تعداد)
سرچاپ پردازش سیگنال.خانه اوج(اندازهها)، اندازهها.بگیر(کا) بزرگتر 63.9، اندازهها.بگیر(کا) کوچکتر 64.1
ناپایا نشت := 0.0
ناپایا کا۲ := 0
تا کا۲ کوچکتر تعداد:
اگر کا۲ نابرابر کا و اندازهها.بگیر(کا۲) بزرگتر نشت:
نشت = اندازهها.بگیر(کا۲)
پایان
کا۲ += 1
پایان
سرچاپ نشت کوچکتر 0.000000001
توانها := پردازش سیگنال.طیف توان(حقیقیها.ارجاع(0)، موهومیها.ارجاع(0)، تعداد)
سرچاپ توانها.بگیر(کا) بزرگتر 4095.0
فازها := پردازش سیگنال.فاز(حقیقیها.ارجاع(0)، موهومیها.ارجاع(0)، تعداد)
سرچاپ ریاضی.قدرمطلق(فازها.بگیر(کا)) کوچکتر 0.000000001
سرچاپ پردازش سیگنال.بسامد خانه(کا، تعداد، 48000)، پردازش سیگنال.بسامد خانه(0، تعداد، 48000)
سرچاپ پردازش سیگنال.تبدیل فوریه وارون برداری(حقیقیها، موهومیها)
سرچاپ ریاضی.قدرمطلق(حقیقیها.بگیر(0) - 1.0) کوچکتر 0.000000001، ریاضی.قدرمطلق(موهومیها.بگیر(0)) کوچکتر 0.000000001
سرچاپ پردازش سیگنال.تبدیل فوریه(حقیقیها.ارجاع(0)، موهومیها.ارجاع(0)، 15)
سرچاپ پردازش سیگنال.خانه اوج(وکتور {} برگردان وکتور<اعشار۶۴>)
پایانتوان دو بعدی NextPow2
تابع توان دو بعدی(n: صحیح): صحیحنمونهی این مورد همراه با موارد بالاتر آمده است: dsp-FFT.salam
جمع مختلط CAdd
تابع جمع مختلط(a: مختلط، b: مختلط): مختلطنمونهی این مورد همراه با موارد بالاتر آمده است: dsp-Complex.salam
تفریق مختلط CSub
تابع تفریق مختلط(a: مختلط، b: مختلط): مختلطنمونهی این مورد همراه با موارد بالاتر آمده است: dsp-Complex.salam
ضرب مختلط CMul
تابع ضرب مختلط(a: مختلط، b: مختلط): مختلطنمونهی این مورد همراه با موارد بالاتر آمده است: dsp-Complex.salam
مقیاس مختلط CScale
تابع مقیاس مختلط(a: مختلط، k: اعشار۶۴): مختلطنمونهی این مورد همراه با موارد بالاتر آمده است: dsp-Complex.salam
همیوغ مختلط CConj
تابع همیوغ مختلط(a: مختلط): مختلطنمونهی این مورد همراه با موارد بالاتر آمده است: dsp-Complex.salam
اندازه مختلط CAbs
تابع اندازه مختلط(a: مختلط): اعشار۶۴نمونهی این مورد همراه با موارد بالاتر آمده است: dsp-Complex.salam
زاویه مختلط CArg
تابع زاویه مختلط(a: مختلط): اعشار۶۴نمونهی این مورد همراه با موارد بالاتر آمده است: dsp-Complex.salam
مختلط از قطبی CFromPolar
تابع مختلط از قطبی(mag: اعشار۶۴، angle: اعشار۶۴): مختلطنمونهی این مورد همراه با موارد بالاتر آمده است: dsp-Complex.salam
تبدیل فوریه FFT
تابع تبدیل فوریه(re: اعشار۶۴*، im: اعشار۶۴*، n: صحیح): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: dsp-FFT.salam
تبدیل فوریه وارون IFFT
تابع تبدیل فوریه وارون(re: اعشار۶۴*، im: اعشار۶۴*، n: صحیح): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: dsp-FFT.salam
تبدیل فوریه برداری FFTVec
تابع تبدیل فوریه برداری(re &: وکتور<اعشار۶۴>، im &: وکتور<اعشار۶۴>): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: dsp-FFT.salam
تبدیل فوریه وارون برداری IFFTVec
تابع تبدیل فوریه وارون برداری(re &: وکتور<اعشار۶۴>، im &: وکتور<اعشار۶۴>): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: dsp-FFT.salam
اندازه Magnitude
تابع اندازه(re: اعشار۶۴*، im: اعشار۶۴*، n: صحیح): وکتور<اعشار۶۴>نمونهی این مورد همراه با موارد بالاتر آمده است: dsp-FFT.salam
فاز Phase
تابع فاز(re: اعشار۶۴*، im: اعشار۶۴*، n: صحیح): وکتور<اعشار۶۴>نمونهی این مورد همراه با موارد بالاتر آمده است: dsp-FFT.salam
طیف توان PowerSpectrum
تابع طیف توان(re: اعشار۶۴*، im: اعشار۶۴*، n: صحیح): وکتور<اعشار۶۴>نمونهی این مورد همراه با موارد بالاتر آمده است: dsp-FFT.salam
بسامد خانه BinFrequency
تابع بسامد خانه(bin: صحیح، n: صحیح، rate: صحیح): اعشار۶۴نمونهی این مورد همراه با موارد بالاتر آمده است: dsp-FFT.salam
خانه اوج PeakBin
تابع خانه اوج(mags: وکتور<اعشار۶۴>): صحیحنمونهی این مورد همراه با موارد بالاتر آمده است: dsp-FFT.salam
بسل صفر BesselI0
تابع بسل صفر(x: اعشار۶۴): اعشار۶۴نمونهی این مورد همراه با موارد بالاتر آمده است: dsp-Window.salam
مقدار پنجره WindowValue
تابع مقدار پنجره(kind: صحیح، i: صحیح، n: صحیح، param: اعشار۶۴): اعشار۶۴نمونهی این مورد همراه با موارد بالاتر آمده است: dsp-Window.salam
نام پنجره WindowName
تابع نام پنجره(kind: صحیح): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: dsp-Window.salam
ساخت پنجره MakeWindow
تابع ساخت پنجره(kind: صحیح، n: صحیح، param: اعشار۶۴): وکتور<اعشار۶۴>نمونهی این مورد همراه با موارد بالاتر آمده است: dsp-Window.salam
اعمال پنجره ApplyWindow
تابع اعمال پنجره(p: اعشار۶۴*، n: صحیح، kind: صحیح، param: اعشار۶۴)نمونهی این مورد همراه با موارد بالاتر آمده است: dsp-Window.salam
جمع پنجره WindowSum
تابع جمع پنجره(kind: صحیح، n: صحیح، param: اعشار۶۴): اعشار۶۴نمونهی این مورد همراه با موارد بالاتر آمده است: dsp-Window.salam
تاخیر Delay
تابع تاخیر(c &: audio.Clip، seconds: اعشار۶۴، mix: اعشار۶۴، feedback: اعشار۶۴)نمونهی این مورد همراه با موارد بالاتر آمده است: dsp-Effect.salam
پژواک Echo
تابع پژواک(c: audio.Clip، seconds: اعشار۶۴، repeats: صحیح، decay: اعشار۶۴): audio.Clipنمونهی این مورد همراه با موارد بالاتر آمده است: dsp-Effect.salam
بازآوا Reverb
تابع بازآوا(c: audio.Clip، room: اعشار۶۴، mix: اعشار۶۴): audio.Clipنمونهی این مورد همراه با موارد بالاتر آمده است: dsp-Effect.salam
همخوان Chorus
تابع همخوان(c: audio.Clip، depth: اعشار۶۴، speed: اعشار۶۴، mix: اعشار۶۴): audio.Clipنمونهی این مورد همراه با موارد بالاتر آمده است: dsp-Effect.salam
فلنجر Flanger
تابع فلنجر(c: audio.Clip، depth: اعشار۶۴، speed: اعشار۶۴، mix: اعشار۶۴): audio.Clipنمونهی این مورد همراه با موارد بالاتر آمده است: dsp-Effect.salam
لرزش دامنه Tremolo
تابع لرزش دامنه(c &: audio.Clip، speed: اعشار۶۴، depth: اعشار۶۴)نمونهی این مورد همراه با موارد بالاتر آمده است: dsp-Effect.salam
پردازش فشردهساز CompressorProcess
تابع پردازش فشردهساز(k: فشردهساز، c &: audio.Clip)نمونهی این مورد همراه با موارد بالاتر آمده است: dsp-Effect.salam
پردازش محدودساز LimiterProcess
تابع پردازش محدودساز(c &: audio.Clip، ceiling_db: اعشار۶۴)نمونهی این مورد همراه با موارد بالاتر آمده است: dsp-Effect.salam
پردازش دروازه GateProcess
تابع پردازش دروازه(c &: audio.Clip، threshold_db: اعشار۶۴، release: اعشار۶۴)نمونهی این مورد همراه با موارد بالاتر آمده است: dsp-Effect.salam
کشش زمانی TimeStretch
تابع کشش زمانی(c: audio.Clip، factor: اعشار۶۴): audio.Clipنمونهی این مورد همراه با موارد بالاتر آمده است: dsp-Effect.salam
جابجایی زیروبمی PitchShift
تابع جابجایی زیروبمی(c: audio.Clip، semitones: اعشار۶۴): audio.Clipنمونهی این مورد همراه با موارد بالاتر آمده است: dsp-Effect.salam
صافی پایین LowPass
تابع صافی پایین(freq: اعشار۶۴، q: اعشار۶۴، rate: صحیح): دوقطبینمونهی این مورد همراه با موارد بالاتر آمده است: dsp-Filter.salam
صافی بالا HighPass
تابع صافی بالا(freq: اعشار۶۴، q: اعشار۶۴، rate: صحیح): دوقطبینمونهی این مورد همراه با موارد بالاتر آمده است: dsp-Filter.salam
صافی میان BandPass
تابع صافی میان(freq: اعشار۶۴، q: اعشار۶۴، rate: صحیح): دوقطبینمونهی این مورد همراه با موارد بالاتر آمده است: dsp-Filter.salam
صافی شکاف Notch
تابع صافی شکاف(freq: اعشار۶۴، q: اعشار۶۴، rate: صحیح): دوقطبینمونهی این مورد همراه با موارد بالاتر آمده است: dsp-Filter.salam
صافی همه AllPass
تابع صافی همه(freq: اعشار۶۴، q: اعشار۶۴، rate: صحیح): دوقطبینمونهی این مورد همراه با موارد بالاتر آمده است: dsp-Filter.salam
قله Peaking
تابع قله(freq: اعشار۶۴، q: اعشار۶۴، gain_db: اعشار۶۴، rate: صحیح): دوقطبینمونهی این مورد همراه با موارد بالاتر آمده است: dsp-Filter.salam
قفسه پایین LowShelf
تابع قفسه پایین(freq: اعشار۶۴، q: اعشار۶۴، gain_db: اعشار۶۴، rate: صحیح): دوقطبینمونهی این مورد همراه با موارد بالاتر آمده است: dsp-Filter.salam
قفسه بالا HighShelf
تابع قفسه بالا(freq: اعشار۶۴، q: اعشار۶۴، gain_db: اعشار۶۴، rate: صحیح): دوقطبینمونهی این مورد همراه با موارد بالاتر آمده است: dsp-Filter.salam
بازنشانی دوقطبی BiquadReset
تابع بازنشانی دوقطبی(f &: دوقطبی)نمونهی این مورد همراه با موارد بالاتر آمده است: dsp-Filter.salam
گام دوقطبی BiquadStep
تابع گام دوقطبی(f &: دوقطبی، x: اعشار۶۴): اعشار۶۴نمونهی این مورد همراه با موارد بالاتر آمده است: dsp-Filter.salam
پاسخ دوقطبی BiquadResponse
تابع پاسخ دوقطبی(f: دوقطبی، freq: اعشار۶۴، rate: صحیح): اعشار۶۴نمونهی این مورد همراه با موارد بالاتر آمده است: dsp-Filter.salam
پردازش دوقطبی BiquadProcess
تابع پردازش دوقطبی(f &: دوقطبی، c &: audio.Clip، ch: صحیح)نمونهی این مورد همراه با موارد بالاتر آمده است: dsp-Filter.salam
پردازش همه کانالها BiquadProcessAll
تابع پردازش همه کانالها(f: دوقطبی، c &: audio.Clip)نمونهی این مورد همراه با موارد بالاتر آمده است: dsp-Filter.salam
حذف جریان مستقیم DCRemove
تابع حذف جریان مستقیم(c &: audio.Clip)نمونهی این مورد همراه با موارد بالاتر آمده است: dsp-Filter.salam