I posted yesterday inquiring about sharing Julia projects here - my takeaway was that this forum isn’t really the place to post code - especially programs considered too elementary / basic. I get that - for any beginners here looking for easy programs in Julia - here are a waveform plotter and .wav generator.
9 Likes
Thanks - I originally included PortAudio - but I’m often using WSL2 on Windows 10 and it can’t easily access the Windows system utilities - ie - sound, display, etc. It’s the same with trying to plot from within WSL - it can’t access the host OS display. So my solution is to just have Julia create the .wav or .png as a standalone file - then I can play or view the file whether I’m on Windows or my Linux PC.
1 Like
Palli
October 31, 2024, 5:31pm
4
[Neither of your original links work now.]
FYI: You have access to audio/Port Audio (and display) with WSL2, at least with WSLg (I suppose Julia works with it, but I think it implies a full Linux distro running in WSL2?): wslg/README.md at main · microsoft/wslg · GitHub
I also see some workaround:
That said, why are you making life difficult for you, not rather using regular Windows (with audio, or Linux only with audio)?
If you get audio to work with just WSL2, please let us know and how, and maybe make a PR to relevant Julia projects.
I didn’t know about Yarp (for robotics), nor that it had anything to do with audio, but I noticed it linked from some audio issue:
opened 11:44AM - 11 Jul 24 UTC
bug
### Solution to issue cannot be found in the documentation.
- [X] I checked the… documentation.
### Issue
On Ubuntu 24.04 on wSL2 (I tested that the audio plays well with `play examplesound.mp3` :
~~~
(yarp) root@DESKTOP-T0NQNLN:~# yarpdev --device AudioPlayerWrapper --subdevice portaudioPlayer --name /icub/speakers --playback_network_buffer_size 0.5 --start --AUDIO_BASE::samples 4000 --AUDIO_BASE::channels 1 --dev_id 0 --AUDIO_BASE::rate 48000
[DEBUG] |yarp.dev.PolyDriver|AudioPlayerWrapper| Parameters are (AUDIO_BASE (samples 4000) (channels 1) (rate 48000)) (dev_id 0) (device AudioPlayerWrapper) (name "/icub/speakers") (playback_network_buffer_size 0.5) (single_threaded 1) (start) (subdevice portaudioPlayer)
[INFO] |yarp.os.Port|/icub/speakers/audio:i| Port /icub/speakers/audio:i active at tcp://172.28.148.122:10002/
[INFO] |yarp.os.Port|/icub/speakers/status:o| Port /icub/speakers/status:o active at tcp://172.28.148.122:10003/
[INFO] |yarp.os.Port|/icub/speakers/rpc:i| Port /icub/speakers/rpc:i active at tcp://172.28.148.122:10004/
[INFO] |yarp.device.AudioPlayerWrapper| Using a 'playback_network_buffer_size' of 0.5 s
[INFO] |yarp.device.AudioPlayerWrapper| Increase this value to robustify the real-time audio stream (it will increase latency too)
[DEBUG] |yarp.dev.PolyDriver|portaudioPlayer| Parameters are (AUDIO_BASE (samples 4000) (channels 1) (rate 48000)) (dev_id 0) (device portaudioPlayer) (name "/icub/speakers") (playback_network_buffer_size 0.5) (single_threaded 1) (start) (subdevice portaudioPlayer)
[INFO] |yarp.devices.AudioPlayerDeviceBase| Device configured with the following options:
[INFO] |yarp.devices.AudioPlayerDeviceBase| Frequency: 48000
[INFO] |yarp.devices.AudioPlayerDeviceBase| Samples (buffer size): 4000
[INFO] |yarp.devices.AudioPlayerDeviceBase| Channels: 1
[INFO] |yarp.devices.AudioPlayerDeviceBase| BytesForSample: 2
[INFO] |yarp.devices.AudioPlayerDeviceBase| HW gain: 1
[INFO] |yarp.devices.AudioPlayerDeviceBase| SW gain: 1
[INFO] |yarp.devices.AudioPlayerDeviceBase| Render mode: append
ALSA lib confmisc.c:855:(parse_card) cannot find card '0'
ALSA lib conf.c:5204:(_snd_config_evaluate) function snd_func_card_inum returned error: No such file or directory
ALSA lib confmisc.c:422:(snd_func_concat) error evaluating strings
ALSA lib conf.c:5204:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory
ALSA lib confmisc.c:1342:(snd_func_refer) error evaluating name
ALSA lib conf.c:5204:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:5727:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2722:(snd_pcm_open_noupdate) Unknown PCM sysdefault
ALSA lib confmisc.c:855:(parse_card) cannot find card '0'
ALSA lib conf.c:5204:(_snd_config_evaluate) function snd_func_card_inum returned error: No such file or directory
ALSA lib confmisc.c:422:(snd_func_concat) error evaluating strings
ALSA lib conf.c:5204:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory
ALSA lib confmisc.c:1342:(snd_func_refer) error evaluating name
ALSA lib conf.c:5204:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:5727:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2722:(snd_pcm_open_noupdate) Unknown PCM sysdefault
ALSA lib pcm.c:2722:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.front
ALSA lib pcm.c:2722:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2722:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2722:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm.c:2722:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround21
ALSA lib pcm.c:2722:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround21
ALSA lib pcm.c:2722:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround40
ALSA lib pcm.c:2722:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround41
ALSA lib pcm.c:2722:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround50
ALSA lib pcm.c:2722:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround51
ALSA lib pcm.c:2722:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround71
ALSA lib pcm.c:2722:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.iec958
ALSA lib pcm.c:2722:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.iec958
ALSA lib pcm.c:2722:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.iec958
ALSA lib confmisc.c:855:(parse_card) cannot find card '0'
ALSA lib conf.c:5204:(_snd_config_evaluate) function snd_func_card_inum returned error: No such file or directory
ALSA lib confmisc.c:422:(snd_func_concat) error evaluating strings
ALSA lib conf.c:5204:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory
ALSA lib confmisc.c:1342:(snd_func_refer) error evaluating name
ALSA lib conf.c:5204:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:5727:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2722:(snd_pcm_open_noupdate) Unknown PCM hdmi
ALSA lib confmisc.c:855:(parse_card) cannot find card '0'
ALSA lib conf.c:5204:(_snd_config_evaluate) function snd_func_card_inum returned error: No such file or directory
ALSA lib confmisc.c:422:(snd_func_concat) error evaluating strings
ALSA lib conf.c:5204:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory
ALSA lib confmisc.c:1342:(snd_func_refer) error evaluating name
ALSA lib conf.c:5204:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:5727:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2722:(snd_pcm_open_noupdate) Unknown PCM hdmi
ALSA lib pcm.c:2722:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2722:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2722:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
ALSA lib pcm.c:2722:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
ALSA lib confmisc.c:855:(parse_card) cannot find card '0'
ALSA lib conf.c:5204:(_snd_config_evaluate) function snd_func_card_inum returned error: No such file or directory
ALSA lib confmisc.c:422:(snd_func_concat) error evaluating strings
ALSA lib conf.c:5204:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory
ALSA lib confmisc.c:1342:(snd_func_refer) error evaluating name
ALSA lib conf.c:5204:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:5727:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2722:(snd_pcm_open_noupdate) Unknown PCM default
ALSA lib confmisc.c:855:(parse_card) cannot find card '0'
ALSA lib conf.c:5204:(_snd_config_evaluate) function snd_func_card_inum returned error: No such file or directory
ALSA lib confmisc.c:422:(snd_func_concat) error evaluating strings
ALSA lib conf.c:5204:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory
ALSA lib confmisc.c:1342:(snd_func_refer) error evaluating name
ALSA lib conf.c:5204:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:5727:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2722:(snd_pcm_open_noupdate) Unknown PCM default
ALSA lib confmisc.c:855:(parse_card) cannot find card '0'
ALSA lib conf.c:5204:(_snd_config_evaluate) function snd_func_card_id returned error: No such file or directory
ALSA lib confmisc.c:422:(snd_func_concat) error evaluating strings
ALSA lib conf.c:5204:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory
ALSA lib confmisc.c:1342:(snd_func_refer) error evaluating name
ALSA lib conf.c:5204:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:5727:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2722:(snd_pcm_open_noupdate) Unknown PCM dmix
Segmentation fault
~~~
### Installed packages
```shell
(yarp) root@DESKTOP-T0NQNLN:~# conda list
# packages in environment at /root/miniforge3/envs/yarp:
#
# Name Version Build Channel
_libgcc_mutex 0.1 conda_forge conda-forge
_openmp_mutex 4.5 2_gnu conda-forge
ace 8.0.0 hac33072_1 conda-forge
alsa-lib 1.2.12 h4ab18f5_0 conda-forge
aom 3.9.1 hac33072_0 conda-forge
attr 2.5.1 h166bdaf_1 conda-forge
bzip2 1.0.8 hd590300_5 conda-forge
c-ares 1.32.0 h4ab18f5_0 conda-forge
ca-certificates 2024.7.4 hbcca054_0 conda-forge
cairo 1.18.0 hbb29018_2 conda-forge
dav1d 1.2.1 hd590300_0 conda-forge
dbus 1.13.6 h5008d03_3 conda-forge
eigen 3.4.0 h00ab1b0_0 conda-forge
expat 2.6.2 h59595ed_0 conda-forge
ffmpeg 7.0.1 gpl_h3589c0a_102 conda-forge
font-ttf-dejavu-sans-mono 2.37 hab24e00_0 conda-forge
font-ttf-inconsolata 3.000 h77eed37_0 conda-forge
font-ttf-source-code-pro 2.038 h77eed37_0 conda-forge
font-ttf-ubuntu 0.83 h77eed37_2 conda-forge
fontconfig 2.14.2 h14ed4e7_0 conda-forge
fonts-conda-ecosystem 1 0 conda-forge
fonts-conda-forge 1 0 conda-forge
freeglut 3.2.2 ha6d2627_3 conda-forge
freetype 2.12.1 h267a509_2 conda-forge
fribidi 1.0.10 h36c2ea0_0 conda-forge
gettext 0.22.5 h59595ed_2 conda-forge
gettext-tools 0.22.5 h59595ed_2 conda-forge
glib 2.80.3 h8a4344b_1 conda-forge
glib-tools 2.80.3 h73ef956_1 conda-forge
gmp 6.3.0 hac33072_2 conda-forge
gnutls 3.7.9 hb077bed_0 conda-forge
graphite2 1.3.13 h59595ed_1003 conda-forge
gst-plugins-base 1.24.5 hbaaba92_0 conda-forge
gstreamer 1.24.5 haf2f30d_0 conda-forge
harfbuzz 8.5.0 hfac3d4d_0 conda-forge
hdf5 1.14.3 nompi_hdf9ad27_105 conda-forge
icu 73.2 h59595ed_0 conda-forge
imath 3.1.11 hfc55251_0 conda-forge
jasper 4.2.4 h536e39c_0 conda-forge
keyutils 1.6.1 h166bdaf_0 conda-forge
krb5 1.21.3 h659f571_0 conda-forge
lame 3.100 h166bdaf_1003 conda-forge
ld_impl_linux-64 2.40 hf3520f5_7 conda-forge
lerc 4.0.0 h27087fc_0 conda-forge
libabseil 20240116.2 cxx17_h59595ed_0 conda-forge
libaec 1.1.3 h59595ed_0 conda-forge
libasprintf 0.22.5 h661eb56_2 conda-forge
libasprintf-devel 0.22.5 h661eb56_2 conda-forge
libass 0.17.1 h8fe9dca_1 conda-forge
libblas 3.9.0 22_linux64_openblas conda-forge
libcap 2.69 h0f662aa_0 conda-forge
libcblas 3.9.0 22_linux64_openblas conda-forge
libclang-cpp15 15.0.7 default_h127d8a8_5 conda-forge
libclang13 18.1.8 default_h6ae225f_0 conda-forge
libcups 2.3.3 h4637d8d_4 conda-forge
libcurl 8.8.0 hca28451_1 conda-forge
libdeflate 1.20 hd590300_0 conda-forge
libdrm 2.4.122 h4ab18f5_0 conda-forge
libedit 3.1.20191231 he28a2e2_2 conda-forge
libev 4.33 hd590300_2 conda-forge
libevent 2.1.12 hf998b51_1 conda-forge
libexpat 2.6.2 h59595ed_0 conda-forge
libffi 3.4.2 h7f98852_5 conda-forge
libflac 1.4.3 h59595ed_0 conda-forge
libgcc-ng 14.1.0 h77fa898_0 conda-forge
libgcrypt 1.11.0 h4ab18f5_0 conda-forge
libgettextpo 0.22.5 h59595ed_2 conda-forge
libgettextpo-devel 0.22.5 h59595ed_2 conda-forge
libgfortran-ng 14.1.0 h69a702a_0 conda-forge
libgfortran5 14.1.0 hc5f4f2c_0 conda-forge
libglib 2.80.3 h8a4344b_1 conda-forge
libglu 9.0.0 ha6d2627_1004 conda-forge
libgomp 14.1.0 h77fa898_0 conda-forge
libgpg-error 1.50 h4f305b6_0 conda-forge
libhwloc 2.11.0 default_h5622ce7_1000 conda-forge
libi2c 4.3 hcb278e6_2 conda-forge
libiconv 1.17 hd590300_2 conda-forge
libidn2 2.3.7 hd590300_0 conda-forge
libjpeg-turbo 3.0.0 hd590300_1 conda-forge
liblapack 3.9.0 22_linux64_openblas conda-forge
liblapacke 3.9.0 22_linux64_openblas conda-forge
libllvm15 15.0.7 hb3ce162_4 conda-forge
libllvm18 18.1.8 hc9dba70_0 conda-forge
libnghttp2 1.58.0 h47da74e_1 conda-forge
libnsl 2.0.1 hd590300_0 conda-forge
libogg 1.3.5 h4ab18f5_0 conda-forge
libopenblas 0.3.27 pthreads_hac2b453_1 conda-forge
libopencv 4.10.0 qt5_py39h0e214d5_501 conda-forge
libopenvino 2024.2.0 h2da1b83_1 conda-forge
libopenvino-auto-batch-plugin 2024.2.0 hb045406_1 conda-forge
libopenvino-auto-plugin 2024.2.0 hb045406_1 conda-forge
libopenvino-hetero-plugin 2024.2.0 h5c03a75_1 conda-forge
libopenvino-intel-cpu-plugin 2024.2.0 h2da1b83_1 conda-forge
libopenvino-intel-gpu-plugin 2024.2.0 h2da1b83_1 conda-forge
libopenvino-intel-npu-plugin 2024.2.0 he02047a_1 conda-forge
libopenvino-ir-frontend 2024.2.0 h5c03a75_1 conda-forge
libopenvino-onnx-frontend 2024.2.0 h07e8aee_1 conda-forge
libopenvino-paddle-frontend 2024.2.0 h07e8aee_1 conda-forge
libopenvino-pytorch-frontend 2024.2.0 he02047a_1 conda-forge
libopenvino-tensorflow-frontend 2024.2.0 h39126c6_1 conda-forge
libopenvino-tensorflow-lite-frontend 2024.2.0 he02047a_1 conda-forge
libopus 1.3.1 h7f98852_1 conda-forge
libpciaccess 0.18 hd590300_0 conda-forge
libpng 1.6.43 h2797004_0 conda-forge
libpq 16.3 ha72fbe1_0 conda-forge
libprotobuf 4.25.3 h08a7969_0 conda-forge
libsndfile 1.2.2 hc60ed4a_1 conda-forge
libsqlite 3.46.0 hde9e2c9_0 conda-forge
libssh2 1.11.0 h0841786_0 conda-forge
libstdcxx-ng 14.1.0 hc0a3c3a_0 conda-forge
libsystemd0 255 h3516f8a_1 conda-forge
libtasn1 4.19.0 h166bdaf_0 conda-forge
libtiff 4.6.0 h1dd3fc0_3 conda-forge
libunistring 0.9.10 h7f98852_0 conda-forge
libuuid 2.38.1 h0b41bf4_0 conda-forge
libva 2.22.0 hb711507_0 conda-forge
libvorbis 1.3.7 h9c3ff4c_0 conda-forge
libvpx 1.14.1 hac33072_0 conda-forge
libwebp-base 1.4.0 hd590300_0 conda-forge
libxcb 1.16 hd590300_0 conda-forge
libxcrypt 4.4.36 hd590300_1 conda-forge
libxkbcommon 1.7.0 h2c5496b_1 conda-forge
libxml2 2.12.7 hc051c1a_1 conda-forge
libyarp 3.9.0 hf094a1e_5 conda-forge
libzlib 1.3.1 h4ab18f5_1 conda-forge
lz4-c 1.9.4 hcb278e6_0 conda-forge
mpg123 1.32.6 h59595ed_0 conda-forge
mysql-common 8.3.0 hf1915f5_4 conda-forge
mysql-libs 8.3.0 hca2cd23_4 conda-forge
ncurses 6.5 h59595ed_0 conda-forge
nettle 3.9.1 h7ab15ed_0 conda-forge
nspr 4.35 h27087fc_0 conda-forge
nss 3.102 h593d115_0 conda-forge
numpy 2.0.0 py312h22e1c76_0 conda-forge
ocl-icd 2.3.2 hd590300_1 conda-forge
openexr 3.2.2 haf962dd_1 conda-forge
openh264 2.4.1 h59595ed_0 conda-forge
openssl 3.3.1 h4ab18f5_1 conda-forge
p11-kit 0.24.1 hc5aa10d_0 conda-forge
pcre2 10.44 h0f59acf_0 conda-forge
pip 24.0 pyhd8ed1ab_0 conda-forge
pixman 0.43.2 h59595ed_0 conda-forge
portaudio 19.6.0 h7c63dc7_9 conda-forge
pthread-stubs 0.4 h36c2ea0_1001 conda-forge
pugixml 1.14 h59595ed_0 conda-forge
pulseaudio-client 17.0 hb77b528_0 conda-forge
python 3.12.4 h194c7f8_0_cpython conda-forge
python_abi 3.12 4_cp312 conda-forge
qt-main 5.15.8 ha2b5568_22 conda-forge
readline 8.2 h8228510_1 conda-forge
robot-testing-framework 2.0.1 hcb278e6_1 conda-forge
sdl 1.2.68 h293081c_0 conda-forge
sdl2 2.30.5 hef7aa77_0 conda-forge
setuptools 70.2.0 pyhd8ed1ab_0 conda-forge
snappy 1.2.1 ha2e4443_0 conda-forge
soxr 0.1.3 h0b41bf4_3 conda-forge
svt-av1 2.1.0 hac33072_0 conda-forge
tbb 2021.12.0 h434a139_2 conda-forge
tinyxml 2.6.2 h4bd325d_2 conda-forge
tk 8.6.13 noxft_h4845f30_101 conda-forge
tzdata 2024a h0c530f3_0 conda-forge
wayland 1.23.0 h5291e77_0 conda-forge
wayland-protocols 1.36 hd8ed1ab_0 conda-forge
wheel 0.43.0 pyhd8ed1ab_1 conda-forge
x264 1!164.3095 h166bdaf_2 conda-forge
x265 3.5 h924138e_3 conda-forge
xcb-util 0.4.1 hb711507_2 conda-forge
xcb-util-image 0.4.0 hb711507_2 conda-forge
xcb-util-keysyms 0.4.1 hb711507_0 conda-forge
xcb-util-renderutil 0.3.10 hb711507_0 conda-forge
xcb-util-wm 0.4.2 hb711507_0 conda-forge
xkeyboard-config 2.42 h4ab18f5_0 conda-forge
xorg-fixesproto 5.0 h7f98852_1002 conda-forge
xorg-inputproto 2.3.2 h7f98852_1002 conda-forge
xorg-kbproto 1.0.7 h7f98852_1002 conda-forge
xorg-libice 1.1.1 hd590300_0 conda-forge
xorg-libsm 1.2.4 h7391055_0 conda-forge
xorg-libx11 1.8.9 hb711507_1 conda-forge
xorg-libxau 1.0.11 hd590300_0 conda-forge
xorg-libxdmcp 1.1.3 h7f98852_0 conda-forge
xorg-libxext 1.3.4 h0b41bf4_2 conda-forge
xorg-libxfixes 5.0.3 h7f98852_1004 conda-forge
xorg-libxi 1.7.10 h7f98852_0 conda-forge
xorg-libxrender 0.9.11 hd590300_0 conda-forge
xorg-renderproto 0.11.1 h7f98852_1002 conda-forge
xorg-xextproto 7.3.0 h0b41bf4_1003 conda-forge
xorg-xf86vidmodeproto 2.3.1 h7f98852_1002 conda-forge
xorg-xproto 7.0.31 h7f98852_1007 conda-forge
xz 5.2.6 h166bdaf_0 conda-forge
yarp 3.9.0 ha770c72_5 conda-forge
yarp-python 3.9.0 py312h9b7a4f6_5 conda-forge
ycm-cmake-modules 0.16.4 hac33072_0 conda-forge
zlib 1.3.1 h4ab18f5_1 conda-forge
zstd 1.5.6 ha6fb4c9_0 conda-forge
```
### Environment info
```shell
(yarp) root@DESKTOP-T0NQNLN:~# conda info
active environment : yarp
active env location : /root/miniforge3/envs/yarp
shell level : 1
user config file : /root/.condarc
populated config files : /root/miniforge3/.condarc
/root/.condarc
conda version : 24.3.0
conda-build version : not installed
python version : 3.10.14.final.0
solver : libmamba (default)
virtual packages : __archspec=1=skylake
__conda=24.3.0=0
__cuda=12.0=0
__glibc=2.39=0
__linux=5.15.153.1=0
__unix=0=0
base environment : /root/miniforge3 (writable)
conda av data dir : /root/miniforge3/etc/conda
conda av metadata url : None
channel URLs : https://conda.anaconda.org/conda-forge/linux-64
https://conda.anaconda.org/conda-forge/noarch
package cache : /root/miniforge3/pkgs
/root/.conda/pkgs
envs directories : /root/miniforge3/envs
/root/.conda/envs
platform : linux-64
user-agent : conda/24.3.0 requests/2.31.0 CPython/3.10.14 Linux/5.15.153.1-microsoft-standard-WSL2 ubuntu/24.04 glibc/2.39 solver/libmamba conda-libmamba-solver/24.1.0 libmambapy/1.5.8
UID:GID : 0:0
netrc file : None
offline mode : False
```
https://www.yarp.it/latest/group__yarpdev.html