powered by Tobias Fuchs

Not logged in. · Lost password · Register
Forum: Allgemein Generelle Fragen und Anregungen RSS
Audiospuren Addieren Subtrahieren Dividieren
Signalverarbeitung mit Audacity
Weihnachtsmann #1
Member since Dec 2008 · 2 posts
Group memberships: Benutzer
Show profile · Link to this post
Subject: Audiospuren Addieren Subtrahieren Dividieren
Hallo,

ich möchte Audacity zu Testzwecken als Signalverarbeitungsprogramm verwenden. Und zwar soll das so aussehen:

Über einen Stereoeingang kommen zwei Spannungssignale. Diese Werte sollen einmal addiert werden und einmal subtrahiert werden (Also U1-U2 und U1+U2).

Danach soll die Differenz durch die Summe geteilt werden. (U1-U2)/(U1+U2).

Gibt es da irgendeine Möglichkeit oder Plugin das ich übersehen habe?

Danke,

Philipp
edgar-rft (Moderator) #2
Member since Nov 2004 · 2790 posts · Location: Karlsruhe
Group memberships: Benutzer, Globale Moderatoren
Show profile · Link to this post
Zuerst die Tonspur mit den Mess-Signalen markieren, dann im Audacity "Effekt" Menü die "Nyquist Eingabeaufforderung" öffnen (in Audacity_1.3.6-beta befindet sich die "Nyquist Eingabeaufforderung" unter "Effekt > Unsorted"). Im Textfeld der "Nyquist Eingabeaufforderung" folgenden Code (der grüne Text) hineinkopieren:

  • Addieren (links plus rechts):

Nyquist Code: (sum (aref s 0) (aref s 1))

  • Subtrahieren (links minus rechts):

Nyquist Code: (sum (aref s 0) (scale -1 (aref s 1)))

  • Differenz durch Summe dividieren

geht in Nyquist nur mit einem Trick:

(links minus rechts) / (links plus rechts)

ist das gleiche wie:

(links minus rechts) * (1 / (links plus rechts))

Nyquist Code: (mult (sum (aref s 0) (scale -1 (aref s 1))) (recip (sum (aref s 0) (aref s 1))))

Anschliessend im Fenster der "Nyquist Eingabeaufforderung" auf "OK" klicken.

Getestet mit Audacity_1.3.6-beta unter Windows XP Professional SP2.

Wenn eine Fehlermeldung wie "Nyquist gab keine Audiodaten zurück" oder ähnlich erscheint, das gleich wiederholen, im Fernster der "Nyquist Eingabeaufforderung" aber nicht auf "OK" sondern auf "Diagnose" klicken und den (meist relativ langen) Text, der im Nyquist "Diagnose" Fenster ausgegeben wird, hier ins Forum posten.

Wie Nyquist funktioniert ist hier beschrieben: http://www.audacity-forum.de/download/edgar/nyquist/nyquis…
Deutsche Handbücher und Onlinehilfe findet ihr unter "Bitte zuerst lesen" und "Informationen und Fragen zur Webseite"
Weihnachtsmann #3
Member since Dec 2008 · 2 posts
Group memberships: Benutzer
Show profile · Link to this post
1000 Dank für die Antwort! Funktioniert so wie ich mir das dacht :-)
Einfach eine Stereospru markieren und es wandelt das Signal um.

Gruß,

Philipp
Grumpf #4
Member since Dec 2009 · 1 post
Group memberships: Benutzer
Show profile · Link to this post
Ich hab den Code für Subtrahieren mal ausprobiert:
Nyquist Code:
(sum (aref s 0) (scale -1 (aref s 1)))

Wenn ich zwei identische Audiospuren subtrahiere kommt absolute Stille heraus. (wunderbar!)
Ich wollte jetzt ein Musikstück mit dem passenden Instrumental(ohne Gesang) subtrahieren, sodass nur der Gesang über bleibt, aber das klappt überhaupt nicht. Es wird alles etwas lauter und blechernd.

Habe ich irgendwo einen Denkfehler?

Gruß Grumpf
edgar-rft (Moderator) #5
Member since Nov 2004 · 2790 posts · Location: Karlsruhe
Group memberships: Benutzer, Globale Moderatoren
Show profile · Link to this post
Denkfehler gibt es da keinen (so weit ich das verstanden habe), aber der "Karaoke-Trick" (eine Spur von der anderen subtrahieren) funktioniert nicht mit allen Audio-Dateien. Ob es funktioniert oder nicht hängt hauptsächlich davon ab, wie die Stereodatei abgemischt wurde. Du kannst ja mal ausprobieren ob nach der Karaoke-Anleitung aus der deutschen Audacity Bedienungsanleitung das gleiche Ergebnis rauskommt.

Es gibt auch noch ein Nyquist Karaoke-Plugin unter:

Deutsche Handbücher und Onlinehilfe findet ihr unter "Bitte zuerst lesen" und "Informationen und Fragen zur Webseite"
Ingmar #6
Member since Apr 2006 · 774 posts · Location: Essen
Group memberships: Benutzer
Show profile · Link to this post
In reply to post #4
Die Erklärung von Edgar ist soweit völlig richtig. Allerdings erklärt das nich so ganz, warum die Rechnung Vocal - (Karaoke)Instrumental nicht A Cappella rauskommt.

Problem ist, das die entstandene Karaoke-Version eine reine Mono-Doppelspur und keine Stereo-Spur, wie Ursprungsdatei. Stellt sich jetzt nur die Frage, ob man aus einer Vocal-Mono-Doppelspur, das oben genannte herausbekommt. Zumindest ansatzweise.
(:- Ingmar :-)
edgar-rft (Moderator) #7
Member since Nov 2004 · 2790 posts · Location: Karlsruhe
Group memberships: Benutzer, Globale Moderatoren
Show profile · Link to this post
Also anscheinend hatte ich es dann doch nicht richtig verstanden:  :-)

Ich wollte jetzt ein Musikstück mit dem passenden Instrumental(ohne Gesang) subtrahieren, sodass nur der Gesang über bleibt, aber das klappt überhaupt nicht.

Das "nur Musik" Karaoke Signal besteht entweder aus "linker Kanal minus rechter Kanal" oder "rechter Kanal minus linker Kanal" (beide Versionen sollten funktionieren). Es handelt sich in Wirklichkeit um ein Mono-Signal weil sich am Ende in beiden Stereo-Spuren zweimal das gleiche Signal befindet.

Wenn ich das "links minus rechts" Doppel-Mono Karaoke Signal von der Original-Stereoaufnahme subtrahiere erhalte ich das folgende Stereo-Ergebnis:

  • (links) - (links - rechts) = -1 * rechts (im linken Kanal bleibt der invertierte und wahrscheinlich leicht verfälschte rechte Kanal der Originalaufnahme übrig)

  • (rechts) - (links - rechts) = 2 * rechts - links (im rechten Kanal bleibt ein Gemisch aus doppelt so lautem rechtem Kanal minus linkem Kanal übrig)

"leicht verfälscht" deshalb, weil der "Karaoke" Trick nie so richtig genau 100% funktioniert, und alle Fehler des Karaoke-Signals finden sich natürlich auch in das Ergebnis-Signal.

"doppelt so laut" deshalb, weil "Signal" minus "minus Signal" (doppeltes "minus") ist das gleiche wie "Signal" plus "Signal".

Wenn ich das "rechts minus links" Doppel-Mono Karaoke Signal von der Original-Stereoaufnahme subtrahiere erhalte ich das folgende Stereo-Ergebnis:

  • (links) - (rechts - links) = rechts - 2 * links (im linken Kanal bleibt ein Gemisch aus rechtem Kanal minus doppelt so lautem linken Kanal übrig)

  • (rechts) - (rechts - links) = -1 * links (im rechten Kanal bleibt der invertierte und wahrscheinlich leicht verfälschte linke Kanal der Originalaufnahme übrig)

Theoretisch könnte man denken dass es doch funktionieren müsste das "nur Musik" Karaoke Mono-Signal von der in Mono umgewandelten Originalaufnahme zu subtrahieren, um nur den Gesang zu erhalten. Das funktioniert aber aus folgendem Grund nicht:

Die nach Mono umgewandelte Originalaufnahme besteht aus "links plus rechts" oder "rechts plus links" (was beides das gleiche, vollkommen identische Ergebnis hat).

Wenn ich jetzt das "nur Musik" Karaoke Signal vom "Mono" Signal subtrahiere erhalte ich eines der beiden folgenden Ergebnisse:

  • (links + rechts) - (rechts - links) = -2 * links (der invertierte und doppelt so laute linke Kanal der Originalaufnahme bleibt übrig)

  • (links + rechts) - (links - rechts) = -2 * rechts (der invertierte und doppelt so laute rechte Kanal der Originalaufnahme bleibt übrig)

In keinem Fall erhalte ich also das reine Gesangssignal.

Ergebnis: Es ist mit einem Differenzsignal (Subtraktion der Stereokanäle = Standard Karaoke Trick) nicht möglich durch anschliessende "Weiterverarbeitung" das reine Gesangssignal zu erhalten.

Ich weiss dummerweise aber auch keinen anderen Trick oder ein anderes Programm mit dem das möglich wäre.
Deutsche Handbücher und Onlinehilfe findet ihr unter "Bitte zuerst lesen" und "Informationen und Fragen zur Webseite"
This post was edited 2 times, last on 2009-12-22, 16:10 by edgar-rft.
Close Smaller – Larger + Reply to this post:
Smileys: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O
Special characters:
Go to forum

Die grosse Soundkarten-Auswahl im Internet.
This board is powered by the Unclassified NewsBoard software, 20100516-dev, © 2003-10 by Yves Goergen
Page created in 176.3 ms (131.2 ms) · 80 database queries in 64.1 ms
Current time: 2010-09-10, 05:18:51 (UTC +02:00)