A method of determining virtual sound sources representing reflections of a first sound source in a first room, the method comprising a computer performing the steps of receiving data describing boundaries of the first room and a sound source position for the first sound source in the room; iteratively determining the virtual sound sources as mirrored sound sources by performing sound source mirroring of sound sources determined in a previous iteration, each iteration comprising, for each source room of a set of source rooms comprising mirror rooms determined in an immediately previous iteration, performing the steps of: determining a set of mirror boundaries for the source room; for each mirror boundary of the set of mirror boundaries determining a mirror room by mirroring the source room around the mirror boundary, and determining a mirror sound source by mirroring a source sound source around the mirror boundary, the source sound source being a mirror sound source of the source room, the mirroring having a direction of mirroring from the source room to the mirror room; wherein the determining of the set of mirror boundaries includes selecting boundaries of the source room in accordance with a selection criterion comprising: a requirement that for a candidate boundary of the source room to be included in the set of mirror boundaries, a first direction of mirroring for the candidate boundary must not be in an opposite direction of a direction of mirroring for any previous mirroring leading to the source room; a requirement that for the candidate boundary to be included in the set of mirror boundaries, the first direction must not be in an excluded direction, the excluded direction being dependent on a boundary of the first room around which mirroring leading to the source room was performed; and a requirement that for the candidate boundary to be included in the set of mirror boundaries, the first direction must not be in a same direction as any direction of mirroring for any previous mirroring leading to the source room except for a direction of mirroring of a mirroring generating the source room in the immediately previous iteration. receiving data describing boundaries of the first room and a sound source position for the first sound source in the room; iteratively determining the virtual sound sources as mirrored sound sources by performing sound source mirroring of sound sources determined in a previous iteration, each iteration comprising, for each source room of a set of source rooms comprising mirror rooms determined in an immediately previous iteration, performing the steps of: determining a set of mirror boundaries for the source room; for each mirror boundary of the set of mirror boundaries determining a mirror room by mirroring the source room around the mirror boundary, and determining a mirror sound source by mirroring a source sound source around the mirror boundary, the source sound source being a mirror sound source of the source room, the mirroring having a direction of mirroring from the source room to the mirror room; a requirement that for a candidate boundary of the source room to be included in the set of mirror boundaries, a first direction of mirroring for the candidate boundary must not be in an opposite direction of a direction of mirroring for any previous mirroring leading to the source room; a requirement that for the candidate boundary to be included in the set of mirror boundaries, the first direction must not be in an excluded direction, the excluded direction being dependent on a boundary of the first room around which mirroring leading to the source room was performed; and a requirement that for the candidate boundary to be included in the set of mirror boundaries, the first direction must not be in a same direction as any direction of mirroring for any previous mirroring leading to the source room except for a direction of mirroring of a mirroring generating the source room in the immediately previous iteration.