MikiraSora / BmsPreviewAudioGenerator

可批量生成bms预览音频文件
MIT License
31 stars 4 forks source link

failure to generate previews when the bms structure is non-standard #10

Open estebanxz opened 4 months ago

estebanxz commented 4 months ago

Hi folks, I am trying to use beatoraja Preview Audio Generator, it worked just fine for most of my library but some songs will not get their previews generated, most of them i think is because the way the bms are formatted, here is the command I used just in case .\BmsPreviewAudioGenerator.exe -batch -path="G:\BMS" -start="20000" -end="40000" -save_name="preview_auto_generator.ogg" -support_extend_format -fade_in="1000" -fade_out="2000" (using latest 0.9.9 version of the program)

IE: most bmses i've seen are formatted like this where all the files are located in the song folder [exhibit A]

a

but some bmses follow different structures like this one have a dedicated folder for the audio/samples inside the song folder, These will fail always [exhibit B and C]

b c

here is the complete list of all the bms that failed to generate in my database.

failed list.txt

I can provide any more info if needed and thanks for this awesome tool!

MikiraSora commented 4 months ago

please upload failed bms folders with zipped

estebanxz commented 4 months ago

please upload failed bms folders with zipped

You mean all the 159 bms that failed? Just messaging to confirm

MikiraSora commented 4 months ago

yes, I dont want to find and download them one by one. it will waste my time and life

estebanxz commented 4 months ago

yes, I dont want to find and download them one by one. it will waste my time and life

sorry for the delay, here is everything zipped up: https://drive.google.com/file/d/1vwPmI16UJBBSQzGTD3xU5aXjw_JgBzu7/view?usp=sharing

it's currently 4 am here so if you need anything else i will answer tomorrow as soon as possible, thanks!

MikiraSora commented 4 months ago

take a try: https://github.com/MikiraSora/BmsPreviewAudioGenerator/releases/tag/v0.9.9.5

estebanxz commented 4 months ago

take a try: https://github.com/MikiraSora/BmsPreviewAudioGenerator/releases/tag/v0.9.9.5

i will try it right now, will report back with log when it's done, thanks for taking the time

estebanxz commented 4 months ago

The generator finished just a minute ago, it took a long time because I used no-skip option, the errors went down significantly (159 errors down to 38!), I checked a few of the problematic bms that were previously failing and now they got generated correctly, that said, there are still a few bms that are failing:

Generate failed list(38):
G:\BMS\nebula   (audio_map is empty)
G:\BMS\OR       (Object reference not set to an instance of an object.)
G:\BMS\please needle Me (audio_map is empty)
G:\BMS\Sympathy (Radio Edit)    (The given key '3' was not present in the dictionary.)
G:\BMS\U-F JaGaRerAIseR (audio_map is empty)
G:\BMS\yearn[BMS edit]  (Could not find a part of the path 'G:\BMS\yearn[BMS edit]\�����f�B[�'.)
G:\BMS\えれくとろ 遅延寺       (audio_map is empty)
G:\BMS\おちんぽビーム   (audio_map is empty)
G:\BMS\はっぱ   (audio_map is empty)
G:\BMS\びっくりドンカッ!        (audio_map is empty)
G:\BMS\やばいクレーマーのSUSURU TV      (audio_map is empty)
G:\BMS\初めてのDP       (audio_map is empty)
G:\BMS\焔-HOMURA-       (audio_map is empty)
G:\BMS\生きたい (audio_map is empty)
G:\BMS\職権を乱用するRainbow    (audio_map is empty)
G:\BMS\足ツブテと足ーク (audio_map is empty)
##########################################################
THE FOLLOWING ARE SPECIAL CASES, SEE BELOW FOR EXPLANATION
##########################################################
G:\BMS\Ad astra itur ≡☆\Base bms (for variation)        (audio_map is empty)
G:\BMS\BPM = BPM + 1\Base bms   (audio_map is empty)
G:\BMS\cetacean\sabun   (audio_map is empty)
G:\BMS\Clyncye Quivale Elle Didalia Kapa, Ooizumihara [BMSedit]\sabun   (audio_map is empty)
G:\BMS\Cold Street\EX   (audio_map is empty)
G:\BMS\Conclusio Catastropha -BMS edit-\Misc    (audio_map is empty)
G:\BMS\Derivated Warriors\Extra (audio_map is empty)
G:\BMS\FINGER FOOD\base (audio_map is empty)
G:\BMS\Fire of Sword\差分用bms  (audio_map is empty)
G:\BMS\Froggy Forest Raceway\base       (audio_map is empty)
G:\BMS\JUSTiFY\Base bms (audio_map is empty)
G:\BMS\Kreuz\legacy     (audio_map is empty)
G:\BMS\Library at Noon\Base bms (for variation) (audio_map is empty)
G:\BMS\Primula\無配置譜面       (audio_map is empty)
G:\BMS\Retronika\bonus  (audio_map is empty)
G:\BMS\Somewherediver's Windsong\sabun  (audio_map is empty)
G:\BMS\subglacial flux\sabun    (audio_map is empty)
G:\BMS\TheFLEX2\Template        (audio_map is empty)
G:\BMS\VIII-XIV/Vertebramorph\sabun    (audio_map is empty)
G:\BMS\星羅征く旅人 "( 同種 )"\sabun  (audio_map is empty)
G:\BMS\環状軟骨 (cricoid cartilage)\sabun       (audio_map is empty)
G:\BMS\運命\see me      (audio_map is empty)

I manually checked and these bms are already sent in the previous zip so no need to resend i think,

I can also notice some bms have weird layouts as you can see here Captura de pantalla 2024-05-16 230201

I don't know what to do in these cases to be honest.

estebanxz commented 4 months ago

I Thought about it for a minute, and a possible solution for the bms with weird layout could be to check whether the directory has a correct hierarchy ( when using the batch option )

In Example :

if directory BMSFOLDER\SONG\FOLDER1\SONG.BMS ignore the generation.
if directory BMSFOLDER\SONG\SONG.BMS proceed with generation.

that's just what I came up with, hopefully it can help in some way

MikiraSora commented 4 months ago

I don't know if Beatoraja will also load. bms files from subfolders If it will load, then I will also consider how to correctly generate its audio file. But in reality, I don't know much about the standardization of BMS format, and there may be some implementation details that I haven't taken into care.

MikiraSora commented 4 months ago

take a try : https://puu.sh/K74xq/c23f72467f.zip

estebanxz commented 4 months ago

testing!

estebanxz commented 4 months ago
Generate failed list(25):
G:\BMS\nebula   (audio_map is empty)
G:\BMS\OR       (Object reference not set to an instance of an object.)
G:\BMS\職権を乱用するRainbow    (audio_map is empty)
G:\BMS\Ad astra itur ≡☆\Base bms (for variation)        (audio_map is empty)
G:\BMS\BPM = BPM + 1\Base bms   (audio_map is empty)
G:\BMS\cetacean\sabun   (audio_map is empty)
G:\BMS\Clyncye Quivale Elle Didalia Kapa, Ooizumihara [BMSedit]\sabun   (audio_map is empty)
G:\BMS\Cold Street\EX   (audio_map is empty)
G:\BMS\Conclusio Catastropha -BMS edit-\Misc    (audio_map is empty)
G:\BMS\Derivated Warriors\Extra (audio_map is empty)
G:\BMS\FINGER FOOD\base (audio_map is empty)
G:\BMS\Fire of Sword\差分用bms  (audio_map is empty)
G:\BMS\Froggy Forest Raceway\base       (audio_map is empty)
G:\BMS\JUSTiFY\Base bms (audio_map is empty)
G:\BMS\Kreuz\legacy     (audio_map is empty)
G:\BMS\Library at Noon\Base bms (for variation) (audio_map is empty)
G:\BMS\Primula\無配置譜面       (audio_map is empty)
G:\BMS\Retronika\bonus  (audio_map is empty)
G:\BMS\Somewherediver's Windsong\sabun  (audio_map is empty)
G:\BMS\subglacial flux\sabun    (audio_map is empty)
G:\BMS\TheFLEX2\Template        (audio_map is empty)
G:\BMS\VIII-XIV/Vertebramorph\sabun    (audio_map is empty)
G:\BMS\星羅征く旅人 "( 同種 )"\sabun  (audio_map is empty)
G:\BMS\環状軟骨 (cricoid cartilage)\sabun       (audio_map is empty)
G:\BMS\運命\see me      (audio_map is empty)

It seems besides the false positives only 3 bms remain, thank you once again for taking the time to fix this

EDIT: I forgot to mention, i can confirm the bms that were fixed are generated correctly. (well most, except a few of the bms that are gimmick ones, very short song length etc, those don't need to be fixed at least in my opinion)

"足ツブテと足ーク" for example is one of the worst offenders, why was this included in a bms pack i don't know, maybe it's a reference I don't get

MikiraSora commented 4 months ago

try a again: https://github.com/MikiraSora/BmsPreviewAudioGenerator/releases/tag/v0.9.9.6

G:\BMS\nebula     <-- FIXED
G:\BMS\OR       <-- NOT FIX
G:\BMS\職権を乱用するRainbow    <-- FIXED

others such as diff bms in subfolders, I will take a time to refactory program workflow to implmenent them.

estebanxz commented 4 months ago

try a again: https://github.com/MikiraSora/BmsPreviewAudioGenerator/releases/tag/v0.9.9.6

G:\BMS\nebula     <-- FIXED
G:\BMS\OR       <-- NOT FIX
G:\BMS\職権を乱用するRainbow    <-- FIXED

others such as diff bms in subfolders, I will take a time to refactory program workflow to implmenent them.

Generate failed list(23):
G:\BMS\OR       (Object reference not set to an instance of an object.)
G:\BMS\Ad astra itur ≡☆\Base bms (for variation)        (audio_map is empty)
G:\BMS\BPM = BPM + 1\Base bms   (audio_map is empty)
G:\BMS\cetacean\sabun   (audio_map is empty)
G:\BMS\Clyncye Quivale Elle Didalia Kapa, Ooizumihara [BMSedit]\sabun   (audio_map is empty)
G:\BMS\Cold Street\EX   (audio_map is empty)
G:\BMS\Conclusio Catastropha -BMS edit-\Misc    (audio_map is empty)
G:\BMS\Derivated Warriors\Extra (audio_map is empty)
G:\BMS\FINGER FOOD\base (audio_map is empty)
G:\BMS\Fire of Sword\差分用bms  (audio_map is empty)
G:\BMS\Froggy Forest Raceway\base       (audio_map is empty)
G:\BMS\JUSTiFY\Base bms (audio_map is empty)
G:\BMS\Kreuz\legacy     (audio_map is empty)
G:\BMS\Library at Noon\Base bms (for variation) (audio_map is empty)
G:\BMS\Primula\無配置譜面       (audio_map is empty)
G:\BMS\Retronika\bonus  (audio_map is empty)
G:\BMS\Somewherediver's Windsong\sabun  (audio_map is empty)
G:\BMS\subglacial flux\sabun    (audio_map is empty)
G:\BMS\TheFLEX2\Template        (audio_map is empty)
G:\BMS\VIII-XIV/Vertebramorph\sabun    (audio_map is empty)
G:\BMS\星羅征く旅人 "( 同種 )"\sabun  (audio_map is empty)
G:\BMS\環状軟骨 (cricoid cartilage)\sabun       (audio_map is empty)
G:\BMS\運命\see me      (audio_map is empty)
PS G:\beatoraja\BmsPreviewAudioGenerator>

Yep as you said, its all fixed now thank you so much, you can keep the issue open to remind you to check on the bms subfolders problem, or just close it because at least on my end my problem is now resolved, whichever is best for you.