   Serial.println(l_idx);
 #endif
 
-  if (laser_blocked) {  // finger is muting string(laser)
-      midiEventPacket_t packet0 = {0x08, 0x80 | 0, played_notes[l_idx], 0};
+  bool sp = is_string_pressed_on_active_fret(0);
+  if (laser_blocked && sp) {
+    for (int i = 0; i < 6; i++) { //mute all strings if vybrnkavaci struna is pressed
+      midiEventPacket_t packet0 = {0x08, 0x80 | 0, played_notes[i], 0};
       MidiUSB.sendMIDI(packet0);
       MidiUSB.flush();
-  }
-
+      delay(2);
+    }
+  }
+  if (laser_blocked && !sp) {  // finger is muting current laser
+    midiEventPacket_t packet0 = {0x08, 0x80 | 0, played_notes[l_idx], 0};
+    MidiUSB.sendMIDI(packet0);
+    MidiUSB.flush();
+    delay(2);
+  }
   if (!laser_blocked) {  //finger is releasing string(laser)
     if (pitch != 0) {
       send_fret_sliding_event(0, 0);  //reset pitch

#define LASER_THOLD 1000 //[us]
#define STOP_THOLD 500000 //[us]
#define FRET_SLIDING_THOLD 500000 //[us]
#define VEL_TIME_OUT_OF_RANGE 200000 //[us]
#define VEL_TIME_MIN 6000
#define VEL_TIME_MAX 25000

  if (stop == LOW) { //confirm the actual value on pin
    unsigned long us = micros();
    if (us > (stop_status_last_update_us + STOP_THOLD)) {
      send_stop_tone_event(true, false);
      stop_status_last_update_us = us;
    }
  }
