Ctrl+K

ManagedSynthBackend

اعلان

public sealed class Strawberry.Sound.Midi.ManagedSynthBackend

backend سینت‌سایزر MIDI کاملاً managed در C#. خروجی موج پایه (sine, square, sawtooth, triangle, noise) با envelope های ساده‌ی ADSR تولید می‌کند.

نکات: این backend هیچ وابستگی native ندارد و کاملاً با WebAssembly، کامپایل AOT و هر پلتفرمی که .NET روی آن اجرا می‌شود سازگار است. صوت قابل تشخیص اما باکیفیت SoundFont تولید نمی‌کند. برای رندر باکیفیت روی دسکتاپ، از TinySoundFontBackend استفاده کنید. انتخاب موج به‌طور سست از شماره‌های program General MIDI نگاشت می‌شود: بازه‌ی program 0-7 → sine/triangle (شبیه پیانو)، 8-15 → triangle (شبیه زنگ)، 16-31 → square/saw (شبیه ارگ/گیتار) و غیره.

پیاده‌سازی: Strawberry.Sound.Midi.ISynthBackend

سازنده‌ها

ManagedSynthBackend

void ManagedSynthBackend(int sampleRate = 44100, int channels = 2)

پارامترها:

نام نوع توضیحات
sampleRate System.Int32 = 44100
channels System.Int32 = 2

ویژگی‌ها

SampleRate

int SampleRate { get }

Channels

int Channels { get }

متدها

NoteOn

void NoteOn(int channel, int key, float velocity)

پارامترها:

نام نوع توضیحات
channel System.Int32
key System.Int32
velocity System.Single

NoteOff

void NoteOff(int channel, int key)

پارامترها:

نام نوع توضیحات
channel System.Int32
key System.Int32

NoteOffAll

void NoteOffAll()

ProgramChange

void ProgramChange(int channel, int program)

پارامترها:

نام نوع توضیحات
channel System.Int32
program System.Int32

ControlChange

void ControlChange(int channel, int controller, int value)

پارامترها:

نام نوع توضیحات
channel System.Int32
controller System.Int32
value System.Int32

PitchWheel

void PitchWheel(int channel, int value)

پارامترها:

نام نوع توضیحات
channel System.Int32
value System.Int32

Reset

void Reset()

RenderShort

int RenderShort(short[] buffer, int offset, int sampleFrames)

پارامترها:

نام نوع توضیحات
buffer System.Int16[]
offset System.Int32
sampleFrames System.Int32

Dispose

void Dispose()