kmein / vu-meter

Python VU (Volume Unit) Meter
GNU General Public License v3.0
22 stars 6 forks source link

Next implementation of your code :) #2

Closed kryptolix closed 1 year ago

kryptolix commented 1 year ago

Hi, thanks for your work back in the days :D I found your code and used some parts in my implementation of an audio recorder. It's done in Qt6 with the QProgressBar and works fine so far. However, I am kinde curious, what the calculation in the amplitute.from _data does. What kind of value can I expect with this calculation? I want the volume-meter to give me some dB-values. Once I'm done with the project, I want to publish it to Github as well. The goal is a Cubase-compatible Recorder and I need it working on Friday :') For now the fine-tuning of the vu-meter has to be done and some additional functions for our workflow. I hope to hear from you soon!

kryptolix commented 1 year ago

grafik

kmein commented 1 year ago

Cool to see my old pet-project being actually (and still!) used!

I think I used the root-mean-square method for calculating the amplitude from audio data. I do not remember exactly how it works, but I think these links help if you want to understand it:

Sorry I didn't reply earlier. Somehow I was not notified correctly.

kryptolix commented 1 year ago

Hi, as you see, I am not quick with the answer myself. Thanks for your hints. I will look into them more, when I continue my development of the recorder :) My project is currently on ice. I used a VM to code, as my main system runs Windows and I need the software on a Ubuntu system. On the VM it kinda worked, but was very instable due to buffer and timing things. Once I ran it on a native Ubuntu installation, it immediately failed, because the QtProgressBar doesn't allow updates from a different thread. I don't remember exactly, how the error message was. But it had to do with me trying to run the Qt Window and the recording in different threads and not using the correct method to interchange variables from one thread to the other. I wasn't able to solve this issue, as I'm not that confident in programming yet. But I will eventually continue on that program in the near future. There are different and more important tasks to solve atm :) Have a nice time!