A computer-readable medium having stored thereon computer executable instructions for controlling repeating media objects within a media stream, wherein the media objects are any of songs, music, advertisements, video clips, station identifiers, speech, images, and image sequences, wherein these instructions when executed on a computer give rise to the following steps: capturing a media stream; examining the media stream to locate possible media objects within the stream, wherein examining the media stream to locate possible media objects within the stream is characterized by computing parametric information for at least one segment of the media stream, and analyzing the parametric information to determine whether the parametric information represents a possible media object, the parametric information characterizing the possible object; storing the parametric information and a position of the possible object within the media stream for each possible object in an object database, wherein the object database is initially empty and the first entry in the object database corresponds to the first possible object that is detected in the media stream; following the detection of a possible object within the media stream, searching the object database to identify media objects that potentially match the possible media object; if no potential matches are identified, flagging the possible object as new object in the object database; once one or more potential matches have been identified, comparing one or more potentially matching media objects to the possible media object to identify repeating media objects; aligning each repeating instance of each repeating media object to identify endpoints of each repeating media object, wherein identifying endpoints of each repeating media object is characterized by aligning each repeating instance of each repeating media object and determining where the repeating instances diverge; and specifying at least one command to be associated with at least one media object, said command to be executed upon subsequently identified repeating media objects that match any media object having at least one associated command. capturing a media stream; examining the media stream to locate possible media objects within the stream, wherein examining the media stream to locate possible media objects within the stream is characterized by computing parametric information for at least one segment of the media stream, and analyzing the parametric information to determine whether the parametric information represents a possible media object, the parametric information characterizing the possible object; storing the parametric information and a position of the possible object within the media stream for each possible object in an object database, wherein the object database is initially empty and the first entry in the object database corresponds to the first possible object that is detected in the media stream; following the detection of a possible object within the media stream, searching the object database to identify media objects that potentially match the possible media object; if no potential matches are identified, flagging the possible object as new object in the object database; once one or more potential matches have been identified, comparing one or more potentially matching media objects to the possible media object to identify repeating media objects; aligning each repeating instance of each repeating media object to identify endpoints of each repeating media object, wherein identifying endpoints of each repeating media object is characterized by aligning each repeating instance of each repeating media object and determining where the repeating instances diverge; and specifying at least one command to be associated with at least one media object, said command to be executed upon subsequently identified repeating media objects that match any media object having at least one associated command.