A python script splits massive cue+flac tracks. Splitted tracks are saved in the same directory as raw cue&flac and original audio file is removed after double check.
Tested on 4.4TB mixed files, including 1398 unsplitted flacs
The script transcode every splitted track to CD quality flac because shnsplit, which hasn't updated for over 15 years, do not support splitting higher quality tracks with one-second accuracy cues, while almost no cue file uses milisecond accuracy.
-
determining which folder needs processing
-
codecs of cue files and convert to utf-8 by default
-
ctrl+c pause & resume
-
check & remove original track
-
tag muiti disc album
- separate mixed album in the same folder(e.g. instrument), which is essential for jellyfin mediaserver (need enable manually in script code)
Warning: don't pause during a split2flac process in wrong folder, it may cause data loss in that folder in some corner cases. If you did, remove the .processing file in that folder before resume.
-
split2flac and its dependencies
-
python3
-
chardet
-
mutagen
The modified version of split2flac is recommended because it supports album artist and unicode characters.
![截屏2024-06-07 14 43 59](https://private-user-images.githubusercontent.com/140488233/337554694-5664f886-4d03-4f56-8810-e336d7d7ead6.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIxMzM3NjEsIm5iZiI6MTcyMjEzMzQ2MSwicGF0aCI6Ii8xNDA0ODgyMzMvMzM3NTU0Njk0LTU2NjRmODg2LTRkMDMtNGY1Ni04ODEwLWUzMzZkN2Q3ZWFkNi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzI4JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcyOFQwMjI0MjFaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1lNzJmNTYyMDY2MTZhZTJhYWZjODQ2ZjA2ZTEwNWJhOTQ4NGQ4NzZjYTQyY2Q5MmVjYmZkMTJlM2YwZGVkMjc0JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.f8zSlKD4sHtbr_kgqRp068t4dKk8C5DDHktwTEZ94hM)
![截屏2024-06-07 14 45 33](https://private-user-images.githubusercontent.com/140488233/337555086-108e328a-0059-4bb0-ab45-4f49a18e875b.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIxMzM3NjEsIm5iZiI6MTcyMjEzMzQ2MSwicGF0aCI6Ii8xNDA0ODgyMzMvMzM3NTU1MDg2LTEwOGUzMjhhLTAwNTktNGJiMC1hYjQ1LTRmNDlhMThlODc1Yi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzI4JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcyOFQwMjI0MjFaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT04OWQ0Mjg2YTZmMDQ4MmY1YTJjOTY3OWMwNWYxZTk1YTIzZDQ4YjMxNDU2MDcwODlhZjYzZTAzMGE1NjU5ODkxJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.aLjacqrnuF9jYtWjcrsz5pmUxDTS8JzjAZ-MFLhVPQk)
![截屏2024-06-08 15 37 18](https://private-user-images.githubusercontent.com/140488233/337859170-c5495aa1-39f7-4196-87d5-c19c5b179f94.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIxMzM3NjEsIm5iZiI6MTcyMjEzMzQ2MSwicGF0aCI6Ii8xNDA0ODgyMzMvMzM3ODU5MTcwLWM1NDk1YWExLTM5ZjctNDE5Ni04N2Q1LWMxOWM1YjE3OWY5NC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzI4JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcyOFQwMjI0MjFaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1hNTAxZjUwNWNmMWY0ODY2MzgyMWNmYzRhMzA2N2IxNDkxODlhZGRkMDc3NjU5YjA2Y2RjYjU5ZTQ2Y2FjN2MxJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9._-T7tDfv4uk1_g56F0JmZMRsHkjnSo-MXnosyMbOiH8)