The offsets are listed on the wiki, which is unfortunately down right now. There are actually 3 musical outcomes. One for each piece, and one when you didn't get 4 instruments for the same song. The choices you make are stored in a long. Here's that section of code in script form:
if (Byte[346] == 1)
{
Long[360] = Long[360] | 4080
}
if (Byte[346] == 2)
{
Long[360] = Long[360] | 4096
}
if (Byte[346] == 3)
{
Long[360] = Long[360] | 3670016
}
if (Byte[346] == 4)
{
Long[360] = Long[360] | 516096
}
if (Byte[346] == 5)
{
Long[360] = Long[360] | 8
}
if (Byte[346] == 6)
{
Long[360] = Long[360] | 4
}
if (Byte[346] == 7)
{
Long[360] = Long[360] | 4194304
}
if (Byte[346] == 8)
{
Long[360] = Long[360] | 2
}
if (Byte[347] == 1)
{
Long[360] = Long[360] | 4080
}
if (Byte[347] == 2)
{
Long[360] = Long[360] | 4096
}
if (Byte[347] == 3)
{
Long[360] = Long[360] | 3670016
}
if (Byte[347] == 4)
{
Long[360] = Long[360] | 516096
}
if (Byte[347] == 5)
{
Long[360] = Long[360] | 8
}
if (Byte[347] == 6)
{
Long[360] = Long[360] | 4
}
if (Byte[347] == 7)
{
Long[360] = Long[360] | 4194304
}
if (Byte[347] == 8)
{
Long[360] = Long[360] | 2
}
if (Byte[348] == 1)
{
Long[360] = Long[360] | 4080
}
if (Byte[348] == 2)
{
Long[360] = Long[360] | 4096
}
if (Byte[348] == 3)
{
Long[360] = Long[360] | 3670016
}
if (Byte[348] == 4)
{
Long[360] = Long[360] | 516096
}
if (Byte[348] == 5)
{
Long[360] = Long[360] | 8
}
if (Byte[348] == 6)
{
Long[360] = Long[360] | 4
}
if (Byte[348] == 7)
{
Long[360] = Long[360] | 4194304
}
if (Byte[348] == 8)
{
Long[360] = Long[360] | 2
}
if (Byte[349] == 1)
{
Long[360] = Long[360] | 4080
}
if (Byte[349] == 2)
{
Long[360] = Long[360] | 4096
}
if (Byte[349] == 3)
{
Long[360] = Long[360] | 3670016
}
if (Byte[349] == 4)
{
Long[360] = Long[360] | 516096
}
if (Byte[349] == 5)
{
Long[360] = Long[360] | 8
}
if (Byte[349] == 6)
{
Long[360] = Long[360] | 4
}
if (Byte[349] == 7)
{
Long[360] = Long[360] | 4194304
}
if (Byte[349] == 8)
{
Long[360] = Long[360] | 2
}
Variables 346 through 349 contain which instrument each of the 4 characters is assigned, and variable 360 contains a long that represents whether or not the instruments match, bit by bit. Luckily, how that variable is used is right below it. This controls which set of dialogue gets played (based on how good your music choices were)
if (Long[360] & 4096 != 0)
{
Byte[341]=3
}
if (Long[360] == 8384513)
{
Byte[341]=1
}
if (Long[360] == 4095)
{
Byte[341]=2
}
I don't remember which value for 341 means you did a good job. I would assume 3 is eyes on me, 2 is irish jig, and 1 is "you really suck at picking instruments."