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

wavplay(y, Fs, 'async') durch audioplayer() ersetzen

 

Unrealmirakulix
Forum-Anfänger

Forum-Anfänger


Beiträge: 44
Anmeldedatum: 11.11.12
Wohnort: ---
Version: 2015a
     Beitrag Verfasst am: 15.10.2013, 15:20     Titel: wavplay(y, Fs, 'async') durch audioplayer() ersetzen
  Antworten mit Zitat      
Hallo zusammen,

wie sicher schon einige in den Warnungen gelesen haben wird wavplay() nicht mehr lange in Matlab eingebaut werden. Als Empfehlung wird beschrieben, man solle auf audioplayer() umsteigen. Was in Minimalbeispielen keinerlei Probleme darstellt.

Nun zu meiner speziellen Situation: Ich muss Audiodateien auslesen (geht mit audioread() wunderbar) und anschließend abspielen (geht mit P = audioplayer(); play(p)).
Nur habe ich da zwei Signale, die teils zur gleichen Zeit laufen: Signal #1 startet, dann startet Signal #2, Signal #2 endet und schließlich endet auch Signal #1. Signal #1 läuft also durchgehend und #2 ist darin eingebettet / überlagert #1 in der Mitte.

Mit wavplay im async-Modus zweimal hintereinander war / ist das kein Problem. Nur mit dem audioplayer() bekomme ich das nicht hin: wenn ich zweimal play() verwende, stoppt die Wiedergabe sobald #2 play() bekommt. Das meiner wavplay()-Variante am nächsten ist bisher erst play() und dann playblocking(), was jedoch die Wiedergabe nach Ende von Signal #2 enden lässt und damit das Ende von Signal #1 fehlt.

Hier ein Codeausschnitt:

Code:

    %% Ausgabe
    Masker_skaliert(:,2)=0;
    masker_p = audioplayer(Masker_skaliert, Fs);
    play(masker_p)
    %wavplay(Masker_skaliert,Fs,'async')
    pause(rand(1,1)+0.5)       %Randomisierte Pause 0.5..1.5 s
    %wavplay(Target_skaliert,Fs)%,'async')
    Target_skaliert(:,2)=0;
    target_p = audioplayer(Target_skaliert, Fs);
    playblocking(target_p)
 


Hat jemand eine Idee wie man das gewünschte Verhalten, wie ich es oben beschrieben habe, auch mit dem audioplayer() hinbekommt?

Vielen Dank schon mal und wenn es noch Fragen gibt, nur zu Wink

EDIT by denny: bitte keine Doppelpostings/Triplepostings
Private Nachricht senden Benutzer-Profile anzeigen


Unrealmirakulix
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 44
Anmeldedatum: 11.11.12
Wohnort: ---
Version: 2015a
     Beitrag Verfasst am: 19.10.2013, 15:02     Titel:
  Antworten mit Zitat      
ok, habe eine Lösung gefunden:

Das Problem ist, dass sich das ganze in einer Unterfunktion befindet und am Ende der Funktion auch alle audioplayer-Objekte beendet werden. Also muss am Ende einfach eine Pause eingebaut werden, die das Beenden der Unterfunktion verhindert bis alle audioplayer fertig sind.
Mit diesem kleinen Workaround lässt sich das gewünschte Ergebnis recht leicht erreichen.

also einfach pause() mit der Länge der verbleibenden Zeit = (Maskerlänge) - (Pausenlänge zwischen Targetstart und Maskerstart).

Schöne Grüße

Daniel
Private Nachricht senden Benutzer-Profile anzeigen
 
tezoost
Forum-Newbie

Forum-Newbie


Beiträge: 1
Anmeldedatum: 12.02.15
Wohnort: Pakistan
Version: ---
     Beitrag Verfasst am: 12.02.2015, 09:36     Titel:
  Antworten mit Zitat      
das funktioniert so weit erst einmal. Falls mir trotzdem jemand sagen kann warum die variante mi t ~ nicht funktioniert, wäre ich dankbar, falls ich in Zukunft mal wieder mit der Funktion arbeiten muss.
_________________

We are the pioneers in providing how to learn japanese - learnalanguage dumps and how to learn german fast - learnalanguage tutorials with exam pass guarantee. Download our latest test king ccie Babbel questions to pass real exam of mcitp training in Learnamericanenglishonline
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 12.02.2015, 16:45     Titel:
  Antworten mit Zitat      
Hallo tezoost,

Welches ist denn "die variante mi t ~"? Hast Du schon erklärt, was daran nicht funktioniert?

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
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.