You're looking at Less Wrong's discussion board. This includes all posts, including those that haven't been promoted to the front page yet. For more information, see About Less Wrong.

gjm comments on Harry Potter and the Methods of Rationality discussion thread, part 15, chapter 84 - Less Wrong Discussion

3 Post author: FAWS 11 April 2012 03:39AM

You are viewing a comment permalink. View the original post to see all comments and the full post content.

Comments (1221)

You are viewing a single comment's thread. Show more comments above.

Comment author: gjm 12 April 2012 08:58:12PM 1 point [-]

Just to add: (1) The pointless "1*" is because I experimented with other sizes of error too. (2) A slight modification of this lets you, e.g., have the pitch drift downward by 1/10 of a semitone per note, which for me at least is very noticeable and unpleasant even though each individual interval is OK.

Comment author: mbrigdan 29 April 2012 12:24:21AM 0 points [-]

While all of the evil credit of course goes to you, I feel that I have made some neat* modifications:

signal = []
t=0L
pscale=5
pexp=2
transpose = 0
iterations = 10
for ii in range(1,iterations):
for (p,d) in [(4,1),(5,1),(7,3),(None,1), (4,1),(5,1),(7,3),(None,1), (4,1),(7,1),(12,2),(11,2),(9,2),(9,2),(7,1),(None,1), (2,1),(4,1),(5,3),(None,1), (2,1), (4,1),(5,3),(None,1), (2,1),(5,1),(11,1),(9,1),(7,2),(11,2),(12,4)]:
if p is not None: add_note(t, random.choice([440*2**(((p+transpose)+random.choice([-1,0,0,0,1]))/12.),440*2**(((p+transpose)+random.random())/12.)]), 0.3*d+0.1, 1)
t += 0.3*d*math.exp(random.random()*random.random())
transpose = random.choice([-14, -9, -7, -4.5, -2, -1, 0, 0.5, 1, 2, 4.5, 7, 9, 14]) #transpose up or down
t += 5*(pexp*((pscale**pexp)/((random.randrange(200,600,1)/100)**(pexp+1)))) #wait a while before repeating
save_signal()

*Where neat is, of course, a synonym for evil