Bug 259911

Summary: [NEW PORT]: audio/chuck: Strongly-timed, Concurrent, and On-the-fly Music Programming Language
Product: Ports & Packages Reporter: Timothy Beyer <beyert>
Component: Individual Port(s)Assignee: freebsd-ports-bugs (Nobody) <ports-bugs>
Status: Open ---    
Severity: Affects Only Me CC: beyert, fuz, pyrus
Priority: ---    
Version: Latest   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
audio_chuck.shar none

Description Timothy Beyer 2021-11-18 07:28:07 UTC
Created attachment 229566 [details]
audio_chuck.shar

I recently discovered that Stanford (via the online course platform Kadenze) is teaching an affordable course in physics based sound with famous instructors (the university co-developed both waveguide physical modeling and FM synthesis with Yamaha long ago).  The course uses the sound language chuck, which I ported to FreeBSD.  This should help promote FreeBSD to audio hobbyists:

https://www.kadenze.com/courses/physics-based-sound-synthesis-for-games-and-interactive-systems-iv/

I have gotten it to compile with several backends for audio and MIDI, although JACK is the only one that worked at runtime in my usage thus far.

What is confirmed working:

  *  Low-latency audio output via JACK (if the sound stutters, then try a different sound card or audio interface: my theory is that some sound cards don't handle 24-bit values effectively in a way that some audio applications cannot handle)
  *  MIDI input via JACK
  *  Joystick input support (quite extensive, although force feedback did not seem to work thus far)


OSS and ALSA audio support both compile correctly, and ALSA MIDI is also available for both OSS and ALSA audio, but I couldn't confirm if either worked, so they are not the default, yet.
Comment 1 Robert Clausecker freebsd_committer freebsd_triage 2023-04-19 15:56:51 UTC
Wow, that's a big patch.  I apologise that nobody has looked at it yet.  This is most likely because you have not set maintainer-approval to "+" on your patch.
Comment 2 Timothy Beyer 2023-05-12 03:30:13 UTC
(In reply to Robert Clausecker from comment #1)
It isn't in ports yet, but I'll set the maintainer approval as soon as I send the updated one that works on more modern versions of FreeBSD (eg. on 13.2).

IIRC, the reason why the patch is so complicated is because, much like audio/pd, it used at the time of submission (and probably still does) a custom embedded version of rtmidi, which needed a lot of modernization, so I integrated fixes into their version with functionality from a more current rtmidi, which fixed the build.
Comment 3 Robert Clausecker freebsd_committer freebsd_triage 2023-05-12 08:28:47 UTC
(In reply to Timothy Beyer from comment #2)

Check if you can unbundle rtmidi instead.