एन.वाय.क्विस्ट मॅक्रोज

ऑड्यासिटी विकास माहितीपुस्तिकेवरून
येथे जा: निर्देशक, शोध
एन.वाय.क्विस्ट ही लिस्प सारखी भाषा आहे जी ऑड्यासिटीमध्ये एकत्रित केली आहे. हे मूलतः ध्वनीवर प्रक्रिया करण्यासाठी लिहिले होते.
  • एन.वाय.क्विस्टमध्ये आता ऑड्यासिटी नियंत्रित करण्याची क्षमता देखील आहे, जसे मॅक्रोज कसे कार्य करते, परंतु अधिक लवचिकतेसह.

मॅक्रोची तुलना एन.वाय.क्विस्ट मॅक्रोशी आहे

सामान्य मॅक्रो एक निश्चित क्रमाने आदेशांचा निश्चित क्रम चालवतात .

याउलट, एन.वाय.क्विस्ट भाषा ही एलआयएसपी कुटुंबातील पूर्ण भाषा आहे. ते वापरण्यास अधिक शक्तिशाली आणि अधिक जटिल बनवते.

  • एन.वाय.क्विस्ट ला लॉजिक, लूप आणि कंडिशनली एक्झिक्यूटिंग कोडसाठी आज्ञा आहेत.
  • एन.वाय.क्विस्ट स्ट्रीम आणि स्ट्रिंग फॉरमॅटिंग कार्येचे समर्थन करते.
  • एन.वाय.क्विस्ट माहिती स्ट्रक्चर्सचे समर्थन करते आणि सूची हाताळण्यात विशेषतः मजबूत आहे.
  • एन.वाय.क्विस्ट, ऑड्यासिटीमध्ये, मापदंडसाठी प्रॉम्प्ट करू शकते आणि नंतर ते मापदंड त्याच्या कोडमध्ये वापरू शकतात.

साधक आणि बाधक:

एन.वाय.क्विस्ट-मॅक्रो चे सामान्य मॅक्रोपेक्षा बरेच फायदे आहेत, तर सामान्य मॅक्रोचे देखील काही फायदे आहेत:

  • मॅक्रो तयार करण्यासाठी एक ग्राफिकल इंटरफेस आहे , तर एन.वाय.क्विस्ट-मॅक्रो एन.वाय.क्विस्ट प्लग-इन म्हणून लिहिलेले आहेत .
  • मॅक्रोमध्ये कोणतेही अंगभूत किंवा प्लग-इन प्रभाव समाविष्ट असू शकतात, परंतु एन.वाय.क्विस्ट-मॅक्रो एन.वाय.क्विस्ट प्रभाव वापरू शकत नाहीत.
  • मॅक्रोमध्ये इतर मॅक्रो आणि एन.वाय.क्विस्ट-मॅक्रो समाविष्ट असू शकतात, परंतु एन.वाय.क्विस्ट-मॅक्रो इतर एन.वाय.क्विस्ट-मॅक्रो कॉल करू शकत नाहीत.

एन.वाय.क्विस्ट स्वतंत्रपणे ऑड्यासिटी वापरला जाऊ शकतो. ऑड्यासिटी मधून वापरल्यास, त्याला एक अतिरिक्त आज्ञा मिळते, एयूडी-डीओ.

एयूडी-डीओ

एयूडी-डीओ हे एक फंक्शन आहे जे एन.वाय.क्विस्ट च्या क्षमता वाढवते.

एयूडी-डीओ एन.वाय.क्विस्ट मधून सर्व ऑड्यासिटी मॅक्रो स्क्रिप्टिंग आज्ञा वापरणे शक्य करते. स्क्रिप्टिंग आज्ञा्स आणि त्यांच्या पॅरामीटर्सची संपूर्ण यादी स्क्रिप्टिंग संदर्भ पृष्ठावर प्रदान केली आहे. स्क्रिप्टिंग आदेश एयूडी-डीओ ला स्ट्रिंग्स म्हणून पाठवले जातात.

ऑड्यासिटी पायथन स्क्रिप्टिंगसाठी एक समान दृष्टीकोन वापरला जातो . आज्ञा स्ट्रिंग्सच्या रूपात तयार केल्या पाहिजेत आणि प्रक्रियेसाठी फंक्शनमध्ये पास केल्या पाहिजेत. पायथन स्क्रिप्टिंगवर एन.वाय.क्विस्ट-मॅक्रो चा एक फायदा असा आहे की एन.वाय.क्विस्ट आधीच ऑड्यासिटीमध्ये अंतर्भूत आहे.

एयूडी-डीओ वापरणे

एन.वाय.क्विस्ट-मॅक्रो हे सहसा "टाइप साधन" असेल.

;टाइप साधन

एन.वाय.क्विस्ट स्क्रिप्टमधील खालील आज्ञा प्रकल्पामधील पहिले लेबल 'foo' वर सेट करेल

(AUD-DO "SetLabel: Text=\\"Foo\\"")

एयूडी-डीओ नंतरची मजकूर स्ट्रिंग स्क्रिप्टिंग इंजिनला प्रक्रिया करण्यासाठी पास केली जाते.

एयूडी-डीओ वापरून एन.वाय.क्विस्ट स्क्रिप्टचे संपूर्ण उदाहरण जे तुम्ही साधन्स एन.वाय.क्विस्ट प्रॉम्प्टवर प्रविष्ट करू शकता ते खाली दिले आहे:

;nyquist प्लग-इन
;आवृत्ती ४
;टाइप साधन
;नाव "Test Me"
;डीबगबटण खोटे
;क्रिया "TestMe लागू करत आहे..."
;लेखक "निमो नेमसिस"
;रिलीज 2.3.0
;कॉपीराइट "सार्वजनिक डोमेन"

;; निमो नेमेसिस, ऑगस्ट 2018 द्वारे test-me.ny

;; Nyquist प्लग-इन लिहिण्याबद्दल आणि सुधारित करण्याबद्दल माहितीसाठी:
;; https://wiki.audacityteam.org/wiki/Nyquist_Plug-ins_Reference

(AUD-DO "SelectTime: Start=60 End=170")
(AUD-DO "SelectTracks: Track=1 TrackCount=2") 

वापरण्यासाठी योग्य स्ट्रिंग्स शोधण्याचा सर्वात सोपा मार्ग म्हणजे मॅक्रोमध्ये आज्ञा जोडण्यासाठी मॅक्रो आज्ञा वापरणे आणि जोडलेल्या स्ट्रिंग्सचे परीक्षण करणे.

Bulb icon एयूडी-डीओ द्वारे उपलब्ध असलेल्या आदेशांची संपूर्ण यादी स्क्रिप्टिंग संदर्भामध्ये दिली आहे

एन.वाय.क्विस्ट मध्ये स्क्रिप्टिंग करण्यासाठीचे फरक

एन.वाय.क्विस्ट मधील ';type' सेटिंग एन.वाय.क्विस्ट कडे त्या एन.वाय.क्विस्ट स्क्रिप्टसाठी कोणत्या क्षमता असतील ते सेट करते. उदाहरणार्थ, ;type process आणि ;type analyze स्क्रिप्टना *TRACK* व्हेरिएबल दिले आहे. प्रक्रिया स्क्रिप्ट, लागू केल्यावर, प्रत्येक चॅनेलवर प्रक्रिया करण्यासाठी एकदा, वारंवार कॉल केले जातील.

';type' सेटिंगचा आणखी एक वापर म्हणजे ऑड्यासिटी मधील कोणत्या यादीमध्ये स्क्रिप्ट ठेवली जाईल हे सेट करणे. ते कधीकधी साधन्स यादीमध्ये प्रक्रिया, जनरेटर किंवा Nyquist स्क्रिप्टचे विश्लेषण करण्यासाठी उपयुक्त ठरू शकते , जरी त्याची कार्यक्षमता यापैकी एक असली तरीही इतर प्रकार. ते करण्यासाठी तुम्ही ';type' सेटिंगमध्ये दोन वितर्क वापरू शकता.

तुम्ही खालीलपैकी कोणतेही वापरून साधन्स यादीसाठी Nyquist प्लग-इन तयार करू शकता:

;प्रकार साधन
;प्रकार साधन प्रक्रिया
;टाइप साधन जनरेटर
;प्रकार साधन विश्लेषण

'टाइप' करण्यासाठीचा पहिला युक्तिवाद प्लग-इन कोणत्या ऑड्यासिटी यादीमध्ये संपेल हे निर्धारित करतो. सर्व चार उदाहरणे साधन्स यादीसाठी आहेत. पात्रता प्रक्रिया / जनरेटर / विश्लेषण हे प्लग-इन प्रत्यक्षात कसे वागते हे निर्धारित करते. ';type साधन' हे सहसा AUD-DO सह वापरले जावे.

उदाहरणे

पॅरामीटर्स वापरण्याचे उदाहरण

AUD-DO वापरणाऱ्या स्क्रिप्ट्स पॅरामीटर्स वापरू शकतात. कदाचित त्यांना AUD-DO मध्ये पास करण्याचा सर्वात सोपा मार्ग म्हणजे XLISP फॉरमॅट आज्ञा वापरणे.

;nyquist प्लग-इन
;आवृत्ती ४
;प्रकार साधन
;नाव "Test Me2"
;लेखक "एक व्यक्ती"
;रिलीज 2.3.3
;कॉपीराइट "सार्वजनिक डोमेन"

;प्रारंभ नियंत्रण करा "प्रारंभ वेळ" फ्लोट-टेक्स्ट "" 5 0 शून्य
;नियंत्रण एंड "एंड टाइम" फ्लोट-टेक्स्ट "" 15 0 शून्य

(AUD-DO (फॉरमॅट शून्य "SelectTime: Start=~S End=~S" start end))
(setf प्रत्युत्तर (AUD-DO (फॉरमॅट शून्य "संदेश: मजकूर =\\"प्रारंभ ~S समाप्ती ~S\\"" प्रारंभ समाप्ती वर सेट केला होता)))

;; "उत्तर" ही फॉर्ममधील यादी आहे ("उद्धृत संदेश" . टी)
(प्रथम उत्तर) ;संदेश परत करतो


क्लिक रिमूव्हल उदाहरण

स्क्रिप्टिंग पृष्ठावर, उदाहरणार्थ, क्लिक रिमूव्हल आज्ञाचे मापदंड दस्तऐवजीकरण केलेले आहेत:

आयएनटी थ्रेशोल्ड, (पूर्वनियोजित:200)
आयएनटी रुंदी, (पूर्वनियोजित:20)

एन.वाय.क्विस्ट मध्‍ये तीच आज्ञा वापरण्‍यासाठी, तुम्‍हाला एयूडी-डीओ ला स्ट्रिंग पास करण्‍याची आवश्‍यकता आहे. उदाहरणार्थ:

(एयूडी-डीओ "क्लिक रिमूव्हलः थ्रेशोल्ड=200 रुंदी=25")

पुर्वनिर्धारित मूल्य निर्दिष्ट करण्याची आवश्यकता नाही, म्हणून समान आदेशाची छोटी आवृत्ती अशी असेल:

(एयूडी-डीओ "क्लिकरिमुव्हल : रुंदी =25")

माहिती मिळवा उदाहरण

एयूडी-डीओ "गेटइंफो" स्क्रिप्टिंग आज्ञा स्ट्रिंग म्हणून परिणाम प्रदान करतात आणि तीन भिन्न परिणाम स्वरूप ऑफर करतात.

Bulb icon एलआयएसपी स्वरूपात स्ट्रिंग म्हणून माहिती मिळवा आज्ञेचा निकाल विचारणे, एन.वाय.क्विस्टमध्ये सहसा सोपे असते.

'माहिती मिळवा'चे मापदंड आहेतः

एनम प्रकार, (पुर्वनिर्धारित:0)

  • आज्ञा
  • यादी
  • प्राधान्ये
  • गीतपट्टा
  • क्लिप्स
  • लिफाफे
  • नावपट्ट्या
  • चौकटी

एनम स्वरूप, (पुर्वनिर्धारित:0)

  • JSON
  • LISP
  • संक्षिप्त

लेबल्सची सूची (स्ट्रिंग म्हणून) मिळवण्यासाठी तुम्ही खालीलप्रमाणे आज्ञा वापराल.

(AUD-DO "GetInfo: Type=Labels Format=LISP")


एयूडी-माहीती-मिळवा

हे फंक्शन, "एयूडी-" उपसर्ग असलेल्या इतर फंक्शन्सप्रमाणेच, ऑड्यासिटीमधील Nyquist साठी अद्वितीय आहे. हे AUD-DO "GetInfo" आज्ञा सारखेच आहे, परंतु ते स्ट्रिंग ऐवजी लीस्प सूची देते त्यामध्ये वेगळे आहे.

मांडणी:

  (एयूडी-माहीती-मिळवा स्ट्रिंग)

वैध स्ट्रिंग मापदंड आहेत (केस असंवेदनशील):

  • "आज्ञा"
  • "यादी"
  • "प्राधान्ये"
  • "गीतपट्टा"
  • "क्लिप्स"
  • "लिफाफे"
  • "नावपट्ट्या"
  • "चौकटी"

उदाहरण:

  (एयूडी-माहीती-मिळवा "गीतपट्टा")

प्रकल्पामध्ये दोन मोनो ध्वनि गीतपट्टाअसल्यास, परतावा मूल्य यासारखे असेल:

  (((नाव "ध्वनि ट्रॅक") (फोकस केलेले 1) (निवडलेले 1) (प्रकार "वेव्ह") (स्टार्ट 0) (एंड 30) (पॅन 0) (गेन 1) (चॅनेल 1) (सोलो 0) (म्यूट 0) (VZOOMMIN -1) (VZOOMMAX 1))
   ((नाव "ध्वनि ट्रॅक") (फोकस केलेले 0) (निवडलेले 0) (प्रकार "वेव्ह") (स्टार्ट 0) (एंड 30) (पॅन 0) (गेन 1) (चॅनेल 1) (सोलो 0) (म्यूट 0) (VZOOMMIN -1) (VZOOMMAX 1)))

'nth' यादी आयटम पाहून विशिष्ट ट्रॅकबद्दल माहिती काढता येते. उदाहरणार्थ, पहिल्या ट्रॅकबद्दल माहिती:

  (nth 0 (एयूडी-माहीती-मिळवा "गीतपट्टा"))

किंवा

  (प्रथम (एयूडी-माहीती-मिळवा "गीतपट्टा"))

परत केलेला माहिती वैध यादी असल्यामुळे, आम्ही मानक Lisp फंक्शन्ससह माहिती सहजपणे हाताळू शकतो. उदाहरणार्थ, सर्व गीतपट्ट्याची नावे मुद्रित करण्यासाठी:

  (चालू करूया ((ट्रॅक्स (एयूडी-माहीती-मिळवा "गीतपट्टा")))
    (डोटाईम (j (लांबीचे गीतपट्टे))
      (setf गीतपट्टा (nth j गीतपट्टा))
      (प्रिंट (दुसरा  (assoc 'नाव गीतपट्टा)))))


Bulb icon एन.वाय.क्विस्ट आणि एन.वाय.क्विस्ट-मॅक्रो आदेशांबद्दल अधिक माहितीसाठी, कृपया ऑड्यासिटी विकीवरील दस्तऐवजीकरण पहा.