Of course an instrument is supposed to create digital sound samples as a side effect of its execution, but that's another story. The example instrument defines four required arguments and one key argument . Required arguments are defined by a list of space-separated names. This means that in each call to the instrument we will have to provide four arguments, otherwise the lisp interpreter will complain with an appropriate error message. SIMP got 3 args, wanted at least 4 args.
Key arguments are optional.
The importance of key arguments will become apparent when you realize that you can define a lot of them, provide reasonable default values and only override the ones you're interested in changing in a particular instrument call. Furthermore, key arguments are not positional and can be defined to mean something so that instrument calls are self-documenting if the names are well chosen. Whatever you want to control you have to turn into an argument to the instrument. Try to avoid them. Sometimes they are the answer but most of the time you want to make the relationship of arguments to behavior of the instrument very explicit.