A Domain-specific language for chiptune