將兩個頻率差異很小的聲波加總,就會產生拍音(Beating)。有拍音現象的聲波,振幅會逐漸上升逐漸下降,形成週期,拍音的頻率是來源聲波的頻率的差。



若要使用Csound產生拍音,可以使用「+」運算子,將聲波加總在一起。可寫成以下程式:

<CsoundSynthesizer>
	<CsOptions>
	</CsOptions>
	
	<CsInstruments>
		sr = 44100   ;sample rate
		ksmps = 16   ;samples in a control period
		nchnls = 2   ;number of channels
		0dbfs = 100  ;value of 0db
		
		instr 1
			;p4=freq
			;p3=duration		
			 	
			iamp = 75;			
			iscale = iamp * 0.5             ;scale the amp at initialization
			
			;av linen iscale, 0.1, p3, 0.1  ;ring the amplitude
			a1 oscil iscale, p4, 1          ;oscillate f1
			a2 oscil iscale, p4*0.996, 1    ;oscillate f1
			a3 oscil iscale, p4*1.01, 1     ;oscillate f1
			out a1+a2,a1+a3                 ;beating output. Left,Right
		endin
	</CsInstruments>
	<CsScore>
		f1 0 8192 10 1 ;sine wave
		t 0 60         ;tempo

		;ins	strt	dur	freq
		i1	0	10	200
		e
	</CsScore>
</CsoundSynthesizer>

拍音下載

音樂檔波形