[Ann] TX Modular System - new release 089 including a visual modular app

Hi all, just wanted to announce a new release of the TX Modular System, which is open source audio-visual software for modular synthesis and video generation, built with SuperCollider and openFrameworks (https://openFrameworks.cc).

This release includes various new modules, bug fixes and other small changes (such as Channels can now have their meters turned on or off individually), but the biggest addition is a new visual modular app:

TXV (which was built with openFrameworks) is a separate application which is controlled by and linked to the TX Modular system. It has it’s own modules for generating 2D and 3D visuals, importing images, movies, 3D models and text, adding modulation and various real-time FX - such as image blur, colour manipulation and masking. TXV modules can be edited, automated or modulated from within the TX Modular.

There are 6 new example files in the TX download, each with their own help file, that explain how to use TXV with TX Modular.

Release notes & download links: http://palemoonrising.co.uk

Platform notes:
This version has been tested on MacOS (0.10.11) and Windows (10). The audio engine should also work on Linux.
The visual engine, TXV, has only been built so far for MacOS and Windows - it is untested on Linux.
The current TXV MacOS build will only work with Mojave (10.14) or earlier (10.11, 10.12 & 10.13) - but not Catalina (10.15).

This software is still quite experimental and there may well still be bugs! TXV has only very recently been compiled for Windows (I mostly use Mac), and I’ve noticed that sometimes, TX Modular on Windows can be slow at starting up and occasionally crashes when opening large files. So please treat this as a work in progress.

Big thanks to all the developers.
Best,
Paul

3 Likes

Hi all,

I’ve made two short videos to help users get started with TXV, the visual engine in TX Modular (http://palemoonrising.co.uk):

Best,
Paul

Part 1 (10 min) https://youtu.be/Agwv9ejJDT0

Part 2 (13 min) https://youtu.be/bP4JZMR7xv0

1 Like

Whooooaaaaaa… Somehow I totally missed the announcement of TXV :flushed:

I’m wondering – how tightly integrated into TXModular is TXV? Any chance of a clever SC user driving it by regular code?

I mean, acknowledging that it’s a work in progress, and I would fully understand if you wanted to keep it bundled with the modular system. But an SC-accessible graphics engine would be a massive contribution to the SC ecosystem. I’d be willing to help.

This is really impressive –

hjh

Hi and thanks James!

There is pretty tight integration between TXModular and TXV in the sense that
TXV is just a server waiting for OSC messages, but all the logic of which data and messages to send, and how to respond to replies, is inside the TXV System module of TX Modular.

So in theory, you could control TXV directly from SC by sending the right OSC messages, but you would have to take care of all the book-keeping and logic that the TXV System module currently does.

Best,
Paul

Great – it’s really cool.

Before going further, I want to say that you’ve obviously put a ton of work into this – I’ve been looking at Open Frameworks lately and it isn’t exactly a picnic :laughing: so if you wanted to keep its usage within TXModular, I’d understand.

With that said… In my interactive multimedia class, I’ve had students ask why I’m not just making my life easier preparing the class by using SC (instead of taking the last year to learn Pure Data well). One of those reasons is that the kids are generally code-resistant and I think it would not go well if they struggle with one language (SC) for a term and then the next term starts with “ok, now you need to learn Processing syntax.” I chose Pd for that class because it can do graphics in more or less the same paradigm in which it does audio.

That SC has no graphics engine is a significant limitation in some contexts.

TXV is a massive game-changer… it’s no longer true that “SC can’t do graphics.” That’s a huge development!! And IMO it would be a bit of a missed opportunity not to expand its reach.

I think it would be fantastic if the community can pull together and write a TXV quark to run your server using SC code… with your blessing of course, and it wouldn’t be your responsibility to make it (TX is enough for one person to maintain!).

(I’m not proposing to bundle TXV with SC, just to make it approachable in code. TXV would still be yours.)

What do you think?

hjh

Has anyone had a look at the SCintellator project?

I didn’t know about it at all. It seems to be an active project, though the only mention I can find on this forum is from dev meeting minutes about 9 months ago.

I’ve been muddling about with Ofelia (Open Frameworks bindings for Pure Data by way of Lua scripts), so TXV is likely to appear more familiar to me. I know nothing about the Vulkan library.

hjh

Not sure if I should hijack this thread with suggestions for alternatives, but INScore provides a graphics canvas that listens to OSC messages and can (amongst other things) display (and animate) scores and other graphical elements. See: GitHub - grame-cncm/inscore: INScore - augmented interactive music scores

Sure, I’m happy for you to make a Quark for it and apologise in advance for my coding style, which is “organic” and not well organised. Let me know if anything needs clarification.

I’m glad if it’s useful.
Best,
Paul

Great, thanks! I don’t know when I would personally have bandwidth for it, but it’s good to know that it’s possible.

Fantastic work here –
hjh

Hi Paul, sorry if the question seems stiff. Is there a sort of HOLD on Granulator that allows you to keep the note active or do I have to lengthen the release times? It’s an impressive piece of work.

thank you so much

Yes, to get longer notes you could lengthen the Decay time or you could set the Env Type to Fixed Length and then increase the Sustain time.

If you need a way to gate a polyphonic synth and keep it gated, add a “PolyNote Trigger” module, which is a Source module found in the category “Control: Note Tools”.
Then set the PolyNote Trigger to trigger the Granulator and you can then use the Gate switch to turn notes on and off.
Best,
Paul