Here's a nifty trick that might not have a occurred to you before. It comes - again - from my nasty shameful habit of using hardware, where often necessity can be the mother of invention.
We're going to use the RPG-8 arpeggiator to randomly generate a melody. You might think of this as a tool for inspiration, or perhaps even some kind of semi-generative, or algorithmic method of composing. I like to think of it as cheating.
The long and the short of it is that we're going to set up the RPG-8 to play a very slow arpeggio using a random pattern, but then we're only going to allow it to play the first note of the arpeggio. Essentially, for every note in the melody, instead of specifying a single note, we suggest several possibilities, and leave it up to chance which note is played.
First, decide the shape of your melody - where do you want the notes to play? Then decide which notes you want to select from. In this example, I've used the Akebono scale, quite common in traditional Japanese music. At each position on the grid where I want a note to sound, then, I've added all of the notes in the scale starting with A: A, B, C, E, F, and A. Where I felt the melody should descend, I used the same notes, but discarded the top A and played the E and the F an octave lower - see the screenshot below.
This clip is repeated throughout the piece - as you can hear, it plays differently each time.
The next part of the trick is setting up the RPG-8 to choose one of the notes to play at each step in the melody. Set the arpeggiator mode to random and decide on your range. If you want the melody to use ONLY the notes that you've entered, then leave the default range of one octave. I've selected two octaves, so that not only will the melody use the notes I've laid out on the grid, but also notes an octave above.
The most important step, though, is this: make sure that the step interval you choose for the rate is the same as the shortest gap between the notes in your melody. In the example here, no two notes are further than an 1/8 note apart, so I've selected a rate of 1/8.
It's adaptable, too. As noted above, if you feel that at a certain point the melody should descend (or ascend), you can shift your block of notes - all of them or just some of them - down (or up) an octave, almost like an inversion of a chord. You can add or remove notes from your block. Or, rather than leaving things up to chance, you can even remove all notes but one if it's important that a particular note plays at a particular point. And it doesn't need to be limited to melodies only - you could use the same technique to add some unpredictiability to your rhythm patterns, for example.