6 features

This read-only archive contains discussions from the Adding Feature forum.
New feature request may be posted to the Adding Feature forum.
Technical support is available via the Help forum.
Piotr Grochowski
Posts: 162
Joined: Fri Jun 23, 2017 12:45 pm
Operating System: Windows 10

Re: 6 features

Post by Piotr Grochowski » Thu Aug 10, 2017 1:14 pm

steve wrote:
Piotr Grochowski wrote:I want native 8-bit.
OK, I'm sure we can do that. I estimate that it will cost around $60000. How will you pay?
No! I want it in free Audacity, not a paid program.

Make a free "Audacity for fun" that supports 8-bit PCM.

Piotr Grochowski
Posts: 162
Joined: Fri Jun 23, 2017 12:45 pm
Operating System: Windows 10

Re: 6 features

Post by Piotr Grochowski » Wed Aug 16, 2017 3:10 pm

Here is comparison of equal harmonics and sawtooth wave (where harmonics decrease):
Image
They look very similar. Linear volume scale would fix this.

Piotr Grochowski
Posts: 162
Joined: Fri Jun 23, 2017 12:45 pm
Operating System: Windows 10

Re: 6 features

Post by Piotr Grochowski » Sat Sep 09, 2017 6:43 pm

Photosounder got it right. It uses a gamma-corrected linear volume scale, and it always normalizes spectrograms. In white noise, bass is correctly darker (quieter) because bass is more magnified in logarithmic than linear (I mean the frequency scale logarithmic/linear this time, not the other logarithmic/linears). Scale can be varied by gradient.png file. Unlike logarithmic volume scale, linear volume scale has its minimum, just like brightness, so linear volume scale is accurate. Audacity miserably fails with trying to make quietest sounds visible, and ending up with horrible contrast. Normalizing spectrograms is a way to properly show volumes above 1 in spectrograms. Please. If you think there is no problem with current system, explain the dB marks on the gain thingies.

Step 1: make volume scale linear (please this!).
Step 2: make colors adjustable.
This is what it will look like after these steps: http://i.imgur.com/cfuZz55.png

Step 3: use higher default window size, to reduce confusion
Step 4: don't temporarily crash when loading spectrograms, instead allow user to use it. keep certain resolution images of spectrograms in memory for view before loading pixel resolution
Step 5: automatically normalize spectrograms.
Step 6: use gamma correction.
Step 7: allow custom gradients as image.
Step 8: make bass quieter to compensate for bass magnifying.
Step 9: use some filtering on frequency instead of nearest neighbor filtering.
Step 10: allow more algorithms, like band-pass filter and envelope detection (this allows for customizable time-frequency resolution for different frequencies)
Step 11: realize that these steps make it easier for many people.

There you go. A step solution is much less likely to completely fail. Photosounder uses these already.

Piotr Grochowski
Posts: 162
Joined: Fri Jun 23, 2017 12:45 pm
Operating System: Windows 10

Re: 6 features

Post by Piotr Grochowski » Mon Mar 26, 2018 6:12 am

Bump!! It's very important to allow an option to always use a standard volume for absolute volumes, a volume factor for relative volumes, a linear-based colorcode for spectrograms, and never a decibel volume. Otherwise the simplicity, learnability and usefulness of spectrograms is ruined. I don't care what you think, please add an option.

For example, Equalization... would turn from this horrible monstrosity

https://i.imgur.com/n49GBvo.png

to this beautiful Equalization... window:

https://i.imgur.com/3YtJiDR.png

Piotr Grochowski
Posts: 162
Joined: Fri Jun 23, 2017 12:45 pm
Operating System: Windows 10

Re: 6 features

Post by Piotr Grochowski » Sat Apr 14, 2018 6:32 am

bump! please add native 8-bit PCM, micro-law/mu-law/u-law/µ-law/μ-law, A-law, 16-bit float (middle ground between μ-law and 32-bit float), 32-bit PCM, 64-bit PCM, 64-bit float, 7-bit PCM, 6-bit PCM, 5-bit PCM, 4-bit PCM, 3-bit PCM, 2-bit PCM, 1-bit PCM, 9-bit PCM, 10-bit PCM, 11-bit PCM, 12-bit PCM, 13-bit PCM, 14-bit PCM, 15-bit PCM, 17-bit PCM, 18-bit PCM, 19-bit PCM, 20-bit PCM, 21-bit PCM, 22-bit PCM, 23-bit PCM, 24-bit PCM, 25-bit PCM, 26-bit PCM, 27-bit PCM, 28-bit PCM, 29-bit PCM, 30-bit PCM, 31-bit PCM, custom 12-bit (user can pick what the 4096 sample values are), custom 11-bit (user can pick what the 2048 sample values are), custom 10-bit (user can pick what the 1024 sample values are), custom 9-bit (user can pick what the 512 sample values are), custom 8-bit (user can pick what the 256 sample values are), custom 7-bit (user can pick what the 128 sample values are), custom 6-bit (user can pick what the 64 sample values are), custom 5-bit (user can pick what the 32 sample values are), custom 4-bit (user can pick what the 16 sample values are), custom 3-bit (user can pick what the 8 sample values are), custom 2-bit (user can pick what the 4 sample values are), custom 1-bit (user can pick what the 2 sample values are), IMA ADPCM, Microsoft ADPCM, GSM 6.10 and all the ADPCMs from the Internet, such as this one: https://wiki.multimedia.cx/index.php/Covox_ADPCM this one: https://hydrogenaud.io/index.php/topic,115284.0.html this one: https://hydrogenaud.io/index.php/topic,70620.0.html and so on — and also adapt them to μ-law. It may be true that there is no sound format for many of these, but come on, it's not that much of a stretch to add support for them in the aup format and the Audacity RAM format.

Piotr Grochowski
Posts: 162
Joined: Fri Jun 23, 2017 12:45 pm
Operating System: Windows 10

Re: 6 features

Post by Piotr Grochowski » Sat Apr 14, 2018 12:36 pm

Piotr Grochowski wrote:Step 1: make volume scale linear (please this!).
Step 2: make colors adjustable.
This is what it will look like after these steps: http://i.imgur.com/cfuZz55.png

Step 3: use higher default window size, to reduce confusion
Step 4: don't temporarily crash when loading spectrograms, instead allow user to use it. keep certain resolution images of spectrograms in memory for view before loading pixel resolution
Step 5: automatically normalize spectrograms.
Step 6: use gamma correction.
Step 7: allow custom gradients as image.
Step 8: make bass quieter to compensate for bass magnifying.
Step 9: use some filtering on frequency instead of nearest neighbor filtering.
Step 10: allow more algorithms, like band-pass filter and envelope detection (this allows for customizable time-frequency resolution for different frequencies)
Step 11: realize that these steps make it easier for many people.
8 was already done with Frequency Gain. 3 is now done. So:

Step 1: make volume scale linear (please this!).
Step 2: make colors adjustable.
This is what it will look like after these steps: http://i.imgur.com/cfuZz55.png

Step 3: don't temporarily crash when loading spectrograms, instead allow user to use it. keep certain resolution images of spectrograms in memory for view before loading pixel resolution
Step 4: automatically normalize spectrograms.
Step 5: use gamma correction.
Step 6: allow custom gradients as image.
Step 7: use some filtering on frequency instead of nearest neighbor filtering.
Step 8: allow more algorithms, like band-pass filter and envelope detection (this allows for customizable time-frequency resolution for different frequencies)
Step 9: realize that these steps make it easier for many people.

Step 2 includes step 1, so it's not actually done, as none of the colors from the Custom theme correspond to silence, and the colors are not linearly interpolated.

Step 6 (which includes 1, 2 and 5) would allow custom gradients as image; it would read the first row of the image, and interpret the first pixel as silence, last pixel as full volume (or max volume if step 4 is done) and pixels in between as intermediate values interpolated linearly. Photosounder does it like this, and it works well. A separate image would work for selection colors.

Step 7 is not solved by zero–padding, because it actually computes the FFT to a higher precision and is therefore slower. Instead the frequency output itself would be smoothly interpolated to the screen.

steve
Site Admin
Posts: 47589
Joined: Sat Dec 01, 2007 11:43 am
Operating System: Linux *buntu
Contact:

Re: 6 features

Post by steve » Sat Apr 14, 2018 2:35 pm

Please stop "bumping" this topic Piotr. If anyone is interested, they will post a reply.
9/10 questions are answered in the FREQUENTLY ASKED QUESTIONS (FAQ)

Piotr Grochowski
Posts: 162
Joined: Fri Jun 23, 2017 12:45 pm
Operating System: Windows 10

Re: 6 features

Post by Piotr Grochowski » Sat Apr 14, 2018 2:41 pm

A custom 5–bit format would allow users to customize each of the 32 sample values! Useful. For example one user could customize it like this:

-29 -25 -21 -17 -15 -13 -11 -9
-8 -7 -6 -5 -4 -3 -2 -1
0 1 2 3 4 5 6 7
8 10 12 14 16 20 24 28

⁄32

Note that it has greater linear precision for quieter samples, similarly to U–Law, A–Law, 16–bit float, 32–bit float, 64–bit float, 80–bit float and 128–bit float.

Makes me wonder if it's possible to adapt 1 or 2 bit ADPCM onto this or other similar designs (like 4–bit, 6–bit or 7–bit custom PCM). And if yes, I wonder how it would sound. Of course the custom 5–bit PCM would already sound somewhat noisy.

Piotr Grochowski
Posts: 162
Joined: Fri Jun 23, 2017 12:45 pm
Operating System: Windows 10

Re: 6 features

Post by Piotr Grochowski » Sat Apr 14, 2018 4:16 pm

steve wrote:Please stop "bumping" this topic Piotr. If anyone is interested, they will post a reply.
That bump contained a big wishlist of native formats that could be converted into for each operation. How else am I going to post a detailed wishlist?

Piotr Grochowski
Posts: 162
Joined: Fri Jun 23, 2017 12:45 pm
Operating System: Windows 10

Re: 6 features

Post by Piotr Grochowski » Sat Apr 14, 2018 4:34 pm

Piotr Grochowski wrote:Please add native 8-bit PCM, micro-law/mu-law/u-law/µ-law/μ-law, A-law, 16-bit float (middle ground between μ-law and 32-bit float), 32-bit PCM, 64-bit PCM, 64-bit float, 7-bit PCM, 6-bit PCM, 5-bit PCM, 4-bit PCM, 3-bit PCM, 2-bit PCM, 1-bit PCM, 9-bit PCM, 10-bit PCM, 11-bit PCM, 12-bit PCM, 13-bit PCM, 14-bit PCM, 15-bit PCM, 17-bit PCM, 18-bit PCM, 19-bit PCM, 20-bit PCM, 21-bit PCM, 22-bit PCM, 23-bit PCM, 24-bit PCM, 25-bit PCM, 26-bit PCM, 27-bit PCM, 28-bit PCM, 29-bit PCM, 30-bit PCM, 31-bit PCM, custom 12-bit (user can pick what the 4096 sample values are), custom 11-bit (user can pick what the 2048 sample values are), custom 10-bit (user can pick what the 1024 sample values are), custom 9-bit (user can pick what the 512 sample values are), custom 8-bit (user can pick what the 256 sample values are), custom 7-bit (user can pick what the 128 sample values are), custom 6-bit (user can pick what the 64 sample values are), custom 5-bit (user can pick what the 32 sample values are), custom 4-bit (user can pick what the 16 sample values are), custom 3-bit (user can pick what the 8 sample values are), custom 2-bit (user can pick what the 4 sample values are), custom 1-bit (user can pick what the 2 sample values are), IMA ADPCM, Microsoft ADPCM, GSM 6.10 and all the ADPCMs from the Internet, such as this one: https://wiki.multimedia.cx/index.php/Covox_ADPCM this one: https://hydrogenaud.io/index.php/topic,115284.0.html this one: https://hydrogenaud.io/index.php/topic,70620.0.html and so on — and also adapt them to μ-law. It may be true that there is no sound format for many of these, but come on, it's not that much of a stretch to add support for them in the aup format and the Audacity RAM format.
Of course, these would be not much useful for many people because they're either worse or indistinguishable from 32-bit float. However, there may be rare people who want to do audio operations on a stream of numbers that are not 16-bit fixed point numbers, 24-bit fixed point numbers or 32-bit floating point numbers (converting to these may produce unacceptable loss), or rare people who want to find out what a sound will sound like in these formats.

Oh, and I forgot some more encodings to the wishlist:

n-bit PCM, 64-bit float, 80-bit float, 128-bit float, 128-bit PCM, 256-bit float, 256-bit PCM, custom float, custom encoding programmed in Nyquist (which would include samples of some formats like IMA ADPCM, 8-bit PCM, 16-bit PCM, 32-bit PCM and 32-bit float)

Locked