The officially official Devuan Forum!

You are not logged in.

#201 Re: Freedom Hacks » Resampling and the Gibbs phenomenon with Audacity » 2024-07-21 17:01:03

aluma wrote:

With pure alsa, the sound was everywhere, except for the browser, which “did not see” the sound system. Either pipewire or jack was required.

If it works with pulseaudio, it does not mean that it cannot work with "pure alsa".

But I can agree that it might be difficult to create a correct ~/.asoundrc
That is why, I am using arateconf.

aluma wrote:

There is no sound device defined in the FF Daedalus settings.

I also do not have sound devices defined in the Firefox settings (about:support).
And, nevertheless, sound works with "pure alsa".

#202 Re: Off-topic » Why cloud dependency and push updates is a bad thing » 2024-07-21 16:02:40

quickfur wrote:

and nothing runs on Linux except Linux programs

The problem is that Linux programs, which were always working on Linux without any problems, may not work anymore.

For example, on Fedora, both maxima and wxMaxima do not work, and all sorts of maxima's flatpaks also fail.

On Devuan, maxima works, and wxMaxima is so buggy that is impossible to use. But you can compile it yourself.

However, you can install pulseaudio on Mac (if you want) with Homebrew

pulseaudio
Install command:

brew install pulseaudio

Sound system for POSIX OSes
_https://formulae.brew.sh/formula/pulseaudio

systemd is not yet available for macOS.

#203 Re: Freedom Hacks » Resampling and the Gibbs phenomenon with Audacity » 2024-07-21 12:50:04

On Devuan Daedalus 5.0, sound works in Firefox out of the box, after the removal of pulseaudio
_https://dev1galaxy.org/viewtopic.php?pid=49837#p49837

The problem might be that you want to use your Audigy2, and it is not the default device.
The simplest solution to such problems is to run

arateconf

and select Audigy2 as "default device".
The manual is here:

ALSA without PulseAudio and PipeWire
_https://dev1galaxy.org/viewtopic.php?id=6644

If you start a new topic, and I will try to help.

NOTE: It is not necessary to remove PulseAudio. You can remove it later, when ALSA is configured and sound works with

apulse firefox 

Some useful commands for testing ALSA, you may find here:
_https://dev1galaxy.org/viewtopic.php?pid=50114#p50114
_https://wiki.archlinux.org/title/Advanced_Linux_Sound_Architecture

#204 Re: Freedom Hacks » Resampling and the Gibbs phenomenon with Audacity » 2024-07-21 11:34:21

Of course, it is very bad manners to remove pulseaudio or pipewire.
The good manners is to use pulseaudio, pipewire, or any other crap, because of loyalty to authorities.

#205 Re: Freedom Hacks » Resampling and the Gibbs phenomenon with Audacity » 2024-07-21 10:02:46

Yes, I am using my method, and it works.
If the goal is to improve sound quality on your computer, you can simply remove pulseaudio and/or pipewire, install Petrov's fftrate plugin, and configure it for 32bit 192kHz (Intel HDA), or other HiRes format, if it is supported by your sound card. For USB headsets, you may try 16bit 48kHz.

#206 Re: Freedom Hacks » Resampling and the Gibbs phenomenon with Audacity » 2024-07-21 08:03:38

If the goal is to improve sound quality on your notebook, my method may work.

What is important is to prevent resampling and format conversion.
Otherwise, you may not know, what you are actually testing.

#207 Re: Freedom Hacks » Resampling and the Gibbs phenomenon with Audacity » 2024-07-20 16:31:36

OK, if you want to make an audio test, you may try something like this.

Take a free sample of 32bit Float DXD
_https://positive-feedback.com/reviews/music-reviews/what-we-hear-with-dxd-32-bit-files/
and downsample it with the fftrate resampler to different audio formats.
For example:
1. DXD to 192kHz 32bit (or 24bit)
2. DXD to 48kHz 16bit

Install Audacious and the fftrate ALSA plugin.
To prevent resampling, configure fftrate to 192kHz.
In Audacious, select ALSA output and set "Bit depth".
Then, you can play 192kHz wave.

Then, you can reconfigure fftrate for 48kHz 16bit format, and play 48kHz 16bit wave.

audacious 2>&1 *.wav 

#208 Re: Freedom Hacks » Resampling and the Gibbs phenomenon with Audacity » 2024-07-20 13:19:59

This is closely related topic. But it is still another topic, and we may better discuss it separately (in a new "topic").

The topic is about quality of resampling. It is about quality of digital sound, or, perhaps, more exactly, "digital sound file".
What you want to discuss is the quality of "digital to audio" conversion (DAC).
The final result depends on both, and on the sound system (quality of drivers etc.).

#209 Re: Off-topic » Why cloud dependency and push updates is a bad thing » 2024-07-20 12:42:23

Yes, it is something like this, or even worse.

It has never been like this and now it is exactly the same again.

I am waiting for Steve Gibson to tell the story in details.

EDIT:
Security Now: CrowdStruck
_https://youtu.be/eLkfKizz6NU

#210 Re: Freedom Hacks » Resampling and the Gibbs phenomenon with Audacity » 2024-07-20 11:05:41

You can play square waves through your DAC, if you want.
But it has nothing to do with the topic.

#211 Re: Freedom Hacks » Resampling and the Gibbs phenomenon with Audacity » 2024-07-20 08:51:28

It is off-topic again.

The topic is about "resampling and the Gibbs phenomenon with Audacity".

It is about how resamplers work, it is about math.
It is not about playing square waves though a sound card.

In a word, "384kHz" of DXD is sample rate. It is not frequency.

Resampling is performed in software.
And you are trying to explain how hardware works.
It is very interesting, but it is off-topic.

NOTE: In mathematics, square waves are used to visualize the effect of "jump discontinuities", and you can find them in many text books on Fourier series.

#212 Re: Off-topic » Why cloud dependency and push updates is a bad thing » 2024-07-19 17:17:37

quickfur wrote:

Just imagine what would've happened if the Crowdstrike outage was malicious. I.e., malicious code was pushed to all these servers.  Worldwide chaos would ensue.

If it can happen, it will happen sooner or later.

#213 Re: Freedom Hacks » Resampling and the Gibbs phenomenon with Audacity » 2024-07-19 13:31:53

Thanks for answering. It seems that your are satisfied with sound quality.

However, the topic is about "resampling and the Gibbs phenomenon".
If you want to discuss something else, you may start a new topic.

#214 Re: Freedom Hacks » Resampling and the Gibbs phenomenon with Audacity » 2024-07-19 09:18:49

You did not answer my question. May I ask it again?

Do you think that youtube sound quality (through pulseaudio) is good enough?

#215 Re: Freedom Hacks » Resampling and the Gibbs phenomenon with Audacity » 2024-07-18 19:19:54

aluma wrote:

Recorded over 50 years ago... Without any bells and whistles.

℗ 1967 - It was, perhaps, analogue recording. Without any sort of pulseaudio and without Gibbs.

The World We Knew (Over And Over) · Frank Sinatra
The World We Knew
℗ 1967 Frank Sinatra Enterprises, LLC

Discover the Hi-Res Masters: Frank Sinatra playlist containing all the essential tracks in Hi-Res 24-bit for an unequalled sound quality (FLAC 24-Bit / 192kHz)

It may sound better, perhaps.

Do you think that youtube sound quality (through pulseaudio) is good enough?

#216 Freedom Hacks » Resampling and the Gibbs phenomenon with Audacity » 2024-07-17 21:28:36

igorzwx
Replies: 30

The Gibbs phenomenon was observed by experimental physicists and was believed to be due to imperfections in the measuring apparatus, but it is in fact a mathematical result. It is one cause of ringing artifacts in signal processing. It is named after Josiah Willard Gibbs.
_https://en.wikipedia.org/wiki/Gibbs_phenomenon

Square wave
_https://en.wikipedia.org/wiki/Square_wave

Analogue signal is continuous, and digital signal is discrete.
The simplest example of discrete signals is, perhaps, square waves.
Because of "jump discontinuity", square waves don't like resampling.
It doesn't matter  which resampler was used, the result is always a sort of Gibbs phenomenon.

Gibbs phenomenon
Functional approximation of square wave using 25 harmonics
_https://en.wikipedia.org/wiki/File:Gibbs_phenomenon_50.svg
_https://en.wikipedia.org/wiki/Gibbs_phenomenon

Square waves can be easily created with Audacity.

sudo apt install audacity

1. Open Audacity.

2. Go to Edit > Preferences > Quality

3. Set the project defaults:
Default Sample Rate: 384000 Hz
Default Sample Format: 32-bit float
Sample Rate Converter: Best Quality (Slowest)
And click "OK".

On the bottom left corner of Audacity's main window, you will see Project Rate (Hz) menu. It should be "384000". If not, click on it and select "384000".

Go to Generate > Tone
Waveform: Square
Frequency (Hz): 440
Amplitude: 0.8
Duration: 000,040,000 samples

Click "Generate", and you will see a nice square wave.
On the left side of the audio track, you should see:
Mono, 384000Hz
32-bit float

Now, we can downsample the square wave to 48kHz 16bit (default).
It seems that, in Audacity, the standard Linux resampler (libsamplerate) was already replaced with SoX resampler. Therefore, the result might be a nice Gibbs phenomenon, and not a kind of strange artefact.

Downsampling:

1. Change the sample rate of the project to 48000 Hz (on the bottom left corner of Audacity's main window).

2. Go to File > Export > Export as WAV
Click "Save", then click "OK".
It will be downsampled to 48kHz 16bit (default) and exported as wave.

Check it with "file" command:

$ file 16bit_48kHz.wav
16bit_48kHz.wav: RIFF (little-endian) data, WAVE audio, Microsoft PCM, 16 bit, mono 48000 Hz 

Now, you can open this wave with Audacity and see a sort of Gibbs phenomenon.
You can zoom into it:
Go to View > Zoom > "Zoom in"

Since the public has already complained that all this is "not even remotely scientific", it makes sense, perhaps, to make it more scientific with math.

sudo apt install maxima gnuplot 

Let us take a very simple mathematical function

tanh(20*sin(x)) 

If you plot it with Maxima

$ maxima
(%i1) plot2d([tanh(20*sin(x))], [x,-10*%pi,10*%pi], [y,-1.1,1.1], [plot_format, gnuplot])$ 

you will see a square wave with "jump discontinuities".
If you zoom into it

$ maxima
(%i2) plot2d([tanh(20*sin(x))], [x,-1.2*%pi,1.2*%pi], [y,-1.1,1.1], [plot_format, gnuplot])$ 

you will see a continuous function.
It depends on the resolution (that is, sample rate).

If the original wave is 32bit Float 384kHz DXD, and it is a sort of music recording, it is not likely to have very big "jump discontinuities", and, therefore, the Gibbs phenomenon may not produce audible sound distortions with downsampling. It depends, of course, on the quality of resampler as well.

EDIT: To avoid confusion, it might be necessary to provide a sort of mathematical explanation.

Because of "jump discontinuities", Fourier series cannot converge uniformly
_https://en.wikipedia.org/wiki/Convergence_of_Fourier_series
It should be obvious that a series of continuous functions cannot converge uniformly to a function with "jump discontinuities".  This is the reason why any sort of interpolation (and any sort of resamplers) fails. That is why you get the Gibbs phenomenon, and, that is why the square wave is not a sum of harmonics (in terms of physics).
_https://en.wikipedia.org/wiki/Harmonic

Digital to audio conversion (DAC) means that a digital signal (that is, a discrete signal of finite sample rate) is converted to analog signal (that is, a continuous signal of infinite sample rate). It might be obvious, therefore, that, when you are playing a square wave through your DAC, you get the same Gibbs phenomenon.
Notice that "the Gibbs phenomenon was observed by experimental physicists and was believed to be due to imperfections in the measuring apparatus, but it is in fact a mathematical result."
_https://en.wikipedia.org/wiki/Gibbs_phenomenon

This also means sound distortions, when you are playing a digital music crap of CD format through your DAC.

If you do not believe that your DAC is playing crap, you can create a square wave of 48kHz 16bit format with Audacity, upsample it to 384kHz 32bit Float DXD format, zoom into it, and you will see the same Gibbs phenomenon.

It doesn't matter whether resampling of a square wave is performed in software or in hardware. The result is always a sort of Gibbs phenomenon. You cannot fool the nature, as it was discovered by experimental physicists and explained by mathematicians.

In short, square waves are used to visualize the effect of "jump discontinuities". It helps to understand why and how resampling produces sound distortions. Since "jump discontinuities" are a natural feature of low resolution formats, such as 48kHz 16bit, it does not make much sense to measure sound quality of this particular sort of digital crap in "blind tests".

NOTE: If it is not obvious that the square wave is not a sum of harmonics, you may try a very simple "imaginary experiment".
Since harmonics, or sinusoidal waves, are continuous functions, you may try to imagine a continuous function.
The sum of two continuous functions is a continuous function. This can be taken for granted.
3 = 2 + 1
4 = 3 + 1
...
100 = 99 + 1
Thus the sum of 100 continuous functions is also a continuous function.
However, the square wave is not a continuous function. It has "jump discontinuities".
What is more, the square wave is not even approximately equal to a sum of harmonics. That is why you get the Gibbs phenomenon, when you are trying to approximate it with a sum of harmonics.

#217 Re: Desktop and Multimedia » [SOLVED] mate desktop pdf opens in terminal with vim » 2024-07-16 20:32:36

Method 1: Right mouse click on a pdf file > Select "Properties" in a drop-down menu > "Open With"

Method 2: "Preferred Applications"

mate-default-applications-properties

If you open a document file with a sort of vim, it may become a default for all documents.
If, for example, you open a wxMaxima worksheet *.wxmx with wxMaxima, then it is a default for all archives.

It seems to be a standard behaviour for all Linux Desktops (freedesktop.org)

#218 Re: Desktop and Multimedia » [SOLVED] mate desktop pdf opens in terminal with vim » 2024-07-16 11:03:41

program that handles the mouse click...

$ cat /usr/share/applications/atril.desktop | grep Exec
TryExec=atril
Exec=atril %U

Is it "Open in Terminal"?

$ cat /usr/share/applications/atril.desktop | grep Terminal=
Terminal=false
ls ~/.local/share/applications | grep atr

Mozo - Mate Menu Editor
_https://wiki.mate-desktop.org/mate-desktop/applications/mozo/

mozo

EDIT:
Right mouse click on a pdf file > Select "Properties" in a drop-down menu > "Open With"

#219 Re: Desktop and Multimedia » [SOLVED] mate desktop pdf opens in terminal with vim » 2024-07-15 23:19:34

MATE 1.26.0

$ atril --version
MATE Document Viewer 1.26.0

Atril opens PDFs without problems.

Check your pdf with mediainfo

mediainfo *.pdf
$ file *.pdf
Graphics_with_Maxima.pdf: PDF document, version 1.4, 6 pages

Try to open the pdf file with Firefox.

#220 Re: Freedom Hacks » A scientific test for resamplers. » 2024-07-15 18:56:43

Do you think that "Caruso" may sound better with MPD-8 DAC, when it is downsampled to 48kHz?

The assumption is that Rushton Paul is using Mac for playing 32bit Float DXDs with the Playback Designs MPD-8 DAC (which cannot play 32bit Float DXDs).

Audio Device Setup for Mac
_https://www.sweetwater.com/sweetcare/articles/audio-midi-setup-for-mac/

MacBook Pro (2023)   
Applications > Utilities > Audio MIDI Setup

MacBook Pro Microphone (built-in)
1 channel
Bit rate: 32bit Float 
Default sample rate: 48kHz
Maximum sample rate: 96kHz

MacBook Pro Speakers (built-in)
2 channels
Bit rate: 32bit Float 
Default sample rate: 48kHz
Maximum sample rate: 96kHz

32-bit float audio can capture the absolutely ludicrous range of up to 1,528 dB. That’s not only massively beyond the scope of 24-bit audio, but it’s beyond the scale of what even counts as a sound on Earth.
_https://www.wired.com/story/32-bit-float-audio-explained/

It means, perhaps, that might be possible to record "The Year 1812, Solemn Overture, Op. 49"

The 1812 Overture is scored for an orchestra that consists of the following:
Brass band: "Open" instrumentation consisting of "any extra brass instruments" available. In some indoor performances, the part may be played on an organ. Military or marching bands also play this part. Note: the brass band or its substitute is meant to play during the finale only.
Woodwinds: 1 piccolo, 2 flutes, 2 oboes, 1 cor anglais, 2 clarinets in B♭ and 2 bassoons
Brass: 4 horns in F, 2 cornets in B♭, 2 trumpets in E♭, 3 trombones (2 tenor, 1 bass) and 1 tuba
Percussion: timpani, orchestral bass drum, snare drum, cymbals, tambourine, triangle, carillon
Strings: violins I & II, violas, cellos and double basses.
Artillery: one battery of cannon, or even ceremonial field artillery.
_https://en.wikipedia.org/wiki/1812_Overture#Instrumentation

#221 Re: Freedom Hacks » A scientific test for resamplers. » 2024-07-15 18:13:14

I can play them with MPlayer (Devuan) on Intel HDA (see my previous post).

#222 Re: Freedom Hacks » A scientific test for resamplers. » 2024-07-15 17:55:39

You can download free samples here:
_https://positive-feedback.com/reviews/music-reviews/what-we-hear-with-dxd-32-bit-files/

You can play them with MPlayer

sudo apt install mplayer
$ mplayer "08-Faust - Funeral March Of A Marionette - 32bit.wav"
MPlayer UNKNOWN-12 (C) 2000-2023 MPlayer Team
do_connect: could not connect to socket
connect: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.

Playing 08-Faust - Funeral March Of A Marionette - 32bit.wav.
libavformat version 59.27.100 (external)
libavformat file format detected.
[wav @ 0x7fab12c87d00]Discarding ID3 tags because more suitable tags were found.
[lavf] stream 0: audio (pcm_f32le), -aid 0
[lavf] stream 1: video (png), -vid 0, Picture
VIDEO:  [MPNG]  607x603  0bpp  90000.000 fps    0.0 kbps ( 0.0 kbyte/s)
libva info: VA-API version 1.17.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_17
libva error: /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so init failed
libva info: va_openDriver() returns 1
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_1_8
libva info: va_openDriver() returns 0
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
libavcodec version 59.37.100 (external)
[png @ 0x7fab121fdd20]Requested frame threading with a custom get_buffer2() implementation which is not marked as thread safe. This is not supported anymore, make your callback thread-safe.
Selected video codec: [ffpng] vfm: ffmpeg (FFmpeg PNG)
==========================================================================
Clip info:
 artist: Alexander Gibson -RPHO
 date: 2024-01-15
 album: Gounod - Bizet - Alexander Gibson Royal Opera House Orchestra
 encoder: Merging Technologies Album Publishing
 title: Faust - Funeral March Of A Marionette
 track: 8/9
Load subtitles in ./
==========================================================================
Opening audio decoder: [pcm] Uncompressed PCM audio decoder
AUDIO: 352800 Hz, 2 ch, floatle, 22579.2 kbit/100.00% (ratio: 2822400->2822400)
Selected audio codec: [pcm] afm: pcm (Uncompressed PCM)
==========================================================================
AO: [oss] 192000Hz 2ch s16le (2 bytes per sample)
Starting playback...
Could not find matching colorspace - retrying with -vf scale...
Opening video filter: [scale]
Movie-Aspect is 1.01:1 - prescaling to correct movie aspect.
[swscaler @ 0x7fab12e13f20]bicubic scaler, from rgba to yuv420p using MMXEXT
VO: [vdpau] 608x604 => 609x604 Planar YV12 
Movie-Aspect is 1.01:1 - prescaling to correct movie aspect.
VO: [vdpau] 608x604 => 609x604 Planar YV12 
No pts value from demuxer to use for frame!
pts after filters MISSING
A:   0.0 V:-9223372036854775808.0 A-V:  0.000 ct:  0.000   0/  0 ??% ??% ??,?% 0 0 0.54x 
Possibly bad interleaving detected.
Use -ni option if this causes playback issues and avoid or fix the program that created the file.
A:   3.0 V:-9223372036854775808.0 A-V:  0.000 ct:19449.693   0/  0  0%  0%  0.0% 0 0 0.54x 

Exiting... (Quit)

It does play DXDs (with downsampling and format conversion):

==========================================================================
Opening audio decoder: [pcm] Uncompressed PCM audio decoder
AUDIO: 352800 Hz, 2 ch, floatle, 22579.2 kbit/100.00% (ratio: 2822400->2822400)
Selected audio codec: [pcm] afm: pcm (Uncompressed PCM)
==========================================================================
AO: [oss] 192000Hz 2ch s16le (2 bytes per sample)
Starting playback...

#223 Re: Freedom Hacks » A scientific test for resamplers. » 2024-07-15 17:45:13

OK, let us put it as simple as possible.

Can your DAC play 32bit float audio files (which it should not play)?

Have you tried?

#224 Re: Freedom Hacks » A scientific test for resamplers. » 2024-07-15 09:31:02

If everything has already been clarified, then, perhaps, you may answer my question.
May I ask it again?

My hypothesis is that the Playback Designs MPD-8 DAC is playing 32bit float DXDs (which it should not play), because a sound system, or a player "performs the necessary format conversions in software".

Would you agree that it might be the case?

CONNECTING THE MPD-8 TO A WINDOWS BASED PC or APPLE MAC
Supported resolutions: PCM: all sample rates up to 384kHz and word lengths up to 24 bits.
DSD: native up to 11.2MHz and DoP up to 5.6MHz
Connection protocol and method: USB 2.0 / Audio class 2.0 compliant, asynchronous mode where MPD-
8 generates high precision clock master and computer is clock slaved.
PC requirements: Windows 7 or later, ASIO compatible player software such as JRiver
etc.
Mac requirements: OS X (10.6.6 or later)
If your computer is a Mac running OSX 10.6.6 or later you don’t need any driver software as OSX already supports all PCM formats up to 384kHz sample rate.
_http://playbackdesigns.com/docs/manuals/PlaybackDesigns_MPD-8_Manual1v1.pdf

$ mediainfo "08-Faust - Funeral March Of A Marionette - 32bit.wav" | grep Audio -A11
Audio
Format                                   : PCM
Format profile                           : Float
Codec ID                                 : 3
Codec ID/Hint                            : IEEE 
Duration                                 : 4 min 35 s
Bit rate mode                            : Constant
Bit rate                                 : 22.6 Mb/s
Channel(s)                               : 2 channels
Sampling rate                            : 352.8 kHz
Bit depth                                : 32 bits
Stream size                              : 743 MiB (100%)

I've written here and there about my preference for listening to 32-bit PCM versus 24-bit PCM files (either 352.8kHz or 384kHz)...
But wait, you say... The Playback Designs MPD-8 accepts only 24-bit input files, so how can this be?
_https://positive-feedback.com/reviews/music-reviews/what-we-hear-with-dxd-32-bit-files/

If he is using MAC, DXD waves and flacs are likely to be downsampled to 48kHz (default) . OSX resamplers can do the work.

If "OSX already supports all PCM formats up to 384kHz sample rate", it does not mean that the OSX driver for MPD-8 DAC supports 384kHz sample rate. It may simply mean that OSX resamplers support 384kHz sample rate.
In this case, Foobar2000 may fail to play DXDs in "exclusive mode".

_https://support.apple.com/en-gb/108326
Play high sample rate audio on your Mac
The hardware digital-to-analogue converter (DAC) built into compatible Mac computers supports sample rates of up to 96 kHz.

The result of downsampling depends on the quality of the resampler and resolution of the original file.
If the original DXD wave is 32bit Float, downsampling to 48kHz (or 96kHz) may produce a better sound quality.
That is why, perhaps, Rushton Paul claims that 32bit DXDs are better than 24bit DXDs.

Would you agree with this?

#225 Re: Freedom Hacks » A scientific test for resamplers. » 2024-07-14 13:17:14

aluma wrote:

I use audigy2, 24 bit, 195 kHz

Perhaps, it is Audigy2, 24 bit, 192 kHz.

aluma wrote:

There are many possibilities, for example, by recording a pure sinusodal signal from a generator with a frequency of 1 kHz and measuring the distortion when it is played back in different versions of the system, we can objectively evaluate the comparison of alsa vs pipeware vs pulseaudio. Or various resamplers.

It seems that your experiments can be simplified and made more exact.
All sorts of sinusoidal signals can be easily created with Audacity (with mathematical exactitude).

sudo apt install audacity 

Audacity → Generate → Tone → select frequency and amplitude

You can also change resolution:

Audacity → Edit → Preferences → Quality → "Default Sample Rate" and "Default Sample Format"

Then you may try to measure the distortions in playback. It might be very interesting.

But you may better start a new topic for this.

Board footer

Forum Software