public static byte[] parseSong(String song, int sps)
	{
		ByteArrayOutputStream baos = new ByteArrayOutputStream();
		boolean sharp = false;
		int scale = '4';
		int lastNote = -1;
		int tempo = 120 * 2; //*2 for since everything is an eighth note
		int volume = 24;
		try
		{
			for (int i = 0; i < song.length(); i++)
			{
				char note = song.charAt(i);
				if (note == '-') continue;
				if (note == ' ')
				{
					Note.PAUSE.write(baos,tempo,sps);
					lastNote = i;
					continue;
				}
				if (note == '#')
				{
					sharp = true;
					lastNote++;
					continue;
				}
				if (note >= '0' && note <= '8')
				{
					scale = note;
					lastNote++;
					continue;
				}
				Note n = new Note(note,scale,sharp,i - lastNote,volume);
				n.write(baos,tempo,sps);
				lastNote = i;
				sharp = false;
			}
		}
		catch (IOException e)
		{
			// This will never happen unless we change the BAOS to something else.
			e.printStackTrace();
		}
		return baos.toByteArray();
	}