ChipML

From WorkCDN

Jump to: navigation, search

ChipML is a markup language for describing a chip tune composition.

<chipml>
	<envelopes>
		<envelope id="" length="2|4|8|16|32|64|128|256">
			<data type="decimal|hex">1 2 3 4 | 2456 0f ab</data>
		</envelope>
		<envseq id="">
			<envelope id="envelopeId" delay="[int]" loop="[int]" />
			<envelope id="envelopeId" delay="[int]" loop="[int]" />
			...
		</envseq>
	</envelopes>
	<samples>
		<sample id="" length="[int]">
			<data type="decimal|hex|b64">
				1 2 3 4 | 24560fab | base64 data
			</data>
		</sample>
	</samples>
	<instruments>
		<instrument id="">
			<wave envelope="envelopeId|envseqId" sample="sampleId" noise="" />
			<volume envelope="envelopeId|envseqId" value="[int]" />
			<bend envelope="envelopeId|envseqId" />
			<arpeggio envelope="envelopeId|envseqId" />
		</instrument>
		<igroup id="" type="unison|chorded">
			<instrument id="[string]">
				<transpose>[int]</transpose>
				<volume>[int]</volume>
			</instrument>
			...
		</igroup>
	</instruments>
	<clips>
		<clip id="id">
			<notes></notes>
			<effects></effects>
		</clip>
	</clips>
	<patterns>
		<pattern id="">
			<track num="0-15">
				<clip>clipId</clip>
			</track>
		</pattern>
	</patterns>
	<song>
		<pattern>patternId</pattern>
		<loop times="3">
			<pattern>patternId</pattern>
		</loop>
		<pattern>patternId</pattern>
	</song>
</chipml>
Personal tools