Okay so - I've been messing around with neural networks in python and I've made a few feed forward ones and a few recurrent ones. I know how they work on a pretty basic level.

Sometimes I'll see people who are using neural networks to generate things like text, for example; they'll claim to have trained it on a few thousand paragraphs and then it'll write a new paragraph. I read an article recently about a neural network that analyzed thousands of fonts and then created its own font. 

Here's the problem - all of the neural networks i've made so far take a dataset of inputs and outputs. These neural networks i'm reading about seem like they don't take input, they just look at many instances of something and then create a new instance of that (like they only deal with outputs).

Am I missing something? Are these neural networks I'm reading about a different type of neural network? Let's say I have a bunch of melodies in a format the neural network could handle (very short MIDI files). What type of network would I need to use to train it on this set of melodies and have it generate a new melody?