SongKong Jaikoz

SongKong and Jaikoz Music Tagger Community Forum

Getting a fpcalc error with a '(' with SongKong on song discovery and import

SongKong is not recognizing and fingerprinting nearly any of the 105 test songs I have for it while testing it out. This is the error message that SongKong has been generating for each song when trying to fingerprint it:

Warning:Unable to retrieve an acoustic id for song 1 file /volumes/data/music/music/1000 Homo DJs - Supernaut.mp3 because /var/opt/songkong/fpcalc_linux64: 9: Syntax error: "(" unexpected

Any ideas how to resolve this?

thanks John

Please run Create Support Files

Done that now, twice…

Hi, thanks

The generation of the fingerprint is done by Acoustid using a64bit c program (fpcalc), this is the only non-Java part of SongKong. There is no more information in the logs then the error you have Syntax error: “(” unexpected but my suspision is the c binary is not compatatible with your system, what kind of Linux system is it, Intel or Arm based 32 or 64 bit ?

It is ARM64, I know that fpcalc should run. I have tried that utility in an earlier attempt at scanning before. But the error stopped in my attempts at running it this morning though. So may have been a fluke? But it is skipping about 90% of the music in the directory as unidentifieable though. It’s not getting anything as far as a signature from them it seems and they are modern notable songs so I would think they’d be easily identifieable by the app.

Just ran it again against 400 songs and it was only able to identify 10 songs. It threw 400 of these errors: Warning:Unable to retrieve an acoustic id for song 2 file /volumes/data/music/music/2 Shadows - Screamworks Official Video.mp3 because /var/opt/songkong/fpcalc_linux64: 9: Syntax error: “(” unexpected. All the same with the fpcalc error complaning about the ‘(’ at the same line in the code.

John

Okay there is issue with logic for working out the right binary

private static void identifyLinuxExe()
{
    if (LinuxArch.is64Bit())
    {
        linux_exe  = FolderCopying.getInstallLinuxAppPath().toString() + '/' + "fpcalc_linux64";
    }
    else if (LinuxArch.isArm32Bit())
    {

        linux_exe  = FolderCopying.getInstallLinuxAppPath().toString() + '/' + "fpcalc_arm32";
    }
    else
    {
        linux_exe  = FolderCopying.getInstallLinuxAppPath().toString() + '/' + "fpcalc_linux";
    }
}

So because your OS reports that it is 64bit we use the 64bit Intel binary, not an 64bit Arm binary. However we have another issue that i dont have an arm64 binary only an arm32 binary.

Could you try going into the songkong folder and manually running fpcalc_arm32 against a file and see if that runs?

I don’t think fpcalc is working for any of your files, but SongKong does have other ways to identify files so that is why you think it is partially working. However the issue is you have all your songs in one single folder and SongKong tries by default to match each folder to whole albums. But first please report back on if fpcalc_arm32 works on your system, if it does we can get round the problem by renaming the file to fpcalc_linux64

That indeed does work by issuing fpcalc_arm32 by itself against a song. It returns the fingerprint as expected!

John

Okay, just delete fpcalc_linux64, copy fpcalc_arm32 to fpcalc_linux64 and then try rerunning SongKong

Good to see the results please if you could run Create Support Files, I would like to check if using fpcalc arm32 version is actually creating valid fingerprints on arm 64 platfirm.

File uploaded! Please take a look.

John

Hi, thanks okay it seems to be working correctly, I’ll summarize

With report 17 we can see that most songs were identified, but they were matched MusicBrainz Song Only because of the issue i mentioned earlier that al songs were in one folder that could not be matched to one album

And if I checked the Acoustid added for a song it is pointing to the correct song

Then I see you reran with report 20 and disabled Only allow match if all songs in grouping match to one album to allow album matching which would be the right think to do in your case.

however, you are using the Add Artwork Only option

this means no metadata is added except for artwork and some key MusicBraizn/Acoustid identifers that songKong needs to function sensibly

Did you mean to only add artwork ?

MetaData seemed to be there but the artwork was not so I was trying to force it to only apply Album Artwork only to see if it would finally grab the artwork.

No the metadata is mostly not there, most of your files have almost no metadata, you would be best of using the Default profile to add metadata and artwork and just disable disabled Only allow match if all songs in grouping match to one album again.

Raised issue for the fpcalc problem - https://jthink.atlassian.net/browse/SONGKONG-2585

Now fixed in new 10.5