It’s been over a month - what’s going on?
The Jetson developer kits do not have all have on-board audio capture or playback hardware. However, they all have HDMI and USB ports. See (NVIDIA 2021a) for the details.
As a result, to actually hear a sound from a Jetson-based synthesizer, one needs either an HDMI audio extractor or a USB digital-analog converter (DAC). The HDMI ones are commonly used in home theater setups. I don’t have a home theater setup, so I can’t comment on these.
The USB ones range in price from less than $20US for a dongle with a headphone and microphone jack to studio-grade devices costing hundreds of dollars. Note that for both the HDMI and USB devices, the Jetsons support up to eight channels of 24-bit samples at a 192 kilohertz sampling rate (NVIDIA 2021b), (NVIDIA 2021c).
I went with a “prosumer” USB DAC from Amazon that will handle up to 24-bit samples at 192 kilohertz. It’s probably overkill for a synth, but I have a fair number of HiRes FLAC classical music files, so it will get used.
For a variety of reasons I am going with a “pet container” (Riek 2016a), (Riek 2016b), (Riek 2016c) architecture. IF you’ve been following the project on GitHub, you’ll see what I’ve been building.
However, about a week ago I realized I was duplicating large chunks of my other
Jetson pet container project, edgyR.
So rather than build a whole new pet container gizmo, I’m refactoring the code
into a set of installers for the edgyR
container. This will provide both
JupyterLab and RStudio Server access to the analysis and synthesis engines.
As of this writing, the supported packages are
The R library packages described in Sueur (2018) are also available. Of these,
only cuSignal
and CSound
have code to use the GPU.
In the process of research for this project, I re-discovered that there is a community of people who make music by coding it live. There were even algoraves before the pandemic.
I’ve known about ChucK
for a number of years, but there are some other
projects I discovered, as well as some organizations:
TidalCycles
currently installs without incident and will probably be in the
initial release. Sonic Pi
has an Erlang dependency and I had some problems
getting clean builds, so it won’t be on the initial release.
Orca
is a fascinating tool - it’s a cross between Conway’s “Game of Life” and
Pure Data aka Pd
. Speaking of Pd, it does build, and
if I can find a way to access it via a browser it will be on the initial
release.
For those of you lucky enough to have a Windows 10 machine with an NVIDIA GPU and adventurous enough to run the Windows Insider preview builds, Linux GUI app support with audio is now available. See The Initial Preview of GUI app support is now available for the Windows Subsystem for Linux and https://github.com/microsoft/wslg for the details.
I am both blessed with such a machine and adventurous enough, and will most
likely be “porting” the edgyR
image to WSL 2. This is a lot less work than
the Jetson version; upstream binary packages are available for just about all
the components that aren’t already in Ubuntu 18.04 LTS. I guess it still counts
as “edgy” since it’s using an insider build of Windows.
Text and figures are licensed under Creative Commons Attribution CC BY-SA 4.0. The figures that have been reused from other sources don't fall under this license and can be recognized by a note in their caption: "Figure from ...".
For attribution, please cite this work as
Borasky (2021, April 22). AlgoCompSynth by znmeb: Status Update. Retrieved from https://www.algocompsynth.com/posts/2021-04-22-status-update/
BibTeX citation
@misc{borasky2021status, author = {Borasky, M. Edward (Ed)}, title = {AlgoCompSynth by znmeb: Status Update}, url = {https://www.algocompsynth.com/posts/2021-04-22-status-update/}, year = {2021} }