WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Soundkartensignal aufnehmen

 

Ziggeldy

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.05.2015, 16:20     Titel: Soundkartensignal aufnehmen
  Antworten mit Zitat      
Hallo zusammen,
ich möchte mir mit Matlab ein Programm schreiben, mit welchem ich das Outputsignal der Soundkarte in ein Array schreibe und danach weiterverwenden kann.
Ich möchte also das Signal aufnehmen, welches von der Soundkarte an die Lautsprecher gesendet wird.
Ich habe es bereits hinbekommen, dass ich das Signal des Input-Kanals (Mikrofon) der Soundkarte aufnehmen kann und in einer Variablen speichern kann.

Mit diesen Befehlen wird eine fünf Sekunden lange aufnahme gestartet und die Signale des Inputs in die Variable y geschrieben:
recObj = audiorecorder(44100,8,2,0);
recordblocking(recObj, 5);
y = getaudiodata(recObj);

Um den Output Kanal aufzuzeichnen müsste ich meiner Meinung nach lediglich die "0" in dem Befehl "audiorecorder" an die ID des Output-Kanals anpassen.
Nun habe ich probiert mir über folgenden Befehl die ID des Output-Kanals zu besorgen um diese in dem Befehl audiorecorder zu verwenden:
info = audiodevinfo.output.ID;

Hierbei erhalte ich folgende Warnung:
"Warning: Direct access of structure fields returned by a function call (e.g.,
call to audiodevinfo) is not allowed. See MATLAB 7.10 Release Notes, "Subscripting Into Function Return Values" for details."

An dieser Stelle komme ich leider nicht weiter. Habt ihr vielleicht eine Idee, wie ich mein Vorhaben umsetzen kann? Evtl. auch mit einem ganz anderen Befehl als "Audiorecorder" ?

Viele Grüße
Ziggeldy


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 30.05.2015, 17:05     Titel: Re: Soundkartensignal aufnehmen
  Antworten mit Zitat      
Hallo Ziggeldy,

audiodevinfo ist ein Befehl, das Anhängen von Feld-Namen per Punkt funktioniert aber für Strukts. Also muss man zuerst die Rückgabe des Befehls speichern und kann dann per Punkt auf die Felder zugreifen:
Code:
info = audiodevinfo
info.output.ID

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Ziggeldy

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.06.2015, 16:22     Titel: Benötige weitere Tipps
  Antworten mit Zitat      
Hi Jan, vielen Dank für den Tipp.
Leider bin ich damit noch nicht viel weiter gekommen.
Ich glaube ein Problem bei meinem Vorhaben liegt darin, dass die DeviceID des Inputs und des Outputs identisch sind. Bei den Befehlen "audiodevinfo.input" und "audiodevinfo.output" kommen beide mal folgende Antwort:
Name: [1x31 char]
DriverVersion: '6.1'
ID: 0
An dieser Stelle ist es vielleicht relevant zu erwähnen, dass ich das mit einem Laptop probiere und keine Hightech Soundcarde installiert habe.

Ich habe auch probiert die beiden Buchsen mit einem Aux-Kabel zu verbinden. Das funktioniert soweit, allerdings ist die Qualität miserabel.

Ich freue mich auf eure Ratschläge Smile

Viele Grüße
Ziggeldy
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum 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.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.