<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>audio-programmierung Archive &#8211; SystMus</title>
	<atom:link href="https://systmus.blogs.uni-hamburg.de/tag/audio-programmierung/feed/" rel="self" type="application/rss+xml" />
	<link>https://systmus.blogs.uni-hamburg.de/tag/audio-programmierung/</link>
	<description>Online-Magazin des Instituts für Systematische Musikwissenschaft</description>
	<lastBuildDate>Fri, 09 Jan 2026 21:09:19 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://systmus.blogs.uni-hamburg.de/wp-content/uploads/2019/04/logoImg-150x150.jpg</url>
	<title>audio-programmierung Archive &#8211; SystMus</title>
	<link>https://systmus.blogs.uni-hamburg.de/tag/audio-programmierung/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>VST programmieren – so geht&#8217;s</title>
		<link>https://systmus.blogs.uni-hamburg.de/vst-programmieren-so-gehts/</link>
		
		<dc:creator><![CDATA[Stina Sonnenberg]]></dc:creator>
		<pubDate>Sun, 25 Jan 2026 07:00:45 +0000</pubDate>
				<category><![CDATA[DIY ‒ Tonstudio]]></category>
		<category><![CDATA[Tutorials: Musikwissenschaft]]></category>
		<category><![CDATA[audio-app]]></category>
		<category><![CDATA[audio-programmierung]]></category>
		<category><![CDATA[signalverarbeitung]]></category>
		<guid isPermaLink="false">https://systmus.blogs.uni-hamburg.de/?p=1160</guid>

					<description><![CDATA[<p>VST programmieren – grenzenlose Möglichkeiten! Die Technik entwickelt sich rasant, und mit ihr wachsen die kreativen Freiheiten in der Musik. Virtuelle Studios ermöglichen den Einsatz vielseitiger PlugIns, digitale Instrumente eröffnen neue Klangwelten, und moderne Musikproduktionen profitieren von unbegrenzten Möglichkeiten. In... <a class="more-link" href="https://systmus.blogs.uni-hamburg.de/vst-programmieren-so-gehts/">Weiterlesen &#8594;</a></p>
<p>Der Beitrag <a href="https://systmus.blogs.uni-hamburg.de/vst-programmieren-so-gehts/">VST programmieren – so geht&#8217;s</a> erschien zuerst auf <a href="https://systmus.blogs.uni-hamburg.de">SystMus</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>VST programmieren – grenzenlose Möglichkeiten! Die Technik entwickelt sich rasant, und mit ihr wachsen die kreativen Freiheiten in der Musik. Virtuelle Studios ermöglichen den Einsatz vielseitiger PlugIns, digitale Instrumente eröffnen neue Klangwelten, und moderne Musikproduktionen profitieren von unbegrenzten Möglichkeiten. In diesem Artikel erfahren Sie Schritt für Schritt, wie die Programmierung eines VST-PlugIns abläuft.</p>
<h2 class="keyword-text _ngcontent-shi-105" aria-label="&quot;vst programmieren&quot; – Sie haben dieses Keyword angegeben.">VST-Begriffe</h2>
<p>Bevor man mit der Programmierung eines VST-PlugIns beginnt, ist es empfehlenswert, sich zunächst mit einigen grundlegenden und essenziellen Begriffen vertraut zu machen. Diese Kenntnisse erleichtern das Verständnis der technischen Abläufe und ermöglichen eine effizientere Entwicklung.</p>
<ul>
<li><strong>Virtual Studio Technology</strong>, kurz VST genannt, ist eine von Steinberg entwickelte Schnittstelle für Audio-Plugins, die die Integration unterschiedlichen Tonaufnahmegeräten und Instrumenten ermöglicht. Sie bedient sich digitaler Signalverarbeitung, um so bestimmte Geräte zu simulieren. Es können über eine Programmierschnittstelle digitale Effektgeräte und Instrumente innerhalb einer Musiksoftware eingesetzt werden.</li>
<li>Ein<strong> PlugIn </strong>beschreibt ein Zusatzprogramm, welches die Funktionen von Webanwendungen und Desktop-Programmen ergänzt. Wenn ein PlugIn installiert wurde, wird die jeweilige Anwendung mit zusätzlichen Funktionen erweitert, ohne das Änderungen am Kerncode erforderlich sind.</li>
<li><strong>Software Development Kit</strong>, kurz SDK ist ein Set von Entwicklungswerkzeugen, die von einem Unternehmen bereitgestellt werden und zur Entwicklung einer Software dient. Für die VST Programmierung ist das VST3 SDK von Steinberg das wichtigste Werkzeug.</li>
<li><strong>C++ </strong>ist eine Programmiersprache, die häufig für die Entwicklung von Audio-PlugIns verwendet wird, da sie eine hohe Performance und Kontrolle über Systemressourcen bietet. Für die Erlernung dieser Programmiersprache können wir Ihnen</li>
</ul>
<h2>Einsatz von VST-PlugIns</h2>
<p>VST-Effekte werden viel im Bereich der Musikproduktion eingesetzt, beispielsweise bei dem Mastern von Musik. Auch beim Komponieren von elektronischer Musik sind VST-Effekte heutzutage nicht mehr wegzudenken. Die Software von VST bringt auch die Möglichkeit mit sich, mit Audiosignalen zu kommunizieren. Das bildet die Grundlage, sich virtueller Effektgeräte zu bedienen, wie beispielsweise den Reverb, Equalizer oder auch den Kompressor. Bei vielen Hosts ist das Verketten unterschiedlicher VST-Effekte möglich. Das hat zur Folge, dass der Originalsound individuell verändert werden kann. Ein klassisches Beispiel dafür ist das Auto-Tune, bei welchem digital die Tonhöhen geändert und angepasst werden können. Das hat eine Klangveränderung zur Folge.</p>
<div id="attachment_7104" style="width: 310px" class="wp-caption aligncenter"><img fetchpriority="high" decoding="async" aria-describedby="caption-attachment-7104" class="wp-image-7104 size-full" src="https://systmus.blogs.uni-hamburg.de/wp-content/uploads/2025/02/pro-audio-9324828_1280-e1739886367900.jpg" alt="Um ein VST zu programmieren, benötigt man einige Tools, die man vorab installieren muss. " width="300" height="169" /><p id="caption-attachment-7104" class="wp-caption-text">Eine VST-Programmierung wird häufig in der Musikproduktion verwendet. Bild: <a href="https://pixabay.com/de/photos/profi-audio-audiomischung-daw-9324828/" target="_blank" rel="noopener">Pixabay</a></p></div>
<h2>Vorbereitung zur VST-Programmierung</h2>
<p>Für die Programmierung eines eigenen VST-PlugIns können Sie folgende Tools installieren.</p>
<ul>
<li>IDE (Visual Studio oder Xcode)</li>
<li>C++ Compiler (MSVC, Clang, GCC)</li>
<li>VST3 SDK</li>
<li>Audio Framework (Juce, iPlu2, etc.)</li>
<li>Build-Tools (CMake)</li>
<li>DAWS (zum Testen der PlugIns)</li>
<li>Git für Versionskontrolle</li>
</ul>
<p>Mit diesen Tools sind Sie bestens gerüstet, um in die VST-PlugIn-Programmierung einzutauchen. Um Ihnen das Programmieren zu erleichtern, können wir Ihnen die <a href="https://www.steinberg.net/de/tutorials/" target="_blank" rel="noopener">Tutorials auf der Steinberg Webseite</a> empfehlen.</p>
<h2>Durchführung einer VST-Programmierung</h2>
<p>Man muss zunächst die nötigen Tools installieren, um ein eigenes PlugIn zu entwickeln. Dazu gehören die VST 3 SDK von Steinberg, eine Entwicklungsumgebung wie <em>Xcode</em> oder Visual Studio sowie <em>CMake</em> für die Projektgenerierung. Zudem wird eine DAW wie <em>Cakewalk</em> oder<em> FruityLoops</em> Studio benötigt, um das PlugIn zu testen. Nach dem Einrichten der Umgebung kann der bereitgestellte Quellcode geladen und erste Änderungen an bestehenden PlugIns vorgenommen werden.</p>
<h2>Erstellung eines eigenen PlugIns</h2>
<p>Um ein eigenes VST-PlugIn zu entwickeln, benötigt man eine geeignete Entwicklungsumgebung wie <em>JUCE</em> oder <em>Steinberg’s VST SDK</em>. Zunächst wird das Grundgerüst des PlugIns erstellt, inklusive der DSP-Algorithmen zur Klangbearbeitung. Anschließend folgt die Gestaltung der Benutzeroberfläche mit Reglern und Anzeigen. Nach der Implementierung werden Tests durchgeführt, um die Stabilität und Klangqualität sicherzustellen. Abschließend wird das PlugIn kompiliert und für verschiedene Plattformen bereitgestellt. Eine gute Dokumentation erleichtert die spätere Nutzung und Weiterentwicklung.</p>
<p>In weiteren Artikel helfen wir Ihnen Ihr <a href="https://systmus.blogs.uni-hamburg.de/homestudio-einrichten-was-brauchen-sie/" target="_blank" rel="noopener">eigenes Homestudio einzurichten</a> oder welche <a href="https://systmus.blogs.uni-hamburg.de/australische-bands-und-musikerinnen-die-sollten-sie-kennen/" target="_blank" rel="noopener">Australischen Band und Musiker&#8217;innen</a> Sie auf jeden Fall kennen sollten.</p>
<h3>Quellen</h3>
<p>Krug, Katharina (2022). <a href="https://www.ionos.de/digitalguide/server/knowhow/was-ist-ein-plug-in/">Was ist Visual Studio? Verständlich erklärt</a>.</p>
<p>Pianoo (2018). VST. <a href="https://pianoo.de/vst-software-schnittstelle-und-recording-revolution/">Software-Schnittstelle und Recording-Revolution</a>.</p>
<p>Steinberg Media Technologies GmbH (2022). <a href="https://steinbergmedia.github.io/vst3_dev_portal/pages/Tutorials/Index.html" target="_blank" rel="noopener">VST 3 Developer Portal</a>.</p>
<p>Der Beitrag <a href="https://systmus.blogs.uni-hamburg.de/vst-programmieren-so-gehts/">VST programmieren – so geht&#8217;s</a> erschien zuerst auf <a href="https://systmus.blogs.uni-hamburg.de">SystMus</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Python Sound abspielen — so gehts</title>
		<link>https://systmus.blogs.uni-hamburg.de/python-sound-abspielen-so-gehts/</link>
		
		<dc:creator><![CDATA[Matthis Nachtmann]]></dc:creator>
		<pubDate>Sat, 17 Jan 2026 07:00:48 +0000</pubDate>
				<category><![CDATA[Tutorials: Musikwissenschaft]]></category>
		<category><![CDATA[audio]]></category>
		<category><![CDATA[audio-programmierung]]></category>
		<category><![CDATA[python]]></category>
		<guid isPermaLink="false">https://systmus.blogs.uni-hamburg.de/?p=1094</guid>

					<description><![CDATA[<p>Die Programmiersprache Python besticht durch eine niedrige Lernschwelle und ihre vielseitigen Anwendungsmöglichkeiten. Besonders in Bereichen wie Akustik, Sounddesign oder Webentwicklung kann es von großem Vorteil sein, wenn Python in der Lage ist, Audiodateien abzuspielen. In diesem Artikel erfahren Sie, welche... <a class="more-link" href="https://systmus.blogs.uni-hamburg.de/python-sound-abspielen-so-gehts/">Weiterlesen &#8594;</a></p>
<p>Der Beitrag <a href="https://systmus.blogs.uni-hamburg.de/python-sound-abspielen-so-gehts/">Python Sound abspielen — so gehts</a> erschien zuerst auf <a href="https://systmus.blogs.uni-hamburg.de">SystMus</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Die Programmiersprache Python besticht durch eine niedrige Lernschwelle und ihre vielseitigen Anwendungsmöglichkeiten. Besonders in Bereichen wie Akustik, Sounddesign oder Webentwicklung kann es von großem Vorteil sein, wenn Python in der Lage ist, Audiodateien abzuspielen. In diesem Artikel erfahren Sie, welche Methoden Ihnen dafür zur Verfügung stehen und wie Sie diese effektiv nutzen können.</p>
<h1>Die Python-Bibliotheken</h1>
<p>Für Python gibt es eine Vielzahl an Bibliotheken, die das Sound-Abspielen ermöglichen. Alle davon haben ihre Vor- und Nachteile, da kann die Auswahl schwierig sein. Hier sind einige der beliebtesten Möglichkeiten erklärt:</p>
<div id="attachment_7134" style="width: 310px" class="wp-caption aligncenter"><img decoding="async" aria-describedby="caption-attachment-7134" class="wp-image-7134 size-medium" src="https://systmus.blogs.uni-hamburg.de/wp-content/uploads/2025/02/python-8665904_1280-300x169.jpg" alt="Eine gelbe und eine Blaue Schlange bilden das Logo. Python zum Sound abspielen verwenden können Sie seit 1997." width="300" height="169" srcset="https://systmus.blogs.uni-hamburg.de/wp-content/uploads/2025/02/python-8665904_1280-300x169.jpg 300w, https://systmus.blogs.uni-hamburg.de/wp-content/uploads/2025/02/python-8665904_1280-1024x577.jpg 1024w, https://systmus.blogs.uni-hamburg.de/wp-content/uploads/2025/02/python-8665904_1280-768x433.jpg 768w, https://systmus.blogs.uni-hamburg.de/wp-content/uploads/2025/02/python-8665904_1280-1536x865.jpg 1536w, https://systmus.blogs.uni-hamburg.de/wp-content/uploads/2025/02/python-8665904_1280-2048x1154.jpg 2048w, https://systmus.blogs.uni-hamburg.de/wp-content/uploads/2025/02/python-8665904_1280-945x532.jpg 945w, https://systmus.blogs.uni-hamburg.de/wp-content/uploads/2025/02/python-8665904_1280-600x338.jpg 600w" sizes="(max-width: 300px) 100vw, 300px" /><p id="caption-attachment-7134" class="wp-caption-text">So sieht das Logo der Programmiersprache aus. Mit Python Sound abspielen ist jetzt womöglich einfacher denn je. Quelle: <a href="https://pixabay.com" target="_blank" rel="noopener">Pixabay</a></p></div>
<h2 id="python-sound-abspielen--pyaudio">Pyaudio</h2>
<p><a href="https://people.csail.mit.edu/hubert/pyaudio/" target="_blank" rel="noopener">Pyaudio</a> kann mit einfachen Mitteln einen Output-Stream erzeugen. Dieser greift dann auf Audio-Möglichkeiten am Computer zu. Pyaudio basiert auf der Bibliothek Portaudio, die ursprünglich für die Programmiersprachen C und C++ gedacht war. Mit Pyaudio können Sie sowohl ein Array, als auch eine Datei als Audio abspielen.</p>
<pre><code class="language-python">import wave
import pyaudio


CHUNK = 1024

filename = input("WAV-Datei: ")

with wave.open(filename, 'rb') as wf:

    p = pyaudio.PyAudio()

    
    stream = p.open(format=p.get_format_from_width(wf.getsampwidth()),
                    channels=wf.getnchannels(),
                    rate=wf.getframerate(),
                    output=True)

    
    while len(data := wf.readframes(CHUNK)): 
        stream.write(data)

    
    stream.close()

    p.terminate()
</code></pre>
<ul>
<li>Pyaudio kann Audio abspielen, aber keine Audio-Dateien lesen. Importieren Sie hierfür zunächst das in Python integrierte <code>wave</code> Modul. Mit diesem Modul kann Python WAV-Dateien einlesen und erstellen. Importieren Sie dann Pyaudio.</li>
<li>Legen Sie die Größe der <code>CHUNK</code> Variable fest. Die <em>Chunk-Größe</em> ist dafür verantwortlich, wie viele Daten von der Datei in den Speicher gelesen werden. Ist sie höher, kann das die Prozessorleistung verringern, aber die Verzögerung erhöhen. Ist sie niedriger, wird der Prozessor mehr belastet, aber die Verzögerung kann verringert werden. Das ist vor allem wichtig, falls Sie die Audio-Quelle in Echtzeit bearbeiten wollen. Wenn, wie in diesem Fall, nur eine WAV-Datei abgespielt werden soll, ist die Verzögerung nicht so wichtig.</li>
<li>Schreiben Sie nun ins Programm, wo Pyaudio die Datei finden kann. Die Variable <code>filename</code> soll den Dateipfad enthalten. In diesem Fall öffnet sich ein Fenster in das, bei Start des Programms, der Dateipfad eingegeben werden kann.</li>
</ul>
<h3>Das <code>wave</code> Modul</h3>
<ul>
<li>Nutzen Sie nun das <code>wave</code> Modul, welches die Datei als Binärdatei öffnet und ihr die Variable <code>wf</code> zuschreibt. Instantiieren Sie danach die Pyaudio Bibliothek und schreiben Sie ihr die Variable <code>p</code> zu. Pyaudio kann sich im Folgenden mit der Audio-Hardware verbinden.</li>
<li>Öffnen Sie im Anschluss den Audio-Datenstrom. Die Funktionen in diesem Abschnitt lesen die Spezifikationen der Datei. Die Bit-Tiefe, Anzahl der Kanäle (also zum Beispiel der Unterschied zwischen Mono und Stereo) und die Samplerate sind wichtige Parameter, um die Datei möglichst originalgetreu wiederzugeben. Mit der Anweisung <code>output=True</code> spezifizieren Sie, dass der Datenstrom zum Abspielen gedacht ist.</li>
<li>Im nächsten Abschnitt kommt die <code>CHUNK</code> Variable wieder ins Spiel. Starten Sie einen <code>while</code> loop, der so lange Stücke der Audio-Datei in den Datenstrom schreibt, bis das Ende der Datei erreicht ist. Schließen Sie im Anschluss mit <code class="language-python">stream.close()</code>den Datenstrom und beenden Sie mit <code class="language-python">p.terminate()</code> das Programm.</li>
</ul>
<h2 id="python-sound-abspielen--ipython">IPython</h2>
<p>Wenn Sie Jupyter benutzen, ist IPython womöglich der schnellste Weg, um Audio abspielen zu können. Aber Vorsicht: IPython ist kein reines Python-Modul. Es verwendet die Möglichkeiten von Jupyter, Inhalte über HTML zu rendern und regelt den Audio-Datenfluss über den Browser. Das ist ideal für Musik- und andere Wissenschaflter&#8217;innen, erlaubt aber auch nicht die Genauigkeit und Anpassungsfähigkeit von Pyaudio oder anderen Bibliotheken.</p>
<pre><code class="language-python">from IPython.display import Audio

filename = input("WAV-Datei: ")

display(Audio(filename))
</code></pre>
<p>Importieren Sie zunächst die <code>Audio</code>-Klasse des <code>Ipython.display</code> Moduls. Ordnen Sie dann der Variable für den Dateipfad <code>filename</code> eine Benutzereingabe zu. Nutzen Sie im Anschluss <code class="language-python">display(Audio(filename))</code>, um dem Display die Datei und das Medium (also in diesem Fall Audio) zuzuweisen. Starten Sie dann das Programm und geben Sie in das Textfeld den Dateinamen ein. Sie erhalten nun eine Oberfläche, mit der die Datei abgespielt werden kann.</p>
<h2 id="python-sound-abspielen--sounddevice">Python Sound abspielen — Sounddevice</h2>
<p>Die Sounddevice Bibliothek basiert, wie Pyaudio, auf der PortAudio Bibliothek für C und C++. Mit Sounddevice können Sie mit sehr wenigen Eingaben eine Datei als Audio abspielen. Für mehr Kontrolle bietet die Bibliothek aber auch die Möglichkeit, den Audio-Datenstrom direkt zu bestimmen, ähnlich wie Pyaudio.</p>
<pre><code class="language-python">import sounddevice as sd
from scipy.io import wavfile

filename = input("WAV-Datei: ")

sd.play(*wavfile.read(filename))
sd.wait()
</code></pre>
<ul>
<li>Der einfachste Weg um mit Sounddevice eine WAV-Datei abzuspielen ist mithilfe des Scipy-Moduls <code>wavfile</code>. Dieses ermöglicht es die nötigen Informationen über die Datei direkt an Sounddevice weiterzugeben.</li>
<li>Importieren Sie dafür zunächst Sounddevice und das <code>wavfile</code> Modul von Scipy. Fragen Sie im Anschluss nach der Benutzereingabe des Dateinamen mit <code>filename = input("WAV-Datei: ")</code>.</li>
<li>Mit der Funktion <code>sd.play(*wavfile.read(filename))</code> können Sie dann Sounddevice den Auftrag zum Abspielen geben. Innerhalb der Klammer passiert folgendes: <code>wavfile.read()</code> liest die Datei <code>filename</code>ein. Die Funktion liefert ein Tupel mit der Samplerate und den Audiodaten. Durch den Operator <code>*</code> werden diese Daten direkt der <code>sd.play()</code> Funktion zugespielt.</li>
<li>Mit <code>sd.wait()</code> können Sie sichergehen, dass sich das Programm erst schließt, wenn die Datei fertig abgespielt ist.</li>
</ul>
<h2 id="python-sound-abspielen--pygame">Pygame</h2>
<p>Wie der Name schon sagt, ist die Pygame Bibliothek eigentlich zum Spiele-Programmieren gedacht. Mit dem <code>pygame.mixer</code> Modul ist sie auch geeignet, um Audio abzuspielen.</p>
<pre><code class="language-python">import time
import pygame

pygame.mixer.init()

filename = input("WAV-Datei: ")

pygame.mixer.music.load(filename)

pygame.mixer.music.play()

while pygame.mixer.music.get_busy():  
    time.sleep(1)
</code></pre>
<p>Importieren Sie zunächst Pygame und das (bereits in Python enthaltene) <code>time</code> Modul. Initialisieren Sie Pygame im Anschluss mit <code>pygame.mixer.init()</code>. Das Argument <code>filename = input("WAV-Datei: ")</code> ist für den Dateinamen gedacht. Laden Sie dann mittels <code>pygame.mixer.music.load(filename)</code> die WAV-Datei und spielen sie mit <code>pygame.mixer.music.play()</code> ab. In einem Jupyter Notebook schaltet sich das Programm ab, wenn der Code einmal durchgelaufen ist. Wenn im Hintergrund dann noch ein Audio-Datenstrom offen ist, wird dieser mit beendet. Fügen Sie um das zu verhindern eine <code>while</code> Schleife ein, die überprüft ob die Datei noch abgespielt wird und das Schließen des Programms in der Zeit verhindert.</p>
<h2>Python Sound abspielen — Playsound</h2>
<p>Das <code>playsound</code> Modul enthält eine gleichnamige Funktion, die Audio abspielen kann. Vieles, was bei den anderen Bibliotheken explizit eingegeben werden muss, macht <code>playsound</code>automatisch.  Allerdings fehlt Genauigkeit. Es gibt keine eingebaute Funktion um das Abspielen zu pausieren oder andere Dinge mit dem Datenstrom zu machen. Genau so kann <code>playsound</code> nicht mehrere Kanäle zur gleichen Zeit offen haben. Das ist praktisch, wenn Sie einen kurzen Audio-Clip abspielen und nicht direkt einen ganzen Codeblock schreiben wollen. Um mit <code>playsound</code> eine WAV-Datei abzuspielen, braucht es drei Dinge:</p>
<pre><code class="language-python">from playsound import playsound 

filename = input("WAV-Datei: ")

playsound(filename)
</code></pre>
<ul>
<li>Importieren Sie zunächst <code>playsound</code>.</li>
<li>Geben Sie im Anschluss mit <code>filename = input("WAV-Datei: ")</code> die Möglichkeit den Dateinamen einzugeben.</li>
<li>Rufen Sie dann die <code>playsound</code> Funktion auf. Setzen Sie als Argument die <code class="language-python">filename</code> Variable.</li>
</ul>
<p>Wie Sie sehen gibt es viele verschiedene Wege eine WAV-Datei mit Python abzuspielen. Je nach Anwendungsbereich können manche davon praktischer sein als andere. Wenn Sie mit dem abgespielten Sound Daten transportieren, wird das „Audifikation“ genannt. Mehr über <a href="https://systmus.blogs.uni-hamburg.de/sonifikation-daten-hoerend-verstehen/">Audifikation und Sonifikation</a> erfahren Sie in einem weiteren Artikel.</p>
<p>Der Beitrag <a href="https://systmus.blogs.uni-hamburg.de/python-sound-abspielen-so-gehts/">Python Sound abspielen — so gehts</a> erschien zuerst auf <a href="https://systmus.blogs.uni-hamburg.de">SystMus</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>MATLAB — Sinus erzeugen, abspielen und plotten</title>
		<link>https://systmus.blogs.uni-hamburg.de/matlab-sinus/</link>
		
		<dc:creator><![CDATA[Roman Stracke]]></dc:creator>
		<pubDate>Sat, 20 May 2023 08:51:53 +0000</pubDate>
				<category><![CDATA[Tutorials: Musikwissenschaft]]></category>
		<category><![CDATA[audio-programmierung]]></category>
		<category><![CDATA[Matlab]]></category>
		<category><![CDATA[signalverarbeitung]]></category>
		<category><![CDATA[sound-design]]></category>
		<guid isPermaLink="false">https://systmus.blogs.uni-hamburg.de/?p=658</guid>

					<description><![CDATA[<p>Der Umgang mit dem Sinus in MATLAB ist in vielen Fachrichtungen nicht mehr wegzudenken. In der Signalverarbeitung benötigt man immer wieder das Erzeugen, Abspielen und Plotten eines Sinus. Wie Sie das möglichst einfach in einem MATLAB-Skript implementieren, erfahren Sie hier.... <a class="more-link" href="https://systmus.blogs.uni-hamburg.de/matlab-sinus/">Weiterlesen &#8594;</a></p>
<p>Der Beitrag <a href="https://systmus.blogs.uni-hamburg.de/matlab-sinus/">MATLAB — Sinus erzeugen, abspielen und plotten</a> erschien zuerst auf <a href="https://systmus.blogs.uni-hamburg.de">SystMus</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Der Umgang mit dem Sinus in MATLAB ist in vielen Fachrichtungen nicht mehr wegzudenken. In der Signalverarbeitung benötigt man immer wieder das Erzeugen, Abspielen und Plotten eines Sinus. Wie Sie das möglichst einfach in einem MATLAB-Skript implementieren, erfahren Sie hier.</p>
<h2>MATLAB Sinus erzeugen und abspielen</h2>
<p>Der erste Schritt, um ein Sinus-Array zu generieren, ist das Sammeln von den Eigenschaften des Sinus. Besonders wichtig sind die Frequenz und Länge des Signals. Für unser Beispiel wählen wir eine Frequenz von <em>f = 300</em> Hz und eine Signallänge von <em>T = 3</em> s. Wir implementieren darüber hinaus weitere Eigenschaften des Sinus wie die Amplitude <em>A = 0.8</em> und die Phasenverschiebung <em>ϕ = 0.8</em>. Wenn Sie diese Parameter nicht übernehmen, dann werden die Standardwerte übernommen <em>A = 1</em> und <em>ϕ = 0</em>. Besonders wenn man allerdings mehrere Signale miteinander addieren möchte, ist es sinnvoll, mit der Amplitude und Phasenverschiebung zu arbeiten.</p>
<p>Zusätzlich zu den Sinuseigenschaften legen wir die Signaleigenschaften fest. Wir wählen eine Samplingrate von sr <em>= 44100</em> Hz und eine Samplingtiefe von bit = <em>24</em> bit. Die Samplingrate gibt an, wie viele Werte pro Sekunde gespeichert werden und entscheidet damit über die maximale darstellbare Frequenz (Nyquist-Frequenz). Bei der Hälfte der Samplingrate liegt die Nyquist-Frequenz, also in diesem Fall bei circa <em>22</em> kHz. Die Samplingtiefe entscheidet über unseren Dynamikumfang und gibt den Wertebereich an, mit dem jedes einzelne Sample codiert werden kann.</p>
<p>Des Weiteren benötigen wir:</p>
<ul>
<li>Diskretisierungs-Schrittweite: d<em>t = 1 /</em> sr</li>
<li>Das Zeit-Array: von <em>0</em> s bis <em>T = 3</em> s mit einer Schrittweite von d<em>t</em></li>
<li>Die Erzeugung des Sinus: <em>A ⋅</em> sin<em>(2⋅π⋅f⋅t + ϕ)</em></li>
</ul>
<p>MATLAB erstellt automatisch ein Array aus unserem Sinus, da wir unser Zeit-Array <em>t</em> im Argument einsetzen. Um den Sinus abzuspielen, greifen wir auf die <em>sound()</em> Funktion von MATLAB zurück. Hier schreiben Sie das abzuspielende Array, die Samplingrate und die Samplingtiefe in das Argument der Funktion: <em>sound(sinus, sr, bit)</em>. Dann haben Sie einen Sinus produziert und abgespielt. Abbildung 1 zeigt Ihnen den gesamten Quelltext.</p>
<div id="attachment_662" style="width: 310px" class="wp-caption aligncenter"><a href="https://systmus.blogs.uni-hamburg.de/wp-content/uploads/2023/05/MatlabSinus.png"><img decoding="async" aria-describedby="caption-attachment-662" class="wp-image-662 size-medium" title="Sinus in Matlab erzeugen, plotten, abspielen" src="https://systmus.blogs.uni-hamburg.de/wp-content/uploads/2023/05/MatlabSinus-300x169.png" alt="MATLAB Sinus erzeugen abspielen und plotten Skript" width="300" height="169" srcset="https://systmus.blogs.uni-hamburg.de/wp-content/uploads/2023/05/MatlabSinus-300x169.png 300w, https://systmus.blogs.uni-hamburg.de/wp-content/uploads/2023/05/MatlabSinus-768x432.png 768w, https://systmus.blogs.uni-hamburg.de/wp-content/uploads/2023/05/MatlabSinus.png 960w" sizes="(max-width: 300px) 100vw, 300px" /></a><p id="caption-attachment-662" class="wp-caption-text">Abb. 1: MATLAB Skript zum Erzeugen, Abspielen und Plotten eines Sinus-Signals</p></div>
<h2>Sinus plotten</h2>
<p>Das Plotten in MATLAB ist einfach gehalten. In der einfachsten Form reicht die Funktion <em>plot() </em>aus. Wir plotten auf der <em>y</em>-Achse die Zeit <em>t</em> und auf der <em>x</em>-Achse unseren Sinus: <em>plot(t, sinus)</em>. Zusätzlich legen wir noch den Bereich fest, in dem MATLAB unseren Plot anzeigt, mit <em>ylim()</em> für die <em>y</em>-Achse und <em>xlim() </em>für die <em>x</em>-Achse. Ohne Festlegung des Bereiches plottet MATLAB den kompletten Zeitbereich und es sind die einzelnen Schwingungen nicht mehr zu erkennen, wie in Abbildung 2 (A) dargestellt. Nach dem Festlegen des Plot-Bereiches ist das Betrachten der Sinusschwingung deutlich einfacher, wie in Abbildung 2 (B) dargestellt. Natürlich gibt es noch viele weitere Optionen, um komplexere Plots zu erstellen, wie beispielsweise mit <a href="https://de.mathworks.com/help/matlab/creating_plots/add-title-axis-labels-and-legend-to-graph.html">Legenden und Beschriftungen der Achsen</a>.</p>
<div id="attachment_664" style="width: 310px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-664" class="wp-image-664 size-full" src="https://systmus.blogs.uni-hamburg.de/wp-content/uploads/2023/05/Matlab-Sinus.png" alt="Plot Sinus MATLAB" width="300" height="169" /><p id="caption-attachment-664" class="wp-caption-text">Abb. 2: Sinus Plotten in Matlab (A) ohne festgelegte Grenzen und (B) mit Grenzbereich</p></div>
<p>Mit nur 25 Sinus-Generatoren können Sie den Sound aus der <a href="https://play.google.com/store/apps/details?id=de.uni_bremen.informatik.sonification_apps" target="_blank" rel="noopener">Wasserwaagen-App Tiltification</a> nachbauen, oder an Ihrem eigenen Sound Design feilen, um am <a href="https://systmus.blogs.uni-hamburg.de/sonic-tilt-wettbewerb-ihr-sound-in-der-wasserwaagen-app/">Sonic-Tilt Wettbewerb</a> teilzunehmen und eine App mit Ihrem eigenen Sound zu veröffentlichen.</p>
<!-- Matlab Sinus erzeugen, sinus plotten, sinus generieren --><p>Der Beitrag <a href="https://systmus.blogs.uni-hamburg.de/matlab-sinus/">MATLAB — Sinus erzeugen, abspielen und plotten</a> erschien zuerst auf <a href="https://systmus.blogs.uni-hamburg.de">SystMus</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
