Audacity: Özgürce ve Ücretsiz Dağıtılan Ses Düzenleme ve Kayıt Yazılımı

Reklam Politikası

Nyquist Eklentileri Oluşturma

  1. Nyquist ve Lisp Programlamaya Giriş
  2. Nyguist Programlama
  3. Nyquist Eklentileri Oluşturma

Audacity için Nyquist ile bir eklenti oluşturmak için ".ny" uzantılı bir metin dosyası oluşturmak, içine Nyquist kodlarıyla, eklenti hakkında bilgi veren bir kaç yorum satırı yazmak ve bu dosyayı Audacity içindeki plug-ins klasörüne taşımak yeterlidir. Çok basit bir eklenti örneği şu şekildedir:

  ;nyquist plug-in
  ;version 1
  ;type process
  ;name "Fade In"
  ;action "Fading In..."
  (mult (ramp) s)

Bir Nyquist eklentisinin ilk satırı kesinlikle yukarıdaki örnekteki gibi olmalıdır. İkinci satırda ise sürüm sayısı bulunmalıdır. 2 ve 3 sürümlerindeki eklentiler daha çok widget destekler. Ancak 3. sürüm eklentileri Audacity 1.3.3 ve daha önceki sürümleri desteklemez. Sonraki satır, aşağıda açıklanan eklenti tipidir. Daha sonra eklentinin menu çubuğunda gösterilecek olan adı ve Audacity eklenti ile meşgulken gösterilecek "eylem" gelir. İsteğe bağlı başka satırlar olabilir. Noktalı virgül (;) ile başlamayan satırlar yorum değil Nyquist kodu olarak kabul edilir ve işlenir.

Audacity Nyquist ile yazılabilecek üç farklı tipte eklentiyi destekler:

  ;type generate
  ;type process
  ;type analyze

Bunlar eklentileri içeren üç farklı menüye karşılık gelir: Oluştur, Etkiler ve Çözümle. Oluştur eklentileri sıfırdan yeni sesler oluşturur, Etki eklentileri varolan sesleri değiştirerek ("işler") ve Çözümleme eklentileri sesleri işler ancak değiştirmez (yalnız etiketler eklemeye izin verilir).

Etki ve Çözümleme eklentileri için, Audacity Nyquist ortamını yapılandırır. Böylece kullanıcının seçtiği ses s değişkeni içine alınır. Eklenti dosyası içindeki tüm ifadeler sırayla işlenir ve son ifadenin döndürdüğü değer Audacity içindeki seçim ile değiştirilir. Son ifade bir ses döndürmüyorsa, Audacity bir hata iletisi gösterir.

Parametre Pencereleri

Audacity, parametreleri almak için kullanıcıya bir pencere gösteren eklentileri sınırlı şekilde desteklemektedir. Pencere gösteren eklentilere bir örnek şu şekildedir:

  ;nyquist plug-in
  ;version 1
  ;type process
  ;name "Delay..."
  ;action "Performing Delay Effect..."
  ;info "Demo effect for Nyquist by Roger Dannenberg.\nThis effect 
     creates a fixed number of echos."  ; (should be all on one line)
  ;control decay "Decay amount" int "dB" 6 0 24
  ;control delay "Delay time" real "seconds" 0.5 0.0 5.0
  ;control count "Number of echos" int "times" 5 1 30

  (defun delays (s decay delay count)
    (if (= count 0) (cue s)
	   (sim (cue s)
        (loud decay (at delay (delays s decay delay (- count 1)))))))
  (stretch-abs 1 (delays s (- 0 decay) delay count))

Audacity en az bir "denetim" satırı bulursa, eklenti için belirli parametrelerin yazılabileceği bir pencere açar. Her parametre bir metin kutusu ya da kayan düğme ile ayarlanır. Kullanıcı her birini seçtikten sonra, son değer "Denetim" satırında belirttiğiniz adlı bir Nyquist değişkeninde saklanır. Audacity Linux için Gecikme etkisinin gösterileceği pencere şu şekildedir:

Nyquist eklentisi ekran görünümü

Pencerenin en üstünde "bilgi" satırının gösterildiğine dikkat edin. "\n" yeni bir satır anlamına gelir. "Denetim" satırındaki parametreler, parametrenin görünüm ve sınırını etkiler. Her "denetim" satırı sırasıyla şu şekil bileşeni içermelidir:

  1. "Denetim" kelimesi
  2. Denetimin adı - kullanıcı penceredeki değeri değiştirdiğinde Nyquist değişkeninin ayarlanacağı değerin adı.
  3. Denetimin solundaki etiket
  4. Değer tipi: int (tamsayı) ya da real.
  5. Değerin sağındaki etiket (genellikle "Hz" ya da "dB" gibi birimler).
  6. Parametrenin varsayılan/başlangıç değeri
  7. Parametrenin en küçük değeri
  8. Parametrenin en büyük değeri

Etiket Döndürme

Bir Nyquist eklentisi, sonuç olarak, ses yerine bir etiket listesi döndürebilir. Bir etiket listesi basit bir zaman-etiket çiftidir. Örneğin:

  ((0.0 "start") (30.0 "middle") (60.0 "end"))

Bir eklenti tam olarak bu şekilde bir liste döndürdüğünde, Audacity yeni bir etiket izi oluşturur ve etiketleri bu konumlara ekler. Bu tip eklentiler genellike "çözümleme" tipindedir.

Yeni! Audacity 1.3.1 sürümünden itibaren, aşağıdaki gibi hem başlangıç hem bitiş zamanları döndürebilirsiniz:

  ((0.0 25.0 "start") (30.0 45.0 "middle") (60.0 75.0 "end"))

Audacity 1.3 sürümünde etiketlerin örtüşmesine izin verildiğini unutmayın; yani birinin bitiş zamanı diğerinin başlangıç zamanından sonra olabilir.

Çift Kanallı İzlerin İşlenmesi

Nyquist, çift kanallı izleri bir ses dizisi olarak (liste olarak değil) ifade eder. Pek çok Nyquist işlevi, bu diziler ile çalışır, ancak her işlev için bu geçerli değildir. Bu nedenle bazen çift kanallı bir diziyi tek tek parçalara ayırmak gerekebilir. Bu aşamada kullanılabilecek bazı işlevler şunlardır:

(arrayp s)s bir dizi ise doğru değer döndürür
(aref s 0)dizinin ilk elemanı s - sol kanal
(aref s 1)dizinin ikinci elemeanı s - sağ kanal
(setf s (make-array 2))s 2 kat uzunluğunda yeni bir dizi yapılır
(setf (aref s 0) left)left dizinin ilk elemanı yapılır s
(setf (aref s 1) right)right dizinin ikinci elemanı yapılır s

Nyquist eklentinizin girişi çift, çıkışı tek kanallı ise, Audacity, kolaylık sağlamak için, sonucu kendiliğinden sağ ve sol kanallara kopyalar.

Bundan Sonra Ne Yapabilirsiniz?

Audacity, başlangıç noktası olarak kullanabileceğiniz ve üzerinde çalışıp, değişiklik yapabileceğiniz bazı örnek eklentilerle birlikte gelir. Hataları ayıklamakta sorun yaşarsanız, tam Nyquist sürümüyle çalışmayı düşünün (1. bölümdeki bağlantıya bakın).

Nyquist yazılımını çalıştırmakta sorun yaşarsanız, lütfen bize iletin.

Nyquist eklentileri üzerine çalışıyor ve bunları başkaları ile paylaşmayı düşünüyor ya da Nyquist ile bazı etkilerin nasıl oluşturulacağı hakkında fikir alışverişi yapmak istiyorsanız, Audacity Forumundaki Nyquist panosuna ileti gönderebilir ya da audacity-nyquist e-posta listesine katılabilirsiniz.

Lisp ve Nyquist hakkında ayrıntılı bilgi için Nyquist 2.37 Referans Kitabına bakmayı unutmayın.