Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Soundkarte Auslesen Frequenz / Lautstärke
Gehe zu Seite 1, 2  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Profi-Forum
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Trajan



Anmeldungsdatum: 08.01.2009
Beiträge: 4

BeitragVerfasst am: 08.01.2009, 13:19    Titel: Soundkarte Auslesen Frequenz / Lautstärke Antworten mit Zitat

Hallo Zusammen,

ich habe folgendes Programmierproblem:

Ich möchte an der Soundkarte ein Ausgangssignal eines Messgerätes einlesen. Und zwar ist das Ausgangssignal eine simple Tonfrequenz aus dem Kopfhörer.

Ich möchte also im Sekundentakt Frequenz und Lautstärke des Signals am Eingang der Soundkarte auslesen und mit Zeitinformation in eine Datei speichern.

Wie komme ich da ran?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 08.01.2009, 15:12    Titel: Antworten mit Zitat

Unter Windows / Linux am einfachsten mit BASS oder FMOD.
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Trajan



Anmeldungsdatum: 08.01.2009
Beiträge: 4

BeitragVerfasst am: 08.01.2009, 17:45    Titel: Antworten mit Zitat

Naja,

ich wollte aber unter BASIC, also etwa FreeBasic programmieren.

Nun ist BASS wohl für C-Programme gedacht und FMOD behandelt nur Soundausgabe.

Ich brauche aber einfachsten Input eines Messignales (Piepton unterschiedlicher Lautstärke und Frequenz), so dass ich dieses Tonsignal aufzeichne. Etwa ein simpler ASCII-File der Art:

Frequenz(Hz) Lautstärke(Wert) Zeit(sec)

250 1 1
500 5 2
1000 9 3
700 8 4

usw.

Wie komme ich da via BASIC prog an die Info vom Toneingang der normalen Soundkarte?

Vielen Dank, Trajan
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
volta



Anmeldungsdatum: 04.05.2005
Beiträge: 1872
Wohnort: D59192

BeitragVerfasst am: 08.01.2009, 18:09    Titel: Antworten mit Zitat

Hi,
du hast noch recht wenig Kenntnisse von den Abläufen in einem PC bzw. Soundkarte?

Am besten fragst du mal bei Goggle "wie funktioniert eine Soundkarte"!

Einfach ist das programmieren rund um die Soundkarte weder in BASIC noch in anderen Programmiersprachen.
_________________
Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater.


Zuletzt bearbeitet von volta am 08.01.2009, 22:33, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 08.01.2009, 19:46    Titel: Antworten mit Zitat

Trajan hat Folgendes geschrieben:
Nun ist BASS wohl für C-Programme gedacht und FMOD behandelt nur Soundausgabe.

in dem satz ist alles falsch, was nur falsch sein kann, sorry durchgeknallt
Libraries sind nicht auf eine bestimmte Programmiersprache festgelegt, sondern auf Plattformen. BASS udn FMOD sind somit mit jeder Programmiersprache, die C-Bibliotheken verstehen, benutzbar. Dazu gehört auch FreeBASIC (und auch VB, oder Delphi...). Und beide lassen sich sowohl zur Soundausgabe als auch zur Aufnahme und Analyse benutzen (Analyse zumindest bei BASS, bei FMOD bin ich mir da nicht sicher), sonst hätte nicht drauf gelinkt.
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Trajan



Anmeldungsdatum: 08.01.2009
Beiträge: 4

BeitragVerfasst am: 09.01.2009, 10:09    Titel: Antworten mit Zitat

Hallo Volta und Jojo,

Zitat:
....du hast noch recht wenig Kenntnisse von den Abläufen in einem PC bzw. Soundkarte? Am besten fragst du mal bei Goggle "wie funktioniert eine Soundkarte"!....


Yep, ja und nein. Ich war mal fit in Programmierung, ist aber schon lange her. In den 80er und 90er Jahren habe ich CP/M, DOS, VAX/VMS und BASIC, meist FORTRAN, weniger PASCAL programmiert.

Mit modernen Programmiersprachen kenne ich mich aber nicht mehr aus. Lag nicht zuletzt auch daran, dass man heute per freeware so ziemlich alles kriegt, was man braucht.

Für mein Problem könnte ich so einen ADC kaufen, mit weiss der Geier wievielen Kanälen, in-out-duplex und bits ohne Ende, plus Auswertesoftware für schlappe 2000 Euro.

Wie eine Soundkarte im Prinzip funktioniert weiss ich natürlich, denn das ist ja der Clou:
Das Ding enthält einen ziemlich guten A/D-Wandler! Warum ein teures Extragerät kaufen, wenn so eine Technik selbst im billigsten Laptop enthalten ist.

Ich brauche aber nur einen schlappen Eingang und auch keine allzu grosse Genauigkeit. Einfach nur das einlaufende Sinussignal einmal pro Sekunde als Lautstärke und Frequenz. Das kann für einen Kenner der Materie eigentlich kaum mehr als ein zehn Zeilenprogramm sein.

Was ich bisher im Netz dazu gefunden habe ist aber viel zu komplex und bezieht sich vorallem auf die Ein- und Ausgabe von Music in verscheidenene Formaten in Stereo Dolby und was auch immer. Brauch ich aber garnicht, nur ein winziges schlappes Kopfhörer Sinussignal,....heul...schluchz...schluchz....
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 09.01.2009, 17:49    Titel: Antworten mit Zitat

warum schaust du dir nicht einfach BASS an?
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
volta



Anmeldungsdatum: 04.05.2005
Beiträge: 1872
Wohnort: D59192

BeitragVerfasst am: 09.01.2009, 21:40    Titel: Antworten mit Zitat

Hi Trajan,
ja die guten alten DOS-Zeiten, als man noch die Soundkarte über Ports ansprach und selber darauf zugreifen konnte, sind leider vorbei mit den Augen rollen .

Hunderte unterschiedlicher Soundchips und Soundsysteme, Betriebssysteme die keine direkten Portzugriffe erlauben und mit Multitasking arbeiten, lassen einfach sowas nicht mehr zu missbilligen .
Zitat:
Einfach nur das einlaufende Sinussignal einmal pro Sekunde als Lautstärke und Frequenz.
Auch nicht so einfach.
Alles was du aus dem Soundchip erhalten könntest sind 44000 Datenwerte(pro Sekunde) a 16Bit aus denen du Frequenz und Lautstärke selbst errechnen kannst.

Wenn du weiter daran denkst, dies aus deiner Soundkarte rauszuholen, dann kann ich dir (wie Jojo schon schreibt) nur empfehlen dich mit BASS (sehr tief) anzufreunden happy .
_________________
Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 09.01.2009, 22:28    Titel: Antworten mit Zitat

volta, so ganz stimmt das nicht. Damals waren es eigenltich (zumindest im Consumer-Bereich) mehr soundchips als heute. Man nehme erst mal die ganze SoundBlaster-Serie, dann natürlich AdLib, Gravis Ultrasound... da kochte jeder sein eigenes Süppchen. Heute hat jeder "normale" PC leider nur noch nen billigen AC'97 Soundchip drin...
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
volta



Anmeldungsdatum: 04.05.2005
Beiträge: 1872
Wohnort: D59192

BeitragVerfasst am: 10.01.2009, 00:29    Titel: Antworten mit Zitat

Ich hab AC'97 immer für einen Intel Standard gehalten, Soundchips nach AC97 gibt es doch von den verschiedensten Firmen mit den unterschiedlichsten Bezeichnungen.

Hier hab ich noch was zu BASS.dll und Frequenzmessung gefunden
http://www.michaelgaedtke.de/SubMenu_Messen/BASS-Tutorial-II.htm
ist aber für Delphi.
_________________
Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 10.01.2009, 01:59    Titel: Antworten mit Zitat

Ebendrum, und rund um AC97 ist das eben standardisiert. lächeln
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Trajan



Anmeldungsdatum: 08.01.2009
Beiträge: 4

BeitragVerfasst am: 12.01.2009, 10:06    Titel: Antworten mit Zitat

volta hat Folgendes geschrieben:

Hier hab ich noch was zu BASS.dll und Frequenzmessung gefunden
http://www.michaelgaedtke.de/SubMenu_Messen/BASS-Tutorial-II.htm
ist aber für Delphi.


Hi,
vielen Dank für den Link. Der hilft mir weiter.

Dann werde ich mich wohl mit delphi beschäftigen müssen. Delphi ist doch aus PASCAL hervor gegangen?

Welche freeware Compiler und Entwicklungsumgebungen könntet ihr mir denn empfehlen? Gibt es da was? Ich will jetzt nicht einen teuren Compiler kaufen.

Vielen Dank, Trajan.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 12.01.2009, 15:03    Titel: Antworten mit Zitat

Wolltest du vorher nicht noch BASIC benutzen? Die BASS-Syntax ist in allen Sprachen exakt identisch, abgesehen von Sprachinternen Unterschieden! (z.B. strichpunkt am zeilenende bei C)
http://sagagames.de/stuff/bass24.bi
Hier, die aktuelle Headerdatei für BASS 2.4 + FreeBASIC. lächeln
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4500
Wohnort: ~/

BeitragVerfasst am: 12.01.2009, 15:14    Titel: Antworten mit Zitat

Kurz kleine Zwischenfrage: Unter Linux läuft mein BASS einwandfrei; einfach entsprechende bass.so im lib-Ordner verlinken, bass.bi einbinden, fertig. Unter Windows (Vista) habe ich trotz bass.bi und bass.dll Probleme beim Compilieren (ich nehme die bass.dll aus deinem Spiel). Muss ich da noch was zusätzlich beachten?
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 12.01.2009, 15:30    Titel: Antworten mit Zitat

ja, du brauchst die bass.lib aus dem windows-paket von BASS. kopiere die in dein programmverzeichnis und nenne sie in libbass.dll.a um. diese datei kannst du auch freebasic\lib\win32\ kopieren und die existierende datei ersetzen. die ist nämlich - genau wie die header-dateien - noch auf bass 2.3 ausgelegt.
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4500
Wohnort: ~/

BeitragVerfasst am: 12.01.2009, 16:08    Titel: Antworten mit Zitat

OK danke, probiere ich nachher gleich aus. lächeln
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 12.01.2009, 18:07    Titel: Antworten mit Zitat

Korrekt, Delphi ist mal aus Pascal hervorgegangen, hat sich mittlerweile aber einiges getan.
CodeGear selbst (mittlerweile Entwickler u.a. von Delphi) bietet z.B. das kostenfreie Turbo Delphi Explorer an, das quasi ein vollwertiges BDS 2006 ist und nur die Einschränkung aufweist, dass du nur eine Personality installieren kannst (d.h. entweder Turbo Delphi oder Turbo C++ oder Turbo C#) und externe Komponenten zur Laufzeit erstellen musst. Ersteres lässt sich leicht umgehen (ist wohl gemerkt eine technische Blockade, dahinter steckt nichts von juristischer Bedeutung) und das zweite sollte eher kein Problem ansich sein.
Wenn du mehr auf Opensource stehst könntest du natürlich auch Lazarus nehmen, das auf FreePascal basiert. Ist sozusagen ein plattformunabhängiges Opensource-Delphi.

Du kannst aber Bass.dll selbstverständlich auch in anderen Programmiersprachen i.d.R. ohne jegliche Probleme verwenden, auch in FB.
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
volta



Anmeldungsdatum: 04.05.2005
Beiträge: 1872
Wohnort: D59192

BeitragVerfasst am: 15.01.2009, 16:11    Titel: Antworten mit Zitat

Hi,
erste Versuche mit FB und BASS waren ganz lustig.
Hier habe ich mal etwas ins FB-Portal eingestellt http://www.freebasic-portal.de/index.php?s=code&id=148 .

Erstaunlich was Bass alles kann und wie schnell .... , so was müßte es auch mit OpenSource-Lizenz GPL geben. mit den Augen rollen
_________________
Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 15.01.2009, 19:28    Titel: Antworten mit Zitat

Hehe, hinter BASS stecken immerhin mehr als zehn Jahre Entwicklungszeit, und "kostenlos" für Freeware-Projekte finde ich eigentlich noch großzügig. lächeln
Ach ja: in BASS 2.4 haben sich einige Befehle verändert, also würde ich in der Versionsabfrage nur BASS 2.3 zulassen.
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
volta



Anmeldungsdatum: 04.05.2005
Beiträge: 1872
Wohnort: D59192

BeitragVerfasst am: 16.01.2009, 14:09    Titel: Antworten mit Zitat

Zitat:
"kostenlos" für Freeware-Projekte finde ich eigentlich noch großzügig.

Nee!: das ist nicht großzügig, das ist kostenlose Werbung -> Deal gemacht

Es gibt auch noch OpenAL32, aber puuh.. zu kompliziert, da ist BASS verständlicher. lächeln
_________________
Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Profi-Forum Alle Zeiten sind GMT + 1 Stunde
Gehe zu Seite 1, 2  Weiter
Seite 1 von 2

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz