Benutzer-Werkzeuge

Webseiten-Werkzeuge


ws1314:audio

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
ws1314:audio [2014/03/04 12:54]
cnaumann
ws1314:audio [2016/05/10 14:46] (aktuell)
Zeile 2: Zeile 2:
  
 ===== Töne selbst erzeugen ===== ===== Töne selbst erzeugen =====
-==== Eigene Variante ==== 
 Bei uns ging es zunächst darum Töne zu erzeugen, was hauptsächlich über die Erzeugung von Sinuskurven mit verschiedenen Frequenzen und Amplituden realisierbar ist. Bei uns ging es zunächst darum Töne zu erzeugen, was hauptsächlich über die Erzeugung von Sinuskurven mit verschiedenen Frequenzen und Amplituden realisierbar ist.
  
 +==== Eigene Variante ====
 Eine Sinuskurve allgemein mit variabler Frequenz und Amplitude zu erzeugen ist mit dem Modul Numpy relativ einfach. Eine Sinuskurve allgemein mit variabler Frequenz und Amplitude zu erzeugen ist mit dem Modul Numpy relativ einfach.
 <code python> <code python>
Zeile 37: Zeile 37:
  for i in range(0,​int(T*frq)):​  for i in range(0,​int(T*frq)):​
  y=np.concatenate((y,​ya))  y=np.concatenate((y,​ya))
- return y + return y
- +
 </​code>​ </​code>​
  
-==== Krasse Variante ​====+ 
 +==== Mit Stefans Hilfe ====
 Da wir allerdings mehrere Sinuskurven mit unterschiedlichen Frequenzen und Amplituden aneinanderreihen wollten, mussten wir uns Gedanken machen, wie wir das Umsetzen. Da dies und das erstellen eines Interface über unseren Fähigkeiten lag, hat Stefan uns bei der Lösung dieser Probleme ausgeholfen. Da wir allerdings mehrere Sinuskurven mit unterschiedlichen Frequenzen und Amplituden aneinanderreihen wollten, mussten wir uns Gedanken machen, wie wir das Umsetzen. Da dies und das erstellen eines Interface über unseren Fähigkeiten lag, hat Stefan uns bei der Lösung dieser Probleme ausgeholfen.
 Hierbei entstand folgender krasser Code: Hierbei entstand folgender krasser Code:
- 
 <code python> <code python>
 #### Sinusgenerator-Klasse #### Sinusgenerator-Klasse
- 
 class sinus_generator(generator):​ class sinus_generator(generator):​
  '''​Sinus-Tongenerator'''​  '''​Sinus-Tongenerator'''​
Zeile 53: Zeile 51:
  self.freq=freq  self.freq=freq
  self.phaseshift=0.0  self.phaseshift=0.0
-  +
- +
  def generate(self,​T):​  def generate(self,​T):​
  '''​Erzeugt einen Sinusklang der Dauer T.  '''​Erzeugt einen Sinusklang der Dauer T.
Zeile 63: Zeile 60:
  +self.phaseshift*np.ones(int(T*RATE))  +self.phaseshift*np.ones(int(T*RATE))
  yy=np.sin(yy)  yy=np.sin(yy)
- self.phaseshift+=T*2*np.pi*self.freq + self.phaseshift+=T*2*np.pi*self.freq
- +
  return yy.copy()  return yy.copy()
 +
  
 class fm_generator(generator):​ class fm_generator(generator):​
Zeile 88: Zeile 85:
  return yy.copy()  return yy.copy()
   
-  
-  
- 
 #### Der '​große Generator',​ der aus Verknüpfung von anderen besteht: #### Der '​große Generator',​ der aus Verknüpfung von anderen besteht:
  
Zeile 114: Zeile 108:
  self.vol.append(1/​i)  self.vol.append(1/​i)
 </​code>​ </​code>​
 +
 +
  
  
  
 ===== Fourier Transformation ===== ===== Fourier Transformation =====
-==== Eigene Variante ​==== +Mit der Fourier Transformation lassen sich unter anderem bereits existente Töne analysieren und in Daten umwandeln, sodass man sie modellieren kann. 
-Zunächst haben wir probiert selbst einen Code für die Fourier Transformation zu implementieren. Dieser sieht folgendermaßen aus:+ 
 +==== Diskret ​==== 
 +Zunächst haben wir probiert selbst einen Code für die Diskrete ​Fourier Transformation zu implementieren. Dieser sieht folgendermaßen aus:
 <code python> <code python>
 </​code>​ </​code>​
  
-==== Krasse Variante ​====+==== Fast ====
 Da wir hier leider auf Speicher Probleme stießen, mussten wir doch auf den in Numpy vorhandenen Fast-Fourier-Transformation Code zurückgreifen:​ Da wir hier leider auf Speicher Probleme stießen, mussten wir doch auf den in Numpy vorhandenen Fast-Fourier-Transformation Code zurückgreifen:​
 <code python> <code python>
 </​code>​ </​code>​
ws1314/audio.1393934053.txt.gz · Zuletzt geändert: 2016/05/10 14:46 (Externe Bearbeitung)