討論:LNNBot
外觀
由Translated Batch在話題Stop having illegal sex with other robots上作出的最新留言:2025年9月26日 (星期五)
Shidinn telegraphic cipher
Raymond's Shidinn telegraphic cipher is celebrating its fifth anniversary this year.
This Python program converts Shidinn alphabet text to LNNBot musicjs sequence.
It may still need to be corrected. ColorfulGalaxy(留言) 2025年9月25日 (四) 18:17 (CST)
import sys
c=' '
rootn=-12
diffn=[]
letters="bpmwjqxynzDsrHNldtgkh45vF7BcfuaoeEAYL62T83V1i"
def printn(n,length=1):
print("note(",n,",",length,");")
def restn(length=1):
print("rest(",length,");")
def ejn():
global diffn,rootn
while len(diffn)>0:
printn(rootn+diffn[0],1)
diffn.pop(0)
if len(diffn)>0:
restn(-1)
rootn=-12
diffn=[]
def h14():
print("note(-999,1);") # To be fixed
def b27():
global diffn,rootn
rootn=-12
diffn=[0,2,3,5,7,8,10,12,14,15,17,19,20,22]
ejn()
def h21():
global diffn,rootn
rootn=-12
diffn=[1,4,6,9,11,13,16,18,21,23,25,28,30]
ejn()
def t18():
global diffn,rootn
rootn=-12
diffn=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23]
ejn()
rootn=-12
diffn=[0]
ejn()
rootn=-12
diffn=[0]
ejn()
rootn=-12
diffn=[0]
ejn()
h14()
while(c!=''):
c=sys.stdin.read(1)
if(c==''):
ejn();
b27();
b27();
h21();
h21();
t18();
t18();
h14();
elif(c in (' ',chr(10),chr(13))): # Space bar
ejn()
restn(1)
elif(c=='b'): # Light
ejn()
rootn=2
diffn=[0,4,7]
elif(c=='p'): # House
ejn()
rootn=1
diffn=[0,4,7]
elif(c=='m'): # Door
diffn=[0,3,7]
ejn()
elif(c=='w'): # Mountain
diffn=[0,4,7,10,15]
ejn()
elif(c=='j'): # Hair
diffn=[0,4,7,10,14,17]
ejn()
elif(c=='q'): # Carriage & Boat
diffn=[0,3,7,10,14,17]
ejn()
elif(c=='x'): # Fire & Leather
diffn=[0,4,7,10,13]
ejn()
elif(c=='y'): # Flower
diffn=[0,4,7,10,14,18]
ejn()
elif(c=='n'):
diffn=[0,3,7,10]
ejn()
elif(c=='z'):
diffn=[0,4,7,10,20]
ejn()
elif(c=='D'):
diffn=[0,4,8,10]
ejn()
elif(c=='s'):
ejn()
rootn=4
diffn=[0,4,7]
elif(c=='r'):
diffn=[0,3,7,10,14,17,21]
ejn()
elif(c=='H'):
ejn()
h14() # This function is buggy.
elif(c=='N'):
diffn=[0,3,7,10,14]
ejn()
elif(c=='l'):
diffn=[0,2,7]
ejn()
elif(c=='d'):
ejn()
rootn=5
diffn=[0,4,7]
elif(c=='t'):
ejn()
t18()
elif(c=='g'):
ejn()
rootn=10
diffn=[0,4,7]
elif(c=='k'):
diffn=[0,4,7,10,14,17,21]
ejn()
elif(c=='h'):
ejn()
h21()
elif(c=='4'):
diffn=[0,5,7]
ejn()
elif(c=='5'):
diffn=[0,7]
ejn()
elif(c=='v'):
diffn=[0,4,6]
ejn()
elif(c=='F'):
ejn()
rootn=9
diffn=[0,4,7]
elif(c=='7'):
diffn=[0,4,7,10]
ejn()
elif(c=='B'):
ejn()
b27()
elif(c=='c'):
ejn()
rootn=3
diffn=[0,4,7]
elif(c=='f'):
ejn()
rootn=8
diffn=[0,4,7]
elif(c=='u'):
diffn=[0,4,8]
ejn()
elif(c=='a'):
ejn()
rootn=0
diffn=[0,4,7]
elif(c=='o'):
diffn=[0,3,6,9]
ejn()
elif(c=='e'):
ejn()
rootn=7
diffn=[0,4,7]
elif(c=='E'):
ejn()
rootn=6
diffn=[0,4,7]
elif(c=='A'):
ejn()
rootn=11
diffn=[0,4,7]
elif(c=='Y'):
diffn=[0,3,6,11]
ejn()
elif(c=='L'):
diffn=[0,7,10]
ejn()
elif(c=='6'):
diffn=[0,4,7,9]
ejn()
elif(c=='2'):
diffn=[0,4,7,14]
ejn()
elif(c=='8'):
diffn=[0,4,7,12] #C I could not find any reliable source about the C8 chord
ejn()
elif(c=='3'):
diffn=[0,4]
ejn()
elif(c=='V'):
diffn=[0,4,7,11]
ejn()
elif(c=='1'):
diffn=[0]
ejn()
elif(c=='i'):
diffn=[0,4,7,10,14]
ejn()