Feature request for Nyquist interface for schools


I am very pleased to see a dedicated Audacity forum for Education.

We (CDP) are supporting and promoting initiatives to teach sound and music computing in schools (cross-curricular, extending to maths and physics too). We have been commissioned by one of the main UK examining boards to create some resources for the GCSE (14-16yr) and A Level (16-18) stages.

As all UK schools have Audacity, and it is well known in both music and computing classes, the Nyquist Prompt facility is a clear attraction. However, it lacks one or two essential features for practical use in schools.

Firstly: the ability to save code with a project (so that it is available in the Nyquist Prompt window when the project is opened), and to import code from a text file. This is essential both to streamline the setting up at the start of a lesson, and to enable students to easily retain work in progress between lessons.

Secondly: it follows also that a slightly more fully-featured text editor would also be advantageous - at least, the option to show line numbers.

Thirdly: a “silent” failure of a script is not helpful at school level, so that in practice the “debug” option has to be used all the time. It would be good to make debug output standard (ideally to a second text editor pane).

I know these are large changes, but they would establish Audacity as a premier teaching tool for computer science as well as for music, greatly facilitating cross-curricular work, which is most of the time a considerable challenge for schools.

Richard Dobson

Thanks for that feedback Richard.

Is it really true that “all UK schools have Audacity”? That is amazing if so.

Not many of the Audacity Team read the Forum, particularly the developers - it’s mainly a few of us QA folk that act as the Forum-elves, but I have copied a link to this post for the Team to see. I’m hoping that in particular Steve will see this post as he is a big Nyquist user - and possibly Roger (the originator of Nyquist).


Nyquist Workbench fulfils all of those requirements I believe except for line numbers.

Currently Workbench must be compiled from source code (as must Audacity unless you happen to compile Workbench the same day as an Audacity release). There are quite a few bugs in Workbench that must be ironed out before it is considered fully releasable.

I think the consensus has been to work towards making the Workbench available generally rather than duplicate that work in the Nyquist Prompt.


I don’t see a huge advantage to “importing” into the Nyquist Prompt effect, as text can easily be “pasted” into the effect.
I would highly recommend using a text editor that has syntax highlighting for LISP and parentheses matching. For Windows there is Notepad++. For Linux, there are a few options - I use “SciTE”.

Both Notepad++ and SciTE have line numbering.

For “using” the Nyquist Prompt effect, one would normally want to use the “OK” button. When repeating an effect several times it can become quite irritating to have to dismiss the debug window, so, as with all other Nyquist effects, the “OK” button is a sensible default.

For “developing” Nyquist Scripts, yes the Debug button would be a preferred default, but I’m not sure that can be done without also changing the default for all other Nyquist effects (and we would not want to do that). It really should not require a lot of effort for students to get into the habit of using the debug button.

I think that you do have a case for providing a preference setting to make the debug button the default, but personally I don’t think that it is a very strong case given that (a) all the user needs to do is to click “Debug” rather than “OK” (not exactly difficult :wink:) and (b) there is already an optional add-on for Audacity called “Nyquist Workbench”.

Nyquist Workbench
Unfortunately this is not shipped as standard and is only available as source code.
There are a few minor bugs in Nyquist Workbench, that would need to be fixed before an official release version could be made, but it is still an extremely useful tool for people that are working with Nyquist scripts. It does not have syntax highlighting or line numbers (so I would still recommend using it alongside a good text editor), but it does have all of the other features mentioned in this topic and more. There is some information about Nyquist Workbench here: Missing features - Audacity Support

I’m guessing that you may want to vote for a release version of Nyquist Workbench?

Sorry not to see these replies earlier - was expecting email updates if a message was posted.

@Peter: yes, it is pretty much ubiquitous, one of the standard applications included in most schools software “packages” as typically provided by external suppliers. It is also included in the standard distributions for the Raspberry Pi. There are many published resources and tutorial texts making explicit use of it, and (IIRC, I would have to check) it is also mentioned in some syllabus specifications. It is used in both music and computing classes, and quite possibly in physics classes from time to time, when studying waves.

In response to other comments - yes, one can cut and paste, but students are required to learn about loading and saving files, and c/p itself easily leads to errors which have the practical effect of wasting precious class time. I would regard relying totally on c/p as bad HCI practice, not a good example to set in school. It is an appropriate procedure for editing text, but not for basic storage and retrieval of one’s own work.

At the bottom of the page is a link: “Subscribe topic”.
If you click on that, you should then get an e-mail whenever there is a reply.
“Subscriptions” to topics can be managed in the “User Control Panel” (link near the top left of the page below the Audacity logo).

I’d be interested to know if that is the case (and I bet the developers would consider it a huge compliment). Could you find that out for us?

I appreciate your points, (especially about wasted class time - it’s amazing how short classes are when you have a lot to do).

The Nyquist Prompt was not really designed as a “production tool”, but rather as a convenience for experimenting with short snippets of code.

Did you have a look at the Nyquist Workbench? I think that is much closer to what you want than the (deliberately very simple) Nyquist Prompt.

As another information point, are schools mostly using Windows or is Mac and Linux more prevalent now?

Is there a move to using laptops or tablets relying entirely on wireless?