"I sing at the library."
Translation:저는 도서관에서 노래를 합니다.
It's a little bit of coincidence that 노래합니다 ( do a song ) means exactly the same as it does in English. But that's not always the case.
It's true that 합니다 actually means "do". And that 노래합니다 means "do a song".
But you should know that...
"Do a song" in korean is different from "do a song" in English.
Here is an example: 한국어 합니다 means "do Korean" which means "speak korean"
But in English, "do english" doesn't mean "speak English"
Therefore, 합니다 ( do ) is added to a noun ( the object ) to create a verb to mean what we do with that object.
So it's not the same as in English. I don't know how else to explain it. I hope this helps you understand.
에 usually means than the verb is directed toward a location (to go to school = 학교에 가다), whereas 에서 means that an action is taking place in/from that location (I sleep at home = 저는 집에서 잠을 잡니다). In this case, the speaker is actively doing something in the library, so 에서 is a better fit.