func square(out []int16, volume float64, freq float64, sequence float64) {
	if freq == 0 {
		for i := 0; i < len(out); i++ {
			out[i] = 0
		}
		return
	}
	length := int(float64(sampleRate) / freq)
	if length == 0 {
		panic("invalid freq")
	}
	for i := 0; i < len(out); i++ {
		a := int16(volume * math.MaxInt16)
		if i%length < int(float64(length)*sequence) {
			a = -a
		}
		out[i] = a
	}
}
func square(out []int16, volume float64, freq float64, sequence float64) {
	if freq == 0 {
		for i := 0; i < len(out); i++ {
			out[i] = 0
		}
		return
	}
	length := int(float64(sampleRate) / freq)
	if length == 0 {
		panic("invalid freq")
	}
	for i := 0; i < len(out); i++ {
		a := int16(volume * math.MaxInt16)
		if i%length < int(float64(length)*sequence) {
			a = -a
		}
		out[i] = a
	}
}
func square ( out [ ] int16 , volume float64 , freq float64 , sequence float64 ) { if freq == 0 { for i := 0 ; i < len ( out ) ; i ++ { out [ i ] = 0 } return } length := int ( float64 ( sampleRate ) / freq ) if length == 0 { panic ( " " ) } for i := 0 ; i < len ( out ) ; i ++ { a := int16 ( volume * math . MaxInt16 ) if i % length < int ( float64 ( length ) * sequence ) { a = - a } out [ i ] = a } }
// square fills out with square wave values with the specified volume, frequency and sequence.
square fills out with square wave values with the specified volume frequency and sequence .