Lua, 256249 bytes - 50% = 128124.5
N='AV><^'w=iow=io.write S=for j=1,5 do n={sst=41881,pol=44915,zel=30814,sos=42315,sot=17577,sow=5953,sas=35588,ros=11065,mof=29335,nos=122170,eps=29729,bof=719576,scs=999999}for j=1,5 do n=S[[...]for i=1,8 do d=n%6 n=(n-d)/6 c=d==6-j and Nand'AV><^':sub(d,d)or'-'w('-',c)end w('-\n')end
Pretty simple, just reads back songs encoded as base-6 numbers.