Ses sentezleyicileri , sesin belirli parametrelerinin (genel ses yüksekliği gibi) zamanla nasıl değiştiğini kontrol etmek için zarf jeneratörleri kullanır. Birçok sentezleyicide, bir zarf Wikipedia'da aşağıdaki şekilde gösterildiği gibi dört parametre ile tanımlanır :
- Atak zamanı (A) : tuşa ilk basıldığında, sıfırdan başlayarak zarfın maksimum seviyesine ulaşması için geçen süre.
- Çürüme zamanı (D) : zarfın belirtilen dayanma seviyesine ulaşması için geçen süre.
- Sustain level (S) : ilk saldırıdan ve çürümeden sonra, tuşa basıldığı sürece korunan seviye.
- Serbest bırakma süresi (R) : Anahtar serbest bırakıldığında zarfın sıfıra ulaşması için geçen süre.
Meydan okuma
Dört, A, D, S, R parametrelerini girin ve zarfı çizin .
Parametreler, 0 ila 127 arasında tam sayı değerleri olacaktır .
Maksimum seviye (saldırı aşamasının sonunda ulaşılan) olduğu varsayılır edilecektir 127 .
Sürdürmek düzeyinde yatay bir parça olduğu kabul edilecektir süresi 64 (bu süre sabit değildir gerçek ses de, ama önemli tutulduğunda zaman miktarı ile belirlenir).
Biçimlendirme ve daha fazla ayrıntı
Çıktı raster veya vektör formatında bir görüntü olmalıdır. Raster ise, poligonal çizgi yatay olarak en az 50 piksel dikey olarak durmalıdır.
Görüntü, standart bir görüntü formatında ya görüntülenebilir ya da bir dosya olarak üretilebilir. Dosya diske yazılabilir veya içeriği STDERR'ye veya fonksiyon dönüş argümanı olarak çıkarılabilir.
Grafik sadece zarfı tanımlayan çokgen çizgiyi içermelidir. Her eksenin ölçeği serbestçe seçilebilir. Eksen çizgileri, sayısal etiketler veya çizgi renkleri gibi diğer elemanlar isteğe bağlıdır.
Giriş araçları ve format her zamanki gibi esnektir . Örneğin, dört sayıyı herhangi bir sırayla veya bunları içeren bir diziyi alabilirsiniz. Bir program veya bir işlev sağlanabilir. Standart boşluklar yasaktır.
Bayt cinsinden en kısa kod kazanır.
Test durumları
Giriş biçiminde [A D S R]
. Ölçeğin her şekilde farklı olduğuna dikkat edin (ölçeğin serbestçe seçilebildiği kurala göre)
[15 30 70 40]
[64 64 64 64]
[0 10 50 80]
[0 0 90 80]
[5 50 0 0]
[5 50 0 80]
[24 32 127 48]