pure-data VS wefx

Compare pure-data vs wefx and see what are their differences.

pure-data

Pure Data - a free real-time computer music system (by pure-data)

wefx

Basic WASM graphics package to draw to an HTML Canvas using C. In the style of the gfx library (by robrohan)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
pure-data wefx
8 4
1,457 28
3.0% -
9.4 4.9
4 days ago 4 months ago
C C
GNU General Public License v3.0 or later GNU General Public License v3.0 or later
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

pure-data

Posts with mentions or reviews of pure-data. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-08-12.
  • pure-data VS midica - a user suggested alternative
    2 projects | 12 Aug 2023
  • How to get in touch with maintainers in PD - Running PD on phone
    2 projects | /r/puredata | 24 May 2023
    Report bugs on the pd github https://github.com/pure-data/pure-data
  • A brief interview with Tcl creator John Ousterhout
    9 projects | news.ycombinator.com | 10 Feb 2023
    You might be interested in clicking through the puredata source code.

    https://github.com/pure-data/pure-data

  • Pure Data as a plugin, with a new GUI
    14 projects | news.ycombinator.com | 22 Oct 2022
    > The other advantage is because these things were implemented in the 80s

    Pd was developed in the mid 90s

    > they are very computationally efficient

    Not as efficient as it could be, though. For example, instead of proper SIMD instructions, the DSP perform routines only use manual loop unrolling, praying that the compiler will auto-vectorize it.

    Finally, everything is single-threaded, leaving lots of performance on the table. FWIW, I have a PR for an asynchronous task API (https://github.com/pure-data/pure-data/pull/1357) and also a branch for multi-threaded DSP (https://github.com/Spacechild1/pure-data/tree/multi-threadin...).

  • Pure Data: an open source visual language for multimedia
    5 projects | news.ycombinator.com | 23 Aug 2022
    > Any criticism or unwelcome suggestions are treated as an insult to Miller Puckette and the proponent is attacked, ignored, or advised to implement it themselves (ie to go away and not come back).

    I don't think this holds for the general case, but there a certainly a few users caught up in Stockholm Syndrome :-) I can assure you that the developer team (which I am a part of) is very well aware of Pd's limitations and problems. Pd has seen quite significant UX improvements over the last few years, but the pace of development is very slow. Anyway, if you have specific criticism, suggestions or feature requests, feel free to open a ticket on GitHub: https://github.com/pure-data/pure-data.

    As a side note, the minimalistic GUI itself won't change since it is an intentional design decision by Miller, but there is some effort to abstract the core/GUI communication to allow alternative GUI implementations. (Personally, I really dislike the current Tcl/Tk GUI - not because it's minimalistic, but because it's slow and buggy.)

    > and idiosyncratic terminology (eg PD refers to module connectors as 'patch cords' just like on an analog modular synthesizer or mixer, but what synth people commonly call a pulse or a trigger is a 'bang' in PD).

    Pd's 'bang' belongs to the control/event domain, you can't really compare it to trigger/pulse in modular synthesizers. (FWIW, there are several Pd externals that implement audio-rate triggers.)

    > You can make it do anything, but unless you already have a very specific goals you will spend most of the time reinventing wheels in parameter space.

    That's a fair point. It's important for people to understand that Pd vanilla is really a programming environment with only a minimal set of built-in objects that allow you to build higher-level abstractions. You definitely need a set of "abstractions" or libraries to be productive. Fortunately, there are many existing Pd libraries and they can be easily installed with Pd's package manager "Deken". The most extensive one is "ELSE" with nearly 500 objects, containing everything from band-limited ocillators, filters, sequencers, GUIs, etc. Personally, I have my own collection of abstractions that I made over the last years.

    That being said, I would agree that you should always pick the right tool for the job. Just as you wouldn't write your website in C, you wouldn't pick Pd for typical EDM stuff (unless you have a very good reason). But for prototyping and experimental electronics it's a fantastic tool, I think.

  • Implementing Cosine in C from Scratch
    10 projects | news.ycombinator.com | 29 Mar 2022
  • [P] Pure Data patch learning and automation
    1 project | /r/MachineLearning | 27 Sep 2021

wefx

Posts with mentions or reviews of wefx. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-03-14.
  • Cheerp 3.0: The most advanced C++ compiler for the Web now permissively licensed
    4 projects | news.ycombinator.com | 14 Mar 2023
    I'm particularly curious on what parts cheerp adds to their clang+llvm base. Presumably it's something like the C standard target library for WASM/JS?

    For reference, here's examples of what you could do with the baseline clang with wasm (but not JS?) [1] [2] [3], referenced from a similar thread on HN.

    [1] https://github.com/ern0/howto-wasm-minimal

    [2] https://github.com/robrohan/wefx

    [3] https://github.com/PetterS/clang-wasm

  • The Tools I Use to Write Books (2018)
    3 projects | news.ycombinator.com | 16 May 2022
    I've used a similar pipeline to create "books for code and infrastructure". A/k/a coding in a somewhat literate programming style. Similar to what is described here:

    gemini://gemini.robrohan.com/2022-04-23-narrative-programming.md

    With output that looks similar to this: https://github.com/robrohan/wefx/blob/main/docs/manual.pdf

    Using a github action like this: https://github.com/robrohan/wefx/blob/main/.github/workflows...

    (most of the code borrowed from those projects)

    You can do it with just plain markdown files and use directories for chapters / organization if you're just going for prose.

    I've thought about using the process to try to make open textbooks where you can mix and match chapters, but I don't have any experience in that field.

    Anyway, can confirm, it's an incredibly useful process.

  • Show HN: How to compile C/C++ for WASM, pure Clang, no libs, no framework
    13 projects | news.ycombinator.com | 11 Apr 2022
    Not trying to steal your thunder, but here is another nostdlib clang -> wasm example with malloc, a few math functions, rand, and writing to a canvas doing animation.

    => https://github.com/robrohan/wefx

  • Implementing Cosine in C from Scratch
    10 projects | news.ycombinator.com | 29 Mar 2022
    I haven’t seen this version mentioned in the thread - if you don’t need a lot of precision, here is a simple 4 line version[1] and here’s how it works[2].

    Not sure who initially came up with it.

    [1] https://github.com/robrohan/wefx/blob/1a918cc2d5ad87402a3830...

    [2] https://www.desmos.com/calculator/lo7cf60mjz

What are some alternatives?

When comparing pure-data and wefx you can also consider the following projects:

supercollider - An audio server, programming language, and IDE for sound synthesis and algorithmic composition.

chip8-book - An introduction to Chip-8 emulation using Rust

plugdata - Pure Data as a plugin, with a new GUI

cib - clang running in browser (wasm)

PureeData - PuréeData is a browser-based GUI interface for a remote PureData server, allowing real-time collaborative patching for anyone, anywhere.

clang-wasm - How to build webassembly files with nothing other than standard Clang/llvm.

musl - unofficial musl mirror git://git.musl-libc.org/musl

wasm-fizzbuzz - WebAssembly from Scratch: From FizzBuzz to DooM.

v7unix - Version 7 Unix for a POSIX world

csound - Main repository for Csound