Talk:Nyquist Audio Programming

From Audacity Wiki
Revision as of 07:20, 11 April 2008 by Galeandrews (talk | contribs) (adding in discussion from short-lived Nyquist page, and adding my comments)
Jump to: navigation, search

What pages do we need about Nyquist?

  • Gale I think this is a confusing change and I would very much rather revert it. The page is in the plug-ins category and it's very largely about plug-ins. The intro. might perhaps have misled you by explaining too much what Nyquist is (perhaps I can tweak it?). We do have more general pages for Wiki Nyquist: Nyquist Audio Programming (I'll try to duplicate the Nyquist Course announcement there) and Nyquist Basics: The Audacity Nyquist Prompt, which are in Category:Digital Audio Technology. What did you have in mind about the move facilitating external links?
  • James I've been working behind the scenes to get more Lisp writers visiting Audacity and to generally pool knowledge about embedded Lisp. We need a Nyquist Lisp page that Lisp projects like Combo can do reciprocal links to us with. I also added quite a few links on the end of this page, after the move, and brought Nyquist links together, but then got bounced by the http-link bug :-( . I agree that the ideal is to have both a Nyquist page and a Nyquist plug-ins page, so this page should split, but it's a mess trying to do that with the current bug.
  • Gale: The link saving bug should have gone, but only for now, if you see what I mean. When the Nyquist plug-ins page was written, it was the only Nyquist page, which is why it was more general, then Edgar added the two Nyquist pages above. I'd made some linking changes anyway after you raised this, which should now go live. Can we agree then to revert the Nyquist page to Nyquist Plug-ins and focus the Plug-ins page on plug-ins, and move anything else out of it? Unless someone can add some meat to the Plug-ins page, it might possibly be integrated into Download Nyquist Plug-ins? Then the only other question is do you think we need a Nyquist Lisp page to add your links to *as well as* Nyquist Audio Programming? My idea (Edgar having created it) was to keep that as a focus page which has links to specific aspects of Nyquist such as Plug-ins and the Prompt. Generally, I like to keep moves and redirects to an absolute minimum anyway. Thanks, James.
  • James: Maybe we need a category Nyquist?? Edgar's page is wrong for a landing page for Lisp programmers. Lisp programmers tend to be very mathematical types for whom the 'very advanced topics' of that page look elementary. These are likely to be people who write 10,000 line Lisp programs for fun. I'm not sure we've had a Nyquist plug in with more than 100 lines. Nyquist Lisp could be a good page title. If you want to move the content here back to Nyquist-plug-ins and start a Nyquist Lisp page I guess that's OK.
  • Edgar: I only wanted to say: even if there was not much new writing on the Nyquist Programming pages (and the topics there are in deed still quite basic) I read the Wiki changes every day and will continue to extend the Nyquist Programming pages as soon as I have time to (usually during the summer months I have *lots* of time).
  • James wrote: Lisp programmers tend to be very mathematical types for whom the 'very advanced topics' of that page look elementary.
  • Edgar: I'm not at all a good math programmer and Nyquist was designed just for the reason to save people from fighting with DSP and FFT math. I agree that even the 'very advanced topics' on the Nyquist Programming (suggestion) page are in fact more or less still 'basic' topics for everyone who really seriously works with audio in general (with or without computers doesn't matter in this case) but my experience on the Audacity Nyquist list seems to proove the opposite. Most people there (beside some rare exceptions) seem to be interested in kiddy-toy effects and have very little knowledge even about topics like 'how to change the volume with Nyquist'. Suggestions for more serious (really advanced) topics welcome, just add it to the page.
  • James wrote: Nyquist Lisp could be a good page title.
  • Edgar: I consider Nyquist Lisp as NOT a good title in so far as Nyquist 3.0 has moved away from Lisp to SAL, a Python-like notation (the same notation like it is used in Rick Taube's 'Common Music'). We are just exploring wether this could be integrated into Audacity too, but this will probably take another year because first there has to be sure wether this works right with the Roger Dannenberg Nyquist 3.01 version. For the same reason I'm not sure right now how much sense it makes to write extensive Lisp documentation.
  • Edgar summary: I will have no problems if the Nyquist pages will be re-organized again. Feel free to change my pages in any way you want. I'm afraid there will be another month with very low writing but I definetly will continue.
  • Gale: I've moved Nyquist back to Nyquist Plug-ins, made it more specific to plug-ins and put it and other Nyquist pages in Category:Nyquist. I honestly think this is best given we have VST and LADSPA plug-in pages, and given the content (however named) is in any case too primitive for the LISP mathematicians. I have not created Nyquist LISP as I think Edgar's doubts are valid - but we need to know more of James' reasoning for wanting to attract LISP programmers and how we best do it. I'm still of the view Nyquist Audio Programming should be our main Nyquist page, and contain links to other Nyquist topics. It could be renamed Nyquist (LISP), but does that help anything?

Nyquist notation: LISP or SAL?

Edgar: The link confusion was on these pages page was probaly started by me myself. There had been in the beginning a few more links on the "Nyquist Prompt" page, which then seemed to me as too many, so I started to reduce them to a reasonable number by probably deleting the wrong parts so everything was messed up in the end. Sorry for the confusion.

What is really important to know: In Nyquist 3.0 the language notation in Nyquist has changed from Lisp, like used in Audacity, to SAL, like used in "Common Music" by Rick Taube. Also the Nyquist manual on the CMU homepage the notation of all example code has changed to SAL, so it cannot be used for Audacity any longer, at least as SAL is not integrated with Nyquist in Audacity (what probably still will need another year if not longer).

So there are TWO DIFFERENT links:  - the Link to the Nyquist homepage. I think this should be left as-is because Nyquist users should be given the information, that beside Nyquist in Audacity, there also exists a Nyquist stand-alone version.  - the link to the Nyquist 3.0 manual with the incompatible SAL notation.
This link should be changed to  at least until the SAL question is clearified.

Then I will make some appropriate change to the Audacity SF Nyquist page . As for this Wiki page, I still think it is a mistake to link to the Nyquist homepage without explanation, and I still think people could go there and get the v3 Manual without realising the problem. I think your first paragraph on this page should explain the difference between the Nyquist 2.36 that Audacity can use and the current v3, but that there is nothing to stop someone using the current v3 in its own environment. I would not fully understand this from your page if I did not know it already.

Colours for programming code

Edgar: I'm sorry but I can't read neither the pink nor the orange text of the below

(if (arrayp s)         ; IF s is an array [= stereo]

The problem is, that there probably will be no other solution but plain white or plain black if you want to use colored text. The reason is that CRT and LCD/TFT monitors have different gamma values ('middle' grey on CRT is darker than on LCD/TFT) and the reason why I use blue comments (which, I agree, can be easily confused with hyperlinks) is that beside dark red and dark blue there is no other color that can be read with light grey background on CRT as well as LCD/TFT by all people without problems. In other words: I do not even like my own color choice (blue comments) but I don't know any other solution. Sorry, but I have no better ideas on store...

I am really not keen on a single mix of (1) black with (2) either blue or red. Maybe if it is multi-coloured code (green, red, blue, orange and black or similar) where it is obvious the blue and red cannot be links, it is OK. Also the grey background in code template does not have to be so dark - it could even be white or nearly so. Are these dark violet and dark brown colours any better:?

(if (arrayp s)         ; IF s is an array [= stereo]
    (stereo-function)  ; THEN use the stereo function
  (mono-function))     ; ELSE use the mono function

Otherwise I think you must stay with black and change the comments to italic:

(if (arrayp s)          ; IF s is an array [= stereo]
    (stereo-function)  ; THEN use the stereo function