... you'll want to use pydoc3 ...
Wow, thanks for mentioning pydoc3! Always missed heaving such a tool (didn't know about it before).
With
pydoc3 -b it even opens a webpage with all the local docs, and has a search, beautiful.

From
man pydoc3pydoc3 <name> ...
Show text documentation on something. <name> may be the name of a
Python keyword, topic, function, module, or package, or a dotted
reference to a class or function within a module or module in a
package. If <name> contains a '/', it is used as the path to a
Python source file to document. If name is 'keywords', 'topics',
or 'modules', a listing of these things is displayed.
...
pydoc3 -b
Start an HTTP server on an arbitrary unused port and open a Web browser
to interactively browse documentation.
At first I've searched online for pro and cons between PySide2 and PyQt5, and chose PySide2, but I'm a code-monkey and most of the examples seems to be for PyQt5, so I've just installed both:
sudo apt update
sudo apt install python3-pyqt5.qtmultimedia
sudo apt install python3-pyside2.qtmultimedia
sudo apt install qtmultimedia5* apt list *qtmultimedia*
Listing... Done
python3-pyqt5.qtmultimedia-dbg/focal 5.14.1+dfsg-3build1 amd64
python3-pyqt5.qtmultimedia-dbg/focal 5.14.1+dfsg-3build1 i386
python3-pyqt5.qtmultimedia/focal,now 5.14.1+dfsg-3build1 amd64 [installed]
python3-pyqt5.qtmultimedia/focal 5.14.1+dfsg-3build1 i386
python3-pyside2.qtmultimedia/focal,now 5.14.0-1~exp1ubuntu5 amd64 [installed]
python3-pyside2.qtmultimediawidgets/focal 5.14.0-1~exp1ubuntu5 amd64
qml-module-qtmultimedia/focal,now 5.12.8-0ubuntu1 amd64 [installed,automatic]
qml-module-qtmultimedia/focal 5.12.8-0ubuntu1 i386
qtmultimedia5-dev/focal,now 5.12.8-0ubuntu1 amd64 [installed]
qtmultimedia5-dev/focal 5.12.8-0ubuntu1 i386
qtmultimedia5-doc-html/focal,focal,now 5.12.8-0ubuntu1 all [installed]
qtmultimedia5-doc/focal,focal,now 5.12.8-0ubuntu1 all [installed]
qtmultimedia5-examples/focal,now 5.12.8-0ubuntu1 amd64 [installed]
qtmultimedia5-examples/focal 5.12.8-0ubuntu1 i386
pydoc3 -b
About audio in Linux, for now my understanding is like this:
- there are (kernel) hardware drivers for each chipset
- on top of the drivers sits another sound component ALSA (Advanced Linux Sound Architecture)
- ALSA replaced the former, now discontinued, OSS (Open Sound System)
- side info, ALSA can have an OSS compatibility mode (as a compilation switch) to trick old OSS applications into working with ALSA, but usually the switch is not set at compilation time, therefore nowadays there is no /dev/audio and alike, as it used to be in OSS
- on top of ALSA sits PulseAudio (and/or JACK), which mostly is in charge with handling and routing audio data streams between applications, or between ALSA and applications
- PulseAudio is a higher abstraction layer, therefore PulseAudio is not aware of all the audio features available in the hardware of each soundcard
- usually, JACK inhibits PulseAudio, but there are tools to make them work together (I didn't try)
About the existing hardware, inside the desktop there are 3 sound cards + an external USB soundcard
- one from the i7 CPU, i7 has an embedded video card which supports HDMI audio
- one from the nVidia GPU, nVidia video cards also support HDMI audio streams
- motherboard audio chip Creative3D (CA0132)
- an external USB audio card (which in fact is a DSP devboard,
eZdsp C5535 with a firmware that turns the devboard into a generic USB soundcard)
There is a catch, the physical audio panel (5 x 3.5 mm Jacks) is common to all the 3 internal sound cards, has detector switches for plugged/unplugged jacks, and even worst, each of these 5 jacks can be reconfigured as an input/output/mic/headphone

('hdajackretask' can show/change the physical jacks assignment - if not present, install it with 'sudo apt install alsa-tools-gui').
Learning to handle audio from Python, but this post already got too long. Will shoot more software questions over the weekend. Thank you all for the help so far.