Hmm, there are probably better ways to do this, but you could possibly do this using a multidimensional array...
I'm not sure how to explain but in my head it makes sense. Basically create an array for all the used lyrics, in which each item is also an array containing the 1) lyric number and 2) number of times a lyric has been generated since that one.
So say you generate lyric number 8, the used lyrics array would contain [8,0]
Then every time you generate another lyric, add it to the usedlyrics array and increment the second array item for all the previously generated ones until they are 10, at which point you can remove the item from the usedlyrics array.
Thus if you generate another lyric (say, number 3), your usedlyrics array would contain [8,1],[3,0].
Then another lyric (say number 9): [8,2],[3,1],[0,9] etc.
Obviously you have to make sure the lyric generated is not already in the usedlyrics array before adding it though =p
Sorry if I'm not making myself clear, I'm tired and not feeling great but it sounded good in my head