The built-in documentation helps a lot. Once I had this committed to memory, things got a lot easier:
{ SinOsc.ar(55) ! 2 }.play;
Edit: Of course you seem a ways further along than that, so that’s not really helpful. Those “does not understand message” errors can be super frustrating.
Also I got a lot out of pulling apart these tweets, trying to understand them, and mostly failing, but learning a neat trick here and there:
https://mobile.twitter.com/redfrik