True. Using lowercase letters ord ranges from 97 to 122. Im usually overcomplicating things 
However, using hash as a note map for letters can be useful in many ways. You can actually randomize the notes because its already pretty random. This way you can use random_seed to find more pleasant tunes. Using certain key and scale also helps producing certain feel to the music.
Here’s one more example where you can change random seed, key and scale:
# Poem creates the repetition of the melody
poem = "Sweet dreams form a shade, O'er my lovely infants head. Sweet dreams of pleasant streams, By happy silent moony beams Sweet sleep with soft down. Weave thy brows an infant crown. Sweet sleep Angel mild, Hover o'er my happy child. Sweet smiles in the night, Hover over my delight. Sweet smiles Mothers smiles, All the livelong night beguiles. Sweet moans, dovelike sighs, Chase not slumber from thy eyes, Sweet moans, sweeter smiles, All the dovelike moans beguiles. Sleep sleep happy child, All creation slept and smil'd. Sleep sleep, happy sleep. While o'er thee thy mother weep Sweet babe in thy face, Holy image I can trace. Sweet babe once like thee. Thy maker lay and wept for me Wept for me for thee for all, When he was an infant small. Thou his image ever see. Heavenly face that smiles on thee, Smiles on thee on me on all, Who became an infant small, Infant smiles are His own smiles, Heaven & earth to peace beguiles. "
# Change seed to find pleasant notes
use_random_seed 12345
# Change key and scale depending on the mood
poem_key = :e3
poem_scale = :minor
# Letters to be played
letters = ('a'..'z').to_a
# Create random notes within 3 octaves for each letter in some key and scale.
notes = Array.new(letters.length) {degree(rrand_i(1,scale(poem_key, poem_scale).length-1),poem_key-[-12,0,12].choose,poem_scale) }
h = Hash[letters.zip(notes)]
live_loop :poem do
with_fx :reverb do
with_fx :wobble do
use_synth :chipbass
poem.each_char do |c|
c = c.downcase
if c == " "
sleep 0.125
elsif c == ","
sleep 0.25
elsif c == "!"
sleep 0.5
elsif c == "."
sleep 0.5
else
play h[c], release: 0.125, amp: 3
sleep 0.125
end
end
end
end
end
live_loop :beat do
sample :bd_haus
sleep 0.5
end
live_loop :ambi do
sample :ambi_drone, release: 2, cutoff: rrand(60, 120), amp: 1
sleep [4, 8, 16].choose
end