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

WAV-Wiedergabe einmalig, ohne Wiederholgung

 

Nico3001
Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 06.11.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.11.2014, 17:17     Titel: WAV-Wiedergabe einmalig, ohne Wiederholgung
  Antworten mit Zitat      
Hallo alle zusammen,

kurz zu mir. Matlabanfänger! Befinde mich gerade im Studium und möchte gerne selber Matlab lernen. >Da ich gesehen habe was dieses schöne Programm alles kann Smile

Also worum geht es bei meinem Problem:

Situation:
Eine while Schleife wird ausgeführt und dabei kommen Werte ununterbrochen aus der seriellen Schnittstelle.

Kurzum:
Ich möchte einen Sound abspielen lassen, wenn bestimmte Werte eintretten. Dieser wird auch abgespielt, aber gefühlte 100 mal innerhalb einer Sekunde, weil die Werte auch 100 mal die Sekunde auftretten
Laut programm ist das auch so gewollt, aber nicht akustisch Smile

Anbei das Skript mit den dazugehörigen Kommentaren
Code:

%Lesen der wav-Datei

[y,Fs] = audioread('sound.wav');

%Beginn der while-Schleife
while (1)

%  x  ist hier ein Wert, der von der seriellen Schnittstelle kommt.
% Dieser Wert x wird non-stop gelesen

x=ser

%Erstellung der Wertebereiche der einzelnen Signale

condition=x>=2.6 & x<=3.2;

Werteberich01=x(condition,:)

%Hier erfolgt die Anweisung, dass bei bestimmten Werten eine %Sound-Datei abgespielt werden soll
 
if x >= Wertebereich01
    sound(y,Fs);

else

disp ('kein Sound, ausserhalb des Wertebereiches')
   
end

end


Ich möchte das die wav-Datei nur einmal abgespielt wird, wenn der auslösunende Wert eintritt. Wenn 2 Sekunden vorüber sind, und ich mich immernoch in dem fest definierten Wertebereich01 befinde, soll die wav-Datei erneut ausgegeben werden.

Sitze nun seit 2 Tagen ohne weiter vorannzukommen,

für jede Hilfestellung wäre ich sehr dankbar.

Danke im Voraus,

Gruß
Nico
Private Nachricht senden Benutzer-Profile anzeigen


Seban
Forum-Meister

Forum-Meister


Beiträge: 600
Anmeldedatum: 19.01.12
Wohnort: ---
Version: ab R2014b
     Beitrag Verfasst am: 06.11.2014, 23:09     Titel:
  Antworten mit Zitat      
Hallo Nico,

Hast du schon audioplayer getestet? Dort gibt es unter 'Methods' die Befehle play & playblocking. Vielleicht helfen diese weiter? play spielt Audiofiles wohl komplett ab, evtl kannst du die Audiodatei einfach um ~2s Stille verlängern.

Evtl. kann man auch in die if-Abfrage eine zweite Bedingung "Sind die 2s rum?" einbauen. Dazu ist vielleicht timer class nutzbar.

Ich hab beides noch nicht genutzt, aber vielleicht wirst du fündig

Grüße,
Seban
_________________

Richtig fragen
Debugging
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 - 2025 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.