Hello I'm trying to write a program that will wrap an ASD envelop to a trangle wave sound. I can't seem to get my trangle one to work. I did get my sine wave to work. What could I change to get it to do a trangle?

def asd(fileName,nSeconds,cyclesPerSecond,maxAmp):
 newsound=makeEmptySound(nSeconds)
 samplesPerSecond=getSamplingRate(newsound)
 samplesPerCycle=samplesPerSecond/cyclesPerSecond
 maxCycle=2*pi
 ns=getLength(newsound)+1
 ns1=ns/3
 ns2=ns1*2
 #attack
 for s in range(1,ns1):
  rawSample=sin(((s%samplesPerCycle)/samplesPerCycle)*maxCycle)
  sampleValue=int((float(s)%ns1)/ns1*maxAmp*rawSample)
  setSampleValueAt(newsound,s,sampleValue)
 #sustain
 for s in range(ns1,ns2):
  rawSample=sin(((s%samplesPerCycle)/samplesPerCycle)*maxCycle)
  sampleValue=int(maxAmp*rawSample)
  setSampleValueAt(newsound,s,sampleValue)
 #decay
 for s in range(ns2,ns):
  rawSample=sin(((s%samplesPerCycle)/samplesPerCycle)*maxCycle)
  sampleValue=int((ns1-(float(s)%ns1))/ns1*maxAmp*rawSample)
  setSampleValueAt(newsound,s,sampleValue)
 return(newsound)
#To run type newsound=asd("aa",1,440,4000)
#then play(newsound)

You may want to let folks know what ASD is.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.