function UnDigify(s)if s<1 or s>61 then return""elseif s==1 then return"\049"elseif s==2 then return"\033"elseif s==3 then return"\050"elseif s==4 then return"\064"elseif s==5 then return"\051"elseif s==6 then return"\052"elseif s==7 then return"\036"elseif s==8 then return"\053"elseif s==9 then return"\037"elseif s==10 then return"\054"elseif s==11 then return"\094"elseif s==12 then return"\055"elseif s==13 then return"\056"elseif s==14 then return"\042"elseif s==15 then return"\057"elseif s==16 then return"\040"elseif s==17 then return"\048"elseif s==18 then return"\113"elseif s==19 then return"\081"elseif s==20 then return"\119"elseif s==21 then return"\087"elseif s==22 then return"\101"elseif s==23 then return"\069"elseif s==24 then return"\114"elseif s==25 then return"\116"elseif s==26 then return"\084"elseif s==27 then return"\121"elseif s==28 then return"\089"elseif s==29 then return"\117"elseif s==30 then return"\105"elseif s==31 then return"\073"elseif s==32 then return"\111"elseif s==33 then return"\079"elseif s==34 then return"\112"elseif s==35 then return"\080"elseif s==36 then return"\097"elseif s==37 then return"\115"elseif s==38 then return"\083"elseif s==39 then return"\100"elseif s==40 then return"\068"elseif s==41 then return"\102"elseif s==42 then return"\103"elseif s==43 then return"\071"elseif s==44 then return"\104"elseif s==45 then return"\072"elseif s==46 then return"\106"elseif s==47 then return"\074"elseif s==48 then return"\107"elseif s==49 then return"\108"elseif s==50 then return"\076"elseif s==51 then return"\122"elseif s==52 then return"\090"elseif s==53 then return"\120"elseif s==54 then return"\099"elseif s==55 then return"\067"elseif s==56 then return"\118"elseif s==57 then return"\086"elseif s==58 then return"\098"elseif s==59 then return"\066"elseif s==60 then return"\110"elseif s==61 then return"\109"else return"\063"end end function IsBlack(s)if s%12==2 or s%12==4 or s%12==7 or s%12==9 or s%12==11 then return true end end local s=game:GetService("\084\119\101\101\110\083\101\114\118\105\099\101")function TWEEN(Z,A,M)local H={}H.Transparency=0 local h=TweenInfo.new(A,Enum.EasingStyle.Linear,Enum.EasingDirection.Out,4,true)local u=s:Create(Z,h,H)u:Play()M.Color=Z.Color u.Completed:wait()M:Destroy()return end function HighlightPianoKey(s,Z)if not Settings.KeyAesthetics then return end local A=math.ceil(s/12)local M=(s-1)%12+1 local H=Piano.Case.ShootingStarModel local h=H:Clone()h.Parent=Piano.Keys[A]h.Name=M h.Transparency=1 h.Position=H.Position+Vector3.new(0,math.random(-10,10),math.random(-10,10))h.Anchored=false local u=h local q=Instance.new("\080\111\105\110\116\076\105\103\104\116",u)q.Brightness=3 q.Range=5 local E=math.random(200,270)h.Velocity=Vector3.new(600,E,0)h.Material="\078\101\111\110"wait(.2)TWEEN(h,.3,q)h.Anchored=true wait(.2)h:Destroy()u.CanCollide=false return end


function UnDigify(digit)
	if digit < 1 or digit > 61 then
		return ""
	elseif digit == 1 then
		return "1"
	elseif digit == 2 then
		return "!"
	elseif digit == 3 then
		return "2"
	elseif digit == 4 then
		return "@"
	elseif digit == 5 then
		return "3"
	elseif digit == 6 then
		return "4"
	elseif digit == 7 then
		return "$"
	elseif digit == 8 then
		return "5"
	elseif digit == 9 then
		return "%"
	elseif digit == 10 then
		return "6"
	elseif digit == 11 then
		return "^"
	elseif digit == 12 then
		return "7"
	elseif digit == 13 then
		return "8"
	elseif digit == 14 then
		return "*"
	elseif digit == 15 then
		return "9"
	elseif digit == 16 then
		return "("
	elseif digit == 17 then
		return "0"
	elseif digit == 18 then
		return "q"
	elseif digit == 19 then
		return "Q"
	elseif digit == 20 then
		return "w"
	elseif digit == 21 then
		return "W"
	elseif digit == 22 then
		return "e"
	elseif digit == 23 then
		return "E"
	elseif digit == 24 then
		return "r"
	elseif digit == 25 then
		return "t"
	elseif digit == 26 then
		return "T"
	elseif digit == 27 then
		return "y"
	elseif digit == 28 then
		return "Y"
	elseif digit == 29 then
		return "u"
	elseif digit == 30 then
		return "i"
	elseif digit == 31 then
		return "I"
	elseif digit == 32 then
		return "o"
	elseif digit == 33 then
		return "O"
	elseif digit == 34 then
		return "p"
	elseif digit == 35 then
		return "P"
	elseif digit == 36 then
		return "a"
	elseif digit == 37 then
		return "s"
	elseif digit == 38 then
		return "S"
	elseif digit == 39 then
		return "d"
	elseif digit == 40 then
		return "D"
	elseif digit == 41 then
		return "f"
	elseif digit == 42 then
		return "g"
	elseif digit == 43 then
		return "G"
	elseif digit == 44 then
		return "h"
	elseif digit == 45 then
		return "H"
	elseif digit == 46 then
		return "j"
	elseif digit == 47 then
		return "J"
	elseif digit == 48 then
		return "k"
	elseif digit == 49 then
		return "l"
	elseif digit == 50 then
		return "L"
	elseif digit == 51 then
		return "z"
	elseif digit == 52 then
		return "Z"
	elseif digit == 53 then
		return "x"
	elseif digit == 54 then
		return "c"
	elseif digit == 55 then
		return "C"
	elseif digit == 56 then
		return "v"
	elseif digit == 57 then
		return "V"
	elseif digit == 58 then
		return "b"
	elseif digit == 59 then
		return "B"
	elseif digit == 60 then
		return "n"
	elseif digit == 61 then
		return "m"
  	else
    	return "?"
	end
end
function IsBlack(note)
	if note%12 == 2 or note%12 == 4 or note%12 == 7 or note%12 == 9 or note%12 == 11 then
		return true
	end
end
local TweenService = game:GetService("TweenService")
function TWEEN(key,t,light)
	local Goal = {}
	Goal.Transparency = 0
	local TwInfo = TweenInfo.new(t,Enum.EasingStyle.Linear,Enum.EasingDirection.Out,4,true)
	local twn = TweenService:Create(key, TwInfo, Goal)
	twn:Play()
	light.Color = key.Color
	twn.Completed:wait()
	light:Destroy()
	return
end
function HighlightPianoKey(note1,transpose)
	if not Settings.KeyAesthetics then return end
	local octave = math.ceil(note1/12)
	local note2 = (note1 - 1)%12 + 1
	local OriginalStar = Piano.Case.ShootingStarModel
	local star = OriginalStar:Clone()
	star.Parent = Piano.Keys[octave]
	star.Name = note2
	star.Transparency = 1
	star.Position = OriginalStar.Position + Vector3.new(0,math.random(-10,10),math.random(-10,10))
	star.Anchored = false
	local key = star
	local light = Instance.new("PointLight",key) 
	light.Brightness = 3
	light.Range = 5
	local y = math.random(200,270)
	star.Velocity = Vector3.new(600,y,0)
	star.Material = "Neon"
	wait(.2)
	TWEEN(star,.3,light)
	star.Anchored = true
	wait(.2)
	star:Destroy()
	key.CanCollide = false
	return
end
