• zepadovani

    Hi,

    this is conTorchionist (or its embryonic version, I would say): https://github.com/ecrisufmg/contorchionist

    It's a project that is in its very early stages, but I thought it was worth announcing here, not so much for its current development stage, but because it might be useful to others and also as a thank you to the community and the developers who have created inspiring tools. Besides, obviously, Pure Data, SuperCollider, and Python, I'm referring to libraries like FluCoMa, timbreID, nn~, librosa, and others, which have been fundamental to the development of conTorchionist.

    Briefly, the idea is to have a nomadic and flexible library, based on libtorch, that allows for the use of the same DSP (machine listening, but also, in the future, other things related to synthesis/signal processing) and ML processes in both real-time (PD, Max, SC) and non-real-time (Python). Wrappers for other languages/environments should not be so hard to code, as everything is interfacing a shared library (and libtorch shared libraries). Another key idea is to have a widely used tool like PyTorch/libtorch/torchaudio as a foundation, which greatly facilitates development and integration with existing ML+ML experimentation workflows and processes. The structure is heavily inspired by FluCoMa, but it is probably simpler and follows a logic of core Processors and wrappers in different languages (we have been prioritizing Pure Data, but we are gradually creating things for Max, SC, and Python as well). Since we use libtorch, conTorchionist also has some other potentially interesting features, like using the GPU for calculations and DSP - CUDA (Windows/Linux) or MPS (Apple Silicon).

    We are taking it slow, so a lot is still missing (documentation, testing, etc.). That's why we haven't published a versioned release or binaries yet. We hope to do so soon after verifying the consistency of some things regarding DSP calculations in PyTorch / torchaudio (which, in turn, use librosa as a reference) and ensuring that the initial wrappers compile properly on various operating systems (we have tested mainly on Linux and macOS, so it's likely that some adjustments will be needed in the CMakeLists for Windows).

    I hope it will be useful and that we can gradually make things more organized. At the moment, it's just me and a great student (Vinícius Oliveira), plus some always quite hallucinatory and unreliable AI bots. ;)

    The paper we presented this week, on SBCM, is here: https://www.researchgate.net/publication/395473005_conTorchionist_A_flexible_nomadic_library_for_exploring_machine_listeninglearning_in_multiple_platforms_languages_and_time-contexts

    Or if you prefer figures: https://ecris.cc/2025sbcm_contorchionist-slides/

    Any feedback is appreciated, of course!

    Best regards!

    José Henrique Padovani

    posted in news read more
  • zepadovani

    just updated 'planifolia', abstractions-only library, with some bugfixes and new objects (osc things, get nearest value in a list, etc).

    https://github.com/zepadovani/planifolia (it's also in deken)

    This is a abstraction-only library without dependencies designed to be used in vanilla or almost vanilla (plugdata) versions of PD, aiming to be as portable as possible. Complete list of objects and functionalities are in github, in english and portuguese.

    posted in news read more
  • zepadovani

    Simple patch to record and playback continuous control events, such as sliders. Not using [list store] pon purpose to make it easier to use with hvcc.

    Everything is in a single patch to make it easier to understand, create an abstract if you need!

    memory_pd.pd

    posted in patch~ read more
  • zepadovani

    eureka!

    Using ASIO::ASIO4ALL in the QJackCTL>Parameters>Interface, I had to check "Use server in synchronous mode". Started the Jack Server,

    Then, started PD and could find the device there!

    Probably it should work with any ASIO device (in Jack2 parameters).

    And, as probably you know, I can change the number of inputs/outputs editing the configuration file in Program Files>JACK2>jack-router>[win64 and/or win32]>JackRouter,ini

    Cheers!

    posted in technical issues read more
  • zepadovani

    Hi,

    I primarily use Manjaro and macOS, but since my students typically have Windows machines, I'd like to introduce them to PD + Jack. Therefore, I attempted to install Jack and PD 0.53-2 on a Windows 11 machine with an updated OS.

    While I can select ASIO:JackRouter from Reaper, I'm unable to locate the ASIO:JackRouter device in Pd. Is there a known solution for this issue? Does anyone have a setup recipe that I could try? I've noticed in older posts that people were able to locate the device in PD, and I'm unsure if I'm making a mistake or if it's a version-specific problem with either Windows, JACK2, or PD.

    Any hints are appreciated!

    padovani

    posted in technical issues read more
  • zepadovani

    Oh! thanks! I forgot to post the link here! (:

    posted in abstract~ read more
  • zepadovani

    Hello!

    I have just released in github and deken the abstraction pack 'planifolia' (v.0.1).

    Planifolia (from the second name of the orchid 'Vanilla planifolia') is a set of Pure Data abstractions designed to work without any compiled externals.

    The abstractions implement a series of useful operations like arbitrary unary and binary operations in lists and arrays, quicksort, logical operators to check equality of arbitrary datatypes, easy OSC formatting/routing, etc. It also comes with toggle-based matrix GUI (designed to work be compatible with iemmatrix objects) and a matrix based step sequencer with some non usual features (independent tempo, beat and duration patterns, col/row/colrow modes, nice colors, etc).

    Some bugs may still be there... ;)

    abstractions

    abstraction description
    [any.==] compares datatypes
    [array.binop] binary operations in arrays
    [array.rand] random populates an arrays
    [array.unop] unary operations in arrays
    [ls.binop] binary operations in list
    [ls.butlast] list but the last element
    [ls.choose] random choose an element of the list
    [ls.getRotate] N rotated element of a list
    [ls.group] groups elements into a list
    [ls.iter] list iteration
    [ls.last] last element of the list
    [ls.max] greatest element of a list
    [ls.mean] mean of the floats in a list
    [ls.min] minimum element in a list
    [ls.mode] mode of a list
    [ls.quicksort] quicksort algorithm implemented as a vanilla abstraction
    [ls.removeAt] removes element at index
    [ls.rotate] N rotation of a list
    [ls.scramble] randomize elements in a list
    [ls.ser.arithm] build an artithmetic series list
    [ls.splice] replaces element in a list with anothe list
    [ls.unop] perform unary operation in elements of a list
    [mtxgui] vanilla matrix interface
    [mtxstep] vanilla step sequencer with some non usual features
    [slash.oscformat] tool to format OSC messages
    [slash.oscroute] tool to route OSC messages
    [symbol.==] test if two symbols are equal
    [symbol.split] splits a symbol according to a char

    Brazilian percussion samples were gently provided by Chico Correa youtube: /c/ChicoCorrea

    posted in abstract~ read more
  • zepadovani

    very nice Gilberto!
    have just compiled it in OSX, mavericks... it seems to be working well! please tell me if you want the binaries (your provided binaries don't run on mavericks).
    cheers!

    posted in abstract~ read more

Internal error.

Oops! Looks like something went wrong!