A non-transitory computer-readable storage medium including computer executable instructions wherein the instructions, when executed by processing circuitry, cause the processing circuitry to perform a method for collaborating on a musical composition over a communication network, the musical composition including first musical input data associated with a first channel, the method comprising:
- receiving, by the processing circuitry, second musical input data from a client device, the second musical input data being associated with the first channel;
- determining, by the processing circuitry, whether a portion of the second musical input data is different from a corresponding portion of the first musical input data;
- and
- upon determining the portion of the second musical input data is different from a corresponding portion of the first musical input data, generating, by the processing circuitry, difference data based on the portion of the second musical input data compared to the corresponding portion of the first musical input data, wherein
- the determining whether the portion of the second musical input data is different from the corresponding portion of the first musical input data includes
- calculating a correlation between the portion of the second musical input data and the corresponding portion of the first musical input data, and
- determining, when the calculated correlation satisfies a threshold, whether the portion of the second musical input data comprises a period of time that exceeds a time threshold.