Adding an analysis tool to Audacity

Hi,

Hope I have picked the correct sub-forum to ask this question. I have a web-launchable labelling program I wrote in java/javafx which I have been using for a while (I have also been a Audacity user.). It is now essentially orphaned. Now I would like to rewrite it into a stand-alone program like Audacity, but would like to avoid having to do the deep stack of audio GUI. So I am wondering whether it is possible to write it as a plugin to Audacity. I see there is something of a standard plugin interface called VAMP for label-type output.

So I am looking for some pointers from someone knowledgeable about Audacity to see whether the idea is worth exploring further.

What sort of “labelling” do you mean?
Do you mean like Audacity’s labels? (See: https://manual.audacityteam.org/man/label_tracks.html)

Yes.

That gets me thinking along an orthogonal direction. The labels are there, and there is also multiview. So now the questions become

  1. Can you have more than just the waveform and a spectrogram in multiview?
  2. Can you import other 2D time-frequency streams into Audacity?
  3. Can you programmatically import waveforms + 2D TF streams + labels into Audacity?
  4. I have a OGG-based multistream codec that multiplexes any number of time-aligned (I think Audacity’s term is sync-locked) continuous streams or label streams. Can I plug this multistream codec into Audacity?

Audacity currently only supports spectrogram + waveform / waveform (dB) in multi-view: https://manual.audacityteam.org/man/multi_view.html

You can import text data: https://manual.audacityteam.org/man/sample_data_import.html
You can import RAW PCM data: https://manual.audacityteam.org/man/file_menu_import.html#raw_data

Most of Audacity’s functionality can be accessed through “named pipes”. See: https://manual.audacityteam.org/man/scripting.html

There is no facility to “plug in” codecs into Audacity.
Audacity supports import / export for many (but not all) multi-channel audio formats.
See also: https://manual.audacityteam.org/man/faq_opening_and_saving_files.html#foreign
and: https://manual.audacityteam.org/man/advanced_mixing_options.html


VAMP plug-ins are third party. See: https://www.vamp-plugins.org/

Labels can be created easily with Audacity’s built-in scripting library “Nyquist”.
See: https://manual.audacityteam.org/man/nyquist.html
and: https://wiki.audacityteam.org/wiki/Nyquist_Plug-ins_Reference#Labels

Thanks for the complete answers. Will be looking into all of them.