Bug 259911 - [NEW PORT]: audio/chuck: Strongly-timed, Concurrent, and On-the-fly Music Programming Language
Summary: [NEW PORT]: audio/chuck: Strongly-timed, Concurrent, and On-the-fly Music Pro...
Status: Open
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: freebsd-ports-bugs (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-11-18 07:28 UTC by Timothy Beyer
Modified: 2023-05-12 08:28 UTC (History)
3 users (show)

See Also:


Attachments
audio_chuck.shar (420.48 KB, text/plain)
2021-11-18 07:28 UTC, Timothy Beyer
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
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.