SVQ file information??
19 Apr 2012, 19:12does anybody have any inside info on the svq file format? it seems like it would take very little work to put together a simple program that copies songs + all associated phrases to another project. the same could be done for other song data but phrases would be a good start. i say it'd be 'easy' but that's assuming some knowledge as to how the svq files are formatted.
if i knew what the guys at Roland know it'd probably only take me a few days to make some sort of working solution. a few weeks to make it pretty & user friendly. but I'm just one guy..
the idea is simple:
- read all bytes of the file into a buffer. (IN)
- begin reading IN byte by byte. Any bytes that don't represent 'which' phrase/sample is being used can be copied directly to the OUT buffer.
- when you get to a chuck of data that represents 'which' phrase/sample is being used, add the value to a multidimensional array or equivalent & add a path to the associated file. you could also add a reference as to whether it is a sample or phrase.
- here's the only tricky part but it's simple too.
you will need to know the destination project folder. using that, we can look at the project for the first available phrase/sample in the corresponding folders. at that point we can determine our 'new' phrase/sample index. once we know that number we can translate it into whatever bytes the fantom actually uses internally. we will save this value in our array along with the rest of the data.
- at this point instead of 'copying' the original value of which phrase/sample was used, we will use our 'new' value.
each individual phrase/sample only needs to be added once. each time we find one. first check to see whether we've found it already. if so, just use the 'new' phrase/sample value & proceed..
the above is a detailed description of how I'd actually go about doing it but the process is so simple it could be described as follows:
- continue reading IN byte for byte and:
- 'copy' ANY bytes that do not represent 'which' phrase/sample was used directly from IN to OUT.
- 'replace' ALL bytes that do represent which phrase/sample was used by substituting the 'new' value.
there are so few necessary changes to the original data, I'd be confident that my resulting svq file would not be corrupt.
but if i have to try to crack unknown encryption, then reverse engineer everything to figure it out, it would take more time than i have to give.. :(
if i knew what the guys at Roland know it'd probably only take me a few days to make some sort of working solution. a few weeks to make it pretty & user friendly. but I'm just one guy..
the idea is simple:
- read all bytes of the file into a buffer. (IN)
- begin reading IN byte by byte. Any bytes that don't represent 'which' phrase/sample is being used can be copied directly to the OUT buffer.
- when you get to a chuck of data that represents 'which' phrase/sample is being used, add the value to a multidimensional array or equivalent & add a path to the associated file. you could also add a reference as to whether it is a sample or phrase.
- here's the only tricky part but it's simple too.
you will need to know the destination project folder. using that, we can look at the project for the first available phrase/sample in the corresponding folders. at that point we can determine our 'new' phrase/sample index. once we know that number we can translate it into whatever bytes the fantom actually uses internally. we will save this value in our array along with the rest of the data.
- at this point instead of 'copying' the original value of which phrase/sample was used, we will use our 'new' value.
each individual phrase/sample only needs to be added once. each time we find one. first check to see whether we've found it already. if so, just use the 'new' phrase/sample value & proceed..
the above is a detailed description of how I'd actually go about doing it but the process is so simple it could be described as follows:
- continue reading IN byte for byte and:
- 'copy' ANY bytes that do not represent 'which' phrase/sample was used directly from IN to OUT.
- 'replace' ALL bytes that do represent which phrase/sample was used by substituting the 'new' value.
there are so few necessary changes to the original data, I'd be confident that my resulting svq file would not be corrupt.
but if i have to try to crack unknown encryption, then reverse engineer everything to figure it out, it would take more time than i have to give.. :(
Last edited by parker.bobby on 20 Apr 2012, 00:51, edited 1 time in total.