Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: LossyFlacGUI  (Read 8823 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

LossyFlacGUI



This application was designed to simplify process of converting FLAC using lossywav.
Unfortunately Lossywav is quiet slow due to single threaded nature. In order to speed up processing with lossywav work is split in chunks using --skip and --until switches and then all chunks are executed simultaneously. .
Example for 2 threads.

chunk 1
Code: [Select]
"flac.exe" -d "audio.flac" --skip=0 --until=7379584 --silent --stdout | "lossywav.exe" - --stdinname "audio.0001.wav" --force --outdir "..\LossyFlacMT_temp"
chunk 2
Code: [Select]
"flac.exe" -d "audio.flac" --skip=7379584 --silent --stdout | "lossywav.exe" - --stdinname "audio.0002.wav" --force --quality standard --outdir "..\LossyFlacMT_temp"

No matter how many CPUs you have on motherboard each core will work at 100% reducing encoding time significantly. This is very helpful if you work with long movie audio tracks. My Xeon E5-2690 (8C/16T) can convert 120 min 48KHz 6 channels 24 bit in ~1min:30s where before it took ~17min! Of course there is small bottleneck because wavs must be combined (using SOX) and encoded back to FLAC. I suppose this shouldn't be a big problem if you have decent MLC SSD and GPU (encoding with FlacCL).

[DOWNLOAD]

Re: LossyFlacGUI

Reply #1
Looks good. Will play with it when I get home.

Have you checked if the splitting of the files result in an identical file at the end compared to the single threaded option? Lossywav uses blocks of a certain size. If the file is not split exactly at the right point there can be a difference between these files and single threaded outputs. Should sound fine because they are combined afterwards, but can differ mathematically. I doubt it's audible.

For movies the method is fine (big files), for music, Foobar is still unbeatable for me, you can do virtually anything when you know how to use the parameters.

PS. Using all cores (especially hyperthreaded) is not always the best. When converting lots of files at the same time you can get severe fragmentation on the harddisk. I normally use foobar for converting, but always start it with the "AFFINITY" set to 0+2+4+6. This works faster than all 8 threads on my i7. Fragmentation is not a problem when playing, but working with the files (copying) will be much slower, also defragmentation can take many hours on large collections. Multithreading just for temporary files is fine by the way.

PS2. Did you also use the right blocksize for the FLAC output? If not you're wasting a lot of bits... The screenshot doesn't show that.

PS3. I would advise against using a SSD as a working directory for this conversion method. This will rapidly expose a lot of writing cycles to your SSD. I can shorten the life of the cells. When you have enough memory you could create a ramdisk. That is even way faster also!

Re: LossyFlacGUI

Reply #2
Quote
Have you checked if the splitting of the files result in an identical file at the end compared to the single threaded option? Lossywav uses blocks of a certain size. If the file is not split exactly at the right point there can be a difference between these files and single threaded outputs. Should sound fine because they are combined afterwards, but can differ mathematically. I doubt it's audible.

If you mean whether checksum is the same with single threaded then answer will be of course no. But does it really matter? If you encode movies with x264/x265 you also get slightly different PSNR/SSIM values with different numbers of threads used. As long as number of samples in encoded flac is the same with source flac everything is ok.

Quote
Using all cores (especially hyperthreaded) is not always the best. When converting lots of files at the same time you can get severe fragmentation on the harddisk.
You are wasting CPU cycles if you do not use all logical processors. Hyperthreading on my 8 core xeon acts like 4 additional cores.
So instead of 7x I get 12 times more (84x)

Quote
Did you also use the right blocksize for the FLAC output? If not you're wasting a lot of bits... The screenshot doesn't show that.
Block size is chosen optimally. 192KHz -> 2048, 96KHz -> 1024, 48/44.1 -> 512

Quote
I would advise against using a SSD as a working directory for this conversion method. This will rapidly expose a lot of writing cycles to your SSD. I can shorten the life of the cells. When you have enough memory you could create a ramdisk. That is even way faster also!

New version won't combine wavs to single audio file. Instead wavs will be combined on fly with SOX and piped to FLAC encoder.

Code: [Select]
sox.exe *.wav -t wav - | flac.exe -

Endurance of MLC drives is very high. Do not worry about those cycles.


If you have 240 GB SSD with 20nm MLC NAND you can write ~256 TiB (Write Amplification Factor = 3) and still have 1 year data retention at 30C!

Re: LossyFlacGUI

Reply #3
My experience with converting to FLAC with 4 threads vs 8 threads is that 8 threads is slower when using a harddisks. The disk maxes out at 100% utilisation and the CPU's start idling a lot.  On my system using 4 threads is optimal but y.m.m.v..

PS. The newer the SSD generation,the less writecycles are possible. I hope they soon get around this. I'm quite happy I have some (older) Intel SSD's :)

I have quite a few newer generation SSD's fail on my. The old ones run fine after many years.

Re: LossyFlacGUI

Reply #4
Quote
PS. The newer the SSD generation,the less writecycles are possible. I hope they soon get around this. I'm quite happy I have some (older) Intel SSD's :)
That's true because they have been constantly lowering manufacturing process.

Quote
I have quite a few newer generation SSD's fail on my.
Most likely controler died not NAND.

Re: LossyFlacGUI

Reply #5
LossyFlacGUI v1.0.0


Changelog
Code: [Select]
-chunks are created according to optimal block size. (number of samples in chunk is divisible by 512 or 1024 or 2048)
-chunks are now combined and encoded on fly
-added more information in GUI
-fixed not working tags reimporting
-option to add whole folder
-summary for all converted files
-progress bar on taskbar
-temp folder can be specified in .ini file
-custom settings are now saved in .ini file

[DOWNLOAD]

Re: LossyFlacGUI

Reply #6
How can I change size of main window?

Re: LossyFlacGUI

Reply #7
You can't because resizing is disabled. I will change that in next version.



Re: LossyFlacGUI

Reply #10
...I can't add folder nor files.
Error 404; signature server not available.

Re: LossyFlacGUI

Reply #11
This is a nice tool, thanks.
It would be convenient if drag-and-drop was supported for adding files and folder, but right click and pasting in a path in the file selection dialog works for me. Most inconvenient is setting the output folder with the awful directory selector, which does not allow to create a new folder either. Just a text field, where you can copy and paste the output path from explorer is much better, and where the output folder is created if it's non existing.

Re: LossyFlacGUI

Reply #12
Very nice tool and fast. :)
I noticed that version 1.0.1 works fine (for me), however, I can't add files or folders in latest version (v1.1.0).


Re: LossyFlacGUI

Reply #14
Much better now, thank you! Was it unicode support? Although, I didn't have any weird letters in file and folder names.
Error 404; signature server not available.

Re: LossyFlacGUI

Reply #15
Much better now, thank you! Was it unicode support? Although, I didn't have any weird letters in file and folder names.
Unfortunately unicode is not supported. National characters like for example "ąćęłńóśżź" will work as long as you have correctly set language for non-unicode programs ( https://www.coscom.co.jp/learnjapanese801/japanesefont/nonunicode_win7.html )


Re: LossyFlacGUI

Reply #16
Very nice tool and fast. :)
I noticed that version 1.0.1 works fine (for me), however, I can't add files or folders in latest version (v1.1.0).


Let me know if this version fixes issue with national characters in paths on your pc.

LossyFlacGUI v1.1.1
https://www.mediafire.com/file/mvk7rwfp7uy71c9/LossyFlacGUI_v1.1.1.7z/file

Still can't add files or folders (I don't use special characters on files or folders).

Re: LossyFlacGUI

Reply #17
Very nice tool and fast. :)
I noticed that version 1.0.1 works fine (for me), however, I can't add files or folders in latest version (v1.1.0).


Let me know if this version fixes issue with national characters in paths on your pc.

LossyFlacGUI v1.1.1
https://www.mediafire.com/file/mvk7rwfp7uy71c9/LossyFlacGUI_v1.1.1.7z/file

Still can't add files or folders (I don't use special characters on files or folders).

What language do you use in windows?

Re: LossyFlacGUI

Reply #18
BTW. Just for science I've checked how much performance you lose if you disable HT (recommended by intel due to security reasons).


OUCH! -30%

Just for fun can somebody test how big drop is on AMD if you disable SMT?

 

Re: LossyFlacGUI

Reply #19
Allegedly SMT is not an issue for AMD processors, but I have my suspicions about that, since AMD processors, including Ryzen, are vulnerable to a lot of the same issues as Intel processors.

The thing is, though, the issue with SMT is mostly regarding MDS, and AMD processors are also allegedly immune to MDS type attacks.