![]() |
Audiokopplung zweier Computer
Hallo,
ich bin auf der Suche nach einer Möglichkeit, zwei Computer über die Soundkarten miteinander zu verbinden. Hier geht es nicht um rasend hohe Geschwindigkeiten, sondern nur um die Möglichkeit, geringe Datenmengen auszutauschen. Auf beiden Rechnern soll ein Programm von mir laufen. Die Computer sind jeweils vom Line-Out zum Line-In und umgekehrt verkabelt. Ein Programm soll dann also Töne ausgeben und das Programm auf der anderen Seite soll die dann jeweils richtig erkennen und interpretieren. Dabei würden mir zwei verschiedene Töne ausreichen, Ziel ist es nur, so einfach wie möglich eine Reihe von Nullen und Einsen zu übertragen. Leider habe ich mich noch nie wirklich mit der Programmierung mit solchen Schnittstellen beschäftigt, da dies eigentlich nicht im Vordergrund der Arbeit stehen soll. Mir geht es also um das Ausgeben und das Einlesen einfacher Töne. Wie fange ich da am Besten an? Wie könnte man das am einfachsten umsetzen? Vielen Dank im Voraus, Nicolai |
Re: Audiokopplung zweier Computer
Hm jetzt einfach mal so spontan: Töne generieren könntest du mit windows.beep(frequenz, laenge);
Die Seite, die den Ton interpretieren soll, ist etwas komplizierter. Dort musst du das Signal aufnehmen (sollte Bass.dll leisten) und anschließend eine Fourier-Analyse ![]() //edit: Windows.Beep gibt glaube ich Töne nur über den PC-Speaker aus, richtig? :gruebel: Dann müsste man sowas hier nehmen: ![]() Aber wie gesagt, das größere Problem ist die FFT Analyse ;) |
Re: Audiokopplung zweier Computer
Frei nach einer alten Radiowerbung: "Gibt's schon." :mrgreen: Denkbare Lösungen: a) Akustikkoppler b) DTMF-Töne - aber ob sich der rein zeitliche Aufwand lohnt... jede serielle Schnittstelle ist da schneller. Achja, der C64 benutzte damals so ein System zur Aufzeichnung der Programme und Daten auf normale Musikkassetten. Google nach "Datasette". Aber auch da wurde nicht das analoge Signal selber vom Computer verarbeitet sondern ein kleiner Schaltkreis bereitete den Sound vom Tape zu Nullen und Einsen auf.
//Edith sagt: C-64 ist kein PC im heutigen Sinne, daher lieber "Computer" geschrieben. Achja, und Tippfehler :) |
Re: Audiokopplung zweier Computer
Guten Abend,
über das analoge Audiosignal Daten zu übertragen halte ich für sehr fehleranfällig. Das das noch niemand gemacht hat (PC zu PC) spricht wahrscheinlich für sich. Früher gab´s mal für LapLink RS232 "Crossover" Kabel. Bemühe einfach mal Google. Ich denke daß der Datenaustausch über RS232 schneller und besser geht. Nur so aus Neugier: Warum hast du dich für die Audioübertragung entschieden ? Hat das einen tieferen Sinn ? :hi: edit: Gott war ich wieder langsam :roll: |
Re: Audiokopplung zweier Computer
Zitat:
Die Übertragung per Analogmodem hat lange Zeit ziemlich gut funktioniert, die Ansprüche sind nur höher geworden. |
Re: Audiokopplung zweier Computer
Zitat:
|
Re: Audiokopplung zweier Computer
Zitat:
![]() Aber haentschman bezog sich jetzt ausschließlich auf den Datenaustausch von PC zu PC über die Soundkarte und er hat recht: Störgeräusche (z.B. Windows Sounds) können nur schwer unterbunden werden außerdem hat man schlimmstenfalls Brummschleifen bei so einer Übertragung. Aber ein interessantes Experiment - für den, der zu viel Zeit hat - wäre es allemal ;) |
Re: Audiokopplung zweier Computer
OT
Zitat:
Es kostet halt Zeit und Mühe. /OT |
Re: Audiokopplung zweier Computer
Blöder Weise ist der PC geerdet :cry:
und bei vorallem größerer Entfernung kann es passieren, daß beide PCs ein anderes Potential haben. Die Folge sind Ausgleichsströme über dein Audiokabel und mit großer Sicherheit mindestens ein 50 und/oder 100 Hz-Rauschen. Nja, Windows.Beep ( ![]() und ein "einfaches" Ton an ... Ton aus-Morsesignal bekommt man bestimmt auch ohne FFT entschlüsselt :) Spaßig wird es mit gleichzeitiger Übertragung über mehrere Frequenzen :stupid: Alternativen - LAN - RS232 (wurde ja schon genannt) - LPT (ja, das ginge auch) also mit 'ner sehr fein abgestimmten und schnellen Mehrfrequenztonanalyse und 5.1 Souround-Sound sollte man bestimmt reichlich Daten rüberbekommen :lol: oder "schnurlos" via Lautsprecher und Micro :nerd: |
Re: Audiokopplung zweier Computer
Zitat:
Das 50Hz/100Hz Rauschen meinte ich mit Brummschleifen ;-) Und wie willst du unterscheiden, ob gerade ein Signal anliegt oder nicht? (Morsen) Mit FFT würde ich das sofort sehen, ob bei der eingestellten Frequenz ein Ausschlag ist oder nicht ;-) |
Re: Audiokopplung zweier Computer
das mit dem Micro hatte ich auch grad dazueditiert :lol:
joar, am Einfachsten Laut=1 und Leise/Stumm=0 |
Re: Audiokopplung zweier Computer
Die Frage ist nur, wie man das ganze schnell erledigen kann. Es muss ja nicht live sein.. Ich könnte ja auch erstmal 5 Sekunden Ton ausnehmen und dann schnell analysieren.. Es müssen ja nicht gleich Gigabyte sein, die da übertragen werden sollen... Wenn ich das so durchrechne - es soll ja ein Textchat werden - würden mir ja 140 Zeichen - also Byte - in angemessener Geschwindigkeit reichen. Würde allerdings bedeuten, dass man rund 50 Byte pro Sekunde, also doch ganze 400 Bit schaffen müsste.. Ich habe das Gefühl, dass das mit simplen Ton da/Ton weg nicht möglich ist..
Habt ihr weitere Ideen? Euro Diskussion sieht ja schon sehr gut aus. Ich finde sowas total interessant :D Edit: In meinem jugendlichen Leichtsinn hatte ich gehofft, eine Methode zu finden, die sowas aus meiner Soundkarte aufzeichnen kann: ![]() Ein "einfaches" Abbild der Töne/Frequenzen, die man dann in aller Seelenruhe analysieren kann. (Bildanalyse finde ich auch greifbarer und vor allem ist es nicht so schwer mit Delphi) Andersrum braucht man natürlich noch etwas, das aus einem solchen "Bild" wieder den passenden Sound zur Ausgabe macht.. Gibt es da etwas, das in die Richtung geht? Das Rad möchte ich ja nicht neu erfinden, wenn es nicht sein muss :wink: |
Re: Audiokopplung zweier Computer
Wie gesagt, das schöne ist, dass dir ganz viele "Kanäle" gleichzeitig zur verfügung stehen...jede Frequenz, die deine Soundkarte physikalisch Auflösen kann, kannst du quasi als separaten Kanal für die Übertragung verwenden, wenn du eine FFT durchführst. Nur "mal eben schnell" wirst du diese Aufgabe sicher nicht gelöst bekommen - egal wie...
zu deinem Edit: Ein Abbild der Frequenzen ist doch eine FFT - genau darum gehts :P Das was du da zeigst ist ein reines Lausstärkeprofil, das halte ich für ungeeignet um sauber Daten zu übertragen, man denke nur dran, wenn die Lautstärke auf PC A mal falsch eingestellt ist, dann versteht PC B ihn nicht mehr. |
Re: Audiokopplung zweier Computer
Ach ich liebe diesen Sound:
![]() Vor allem wenn die Übertragung klappte. Das Senden der Tonimpulse ist dabei wohl das kleinste Problem. Das empfangen und decodieren wird da etwas Aufwendiger ausfallen, da man ja zB. fünf aufeinander folgende Nullen oder Einsen unterscheiden können müsste. |
Re: Audiokopplung zweier Computer
Line-In/Out ist doch Stereo, dh. man kann durch den einen Kanal ein Taktungssignal schicken und durch den anderen das Nutzsignal. Dann spart man sich jegliche komplexe Analysen und da kein Lautsprecher im Spiel ist muss das ganze ja nicht gut klingen: also ganz primitiv.
Wenn man das ganze robust gestaltet und relativ langsam taktet, warum nicht? Überlegung: -1 <= Wert <= 1 Links: Wert >0.75 bedeutet 1. Wert <-0.75 bedeutet 0 Rechts: 1. Wenn bestimmter Wert überschritten (positiv) wird, dann wird ein Bit aus Links eingelesen. 2. Wenn bestimmter Wert unterschritten (negativ) wird, dann wird ein Bit aus Links eingelesen. 3. Mache bei 1. weiter. MfG, Bug |
Re: Audiokopplung zweier Computer
Zitat:
Mir geht's aber vor allem um den technischen Aspekt, wie ich diese Analogdaten jetzt in mein Programm bekomme... Ansonsten seh ich das, wie du: Erstmal langsam anfangen und nicht gleich HighSpeed haben wollen, dann sollte es auch klappen. |
Re: Audiokopplung zweier Computer
Zitat:
|
Re: Audiokopplung zweier Computer
Liste der Anhänge anzeigen (Anzahl: 2)
Ich habe vor einiger Zeit mal ein Programm geschrieben, das Morsecodes, die über ein Mikrofon aufgenommen werden, dekodiert.
Achtung: Das Programm läuft nur unter Windows <= XP, bei Vista und Windows 7 ist die verwendete Version der bass.dll nicht in der Lage das Aufnahmegerät zu initialisieren. Ich hoffe, das hilft dir irgendwie weiter. |
Re: Audiokopplung zweier Computer
Zitat:
EDIT: Das Signal muss ja keinen Ton ergeben. MfG, Bug |
Re: Audiokopplung zweier Computer
Zitat:
|
Re: Audiokopplung zweier Computer
Die Amplitude müsste messbar sein. Jede Soundkarte hat ja eine bestimmte Bittiefe, was die möglichen Lautstärkeeinheiten ergibt.
Ein Line-Eingang an einer Soundkarte müsste eigentlich bei -10dBV Eingangssignal intern 0dB ergeben. -10dBV müssten ca. Vss=0,9 Volt sein. |
Re: Audiokopplung zweier Computer
als WAV aufgenommen und mit hoher Abtastrate kann man doch schön einzelne Werte auslesen
genauso kann man sich ja eine WAV erstellen und somit auch sein Signalmußter man muß nur aufpassen, da ein "hartes" Rechtecksignal garantiert nicht mehr ganz rechteckig drüben ankommt. |
Re: Audiokopplung zweier Computer
Okay, stimmt, ich hab mal ein bisschen gelesen. himitsus Vorschlag müsste gehen, unabhängig davon, ob man in echtzeit auf die Amplitude zugreifen kann oder nicht.
|
Re: Audiokopplung zweier Computer
Habe
![]() Zumindest Gleichspannung über Soundkarte sollte kompliziert werden, da anscheinend ein Kondensator zum Mikrofoneingang parallel geschaltet ist. Wie das mit dem Line-In ist, weiß ich nicht. Ein Kondensator würde die Auswertung auf jeden Fall erschweren. MfG, Bug |
Re: Audiokopplung zweier Computer
Wenn überhaupt, dann gibt es zwei Möglichkeiten:
a) Laut/Leise zur Unterscheidung verwenden: Lauter Ton gibt höhere Amplituden (die einzelnen Maximum-/Minimumwerte liegen weiter auseinander) als leiser Ton. b) Zwei verschiedene Frequenzen verwenden, niedriger Ton gleich Null-Bit, hoher Ton gleich Eins-Bit. Bei beiden Methoden bleibt das Problem der Kalibrierung und der Zuverlässigkeit. Man muss also einen gewissen Aufwand für die Aufbereitung treiben. |
Re: Audiokopplung zweier Computer
![]() Hab für das Wavefile von dem Kerl mal einen "Interpreter" als Winamp Plugin zusammengeschustert. Man kann durchaus über Lautstärkelevel Informationen übertragen (Amplituten-Modulation anyone?), nur ist es mit sicherheit deutlich Fehleranfälliger und schmalbandiger (verhält sich gegensätzlich zueinander). Und ein VU-Meter braucht ganz sicher keine FFT. Was es braucht ist Trägheit beim abfallen, damit es nicht wild zappelt und dadurch für das Menschliche Auge eine brauchbare Information wiedergibt. |
Re: Audiokopplung zweier Computer
Zitat:
Nettes Video. Wie gesagt, ihr habt Recht. :thumb: Für ein VU Meter, reichts quasi, sich die aktuelle Amplitude anzusehen. Ich habe übrigens ein nettes Beispielprojekt von turboPascal gefunden, das demonstriert, wie leicht man an die von der Soundkarte digitalisierten Werte der Amplitude kommt: ![]() |
Re: Audiokopplung zweier Computer
Im vorigen Jahrtausend - kurz nach dem Aussterben der Dinosaurier - gab es SUPERTAPE:
. ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:53 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz