diff --git a/changes b/changes
index fdef2c5aec8023b1d5d9f5a65fa7317fbed1170f..08d2f22dec5f9ae72043c2ece4d1f33027c2648e 100644
--- a/changes
+++ b/changes
@@ -1,8 +1,12 @@
 1.1.7 rc2
+     - improvements/fixes related to low latency and real-time audio
+     - updated Qt libraries to the latest version in Windows installer
     BUGS FIXES
      - changed all static font sizes to system related sizes
      - proper clef rendering in question tips
      - proper re-sampling when rate is bigger than 48000
+     - avoiding multiple calls of status messages for better performance
+     - fixed Debian package dependencies, Ubuntu 14.04 is supported now
 
 1.1.6 rc1
      - new, advanced settings for pitch detection
diff --git a/src/libs/core/tprecisetimer.h b/src/libs/core/tprecisetimer.h
new file mode 100644
index 0000000000000000000000000000000000000000..948dae36dea39853ca0db840dce9f4a507d79e97
--- /dev/null
+++ b/src/libs/core/tprecisetimer.h
@@ -0,0 +1,36 @@
+/***************************************************************************
+ *   Copyright (C) 2015 by Tomasz Bojczuk                                  *
+ *   tomaszbojczuk@gmail.com                                               *
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 3 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ *   This program is distributed in the hope that it will be useful,       *
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
+ *   GNU General Public License for more details.                          *
+ *                                                                         *
+ *  You should have received a copy of the GNU General Public License      *
+ *  along with this program.  If not, see <http://www.gnu.org/licenses/>.  *
+ ***************************************************************************/
+
+#ifndef TPRECISETIMER_H
+#define TPRECISETIMER_H
+
+#include <QTimer>
+
+
+/**
+ * This is QTimer with type set to @p Qt::PreciseTimer
+ */
+class TpreciseTimer : public QTimer {
+
+public:
+  explicit TpreciseTimer(QObject* parent = 0) : QTimer(parent) {
+    setTimerType(Qt::PreciseTimer);
+  }
+};
+
+#endif // TPRECISETIMER_H
diff --git a/src/libs/sound/trtaudioout.cpp b/src/libs/sound/trtaudioout.cpp
index d231f2fdb589f0b5c660cca9e4e576cd65613e7d..c08dd9f80764c60841fa54748efe57c4ee0baba2 100755
--- a/src/libs/sound/trtaudioout.cpp
+++ b/src/libs/sound/trtaudioout.cpp
@@ -169,7 +169,7 @@ void TaudioOUT::setAudioOutParams() {
 
 
 void TaudioOUT::streamOpenedSlot() {
-  m_maxCBloops = (outRate() * 2) / bufferFrames() - outRate() / 441;
+  m_maxCBloops = (outRate() * 1.6) / bufferFrames();
 }
 
 
diff --git a/src/libs/sound/tsound.cpp b/src/libs/sound/tsound.cpp
index 079ef8ecfca44e7e60f0df5407b59ba899ef0b03..1d8630b42441fba21d28ac56d46198e7f95ae84f 100755
--- a/src/libs/sound/tsound.cpp
+++ b/src/libs/sound/tsound.cpp
@@ -23,8 +23,8 @@
 #include <tinitcorelib.h>
 #include <taudioparams.h>
 #include <music/tmelody.h>
+#include <tprecisetimer.h>
 #include <QPushButton>
-#include <QTimer>
 #include <QDebug>
 
 
@@ -82,7 +82,8 @@ void Tsound::playMelody(Tmelody* mel) {
 	}
 	m_melodyNoteIndex = 0;
 	m_playedMelody = mel;
-	QTimer::singleShot(10, this, SLOT(playMelodySlot()));
+// 	TpreciseTimer::singleShot(10, this, SLOT(playMelodySlot()));
+  playMelodySlot();
 }
 
 
@@ -352,7 +353,7 @@ void Tsound::playingFinishedSlot() {
 void Tsound::playMelodySlot() {
 	if (m_melodyNoteIndex > -1 && m_melodyNoteIndex < m_playedMelody->length()) {
 		play(m_playedMelody->note(m_melodyNoteIndex)->p());
-		QTimer::singleShot(60000 / m_playedMelody->tempo(), this, SLOT(playMelodySlot()));
+		TpreciseTimer::singleShot(60000 / m_playedMelody->tempo(), this, SLOT(playMelodySlot()));
 		m_melodyNoteIndex++;
 	} else {
 		m_melodyNoteIndex = -1;
diff --git a/src/score/tmainscore.cpp b/src/score/tmainscore.cpp
index 6a9bf52cc44960b24fdf434cf4c06cccf14f30b4..c2ee2d2c7ea923dde490de8555cea90ed76245cc 100644
--- a/src/score/tmainscore.cpp
+++ b/src/score/tmainscore.cpp
@@ -269,8 +269,8 @@ void TmainScore::playScore() {
 			return;
 		m_scoreIsPlayed = true;
 		m_playTimer = new QTimer(this);
+    m_playTimer->setTimerType(Qt::PreciseTimer);
 		connect(m_playTimer, SIGNAL(timeout()), this, SLOT(playSlot()));
-		m_playTimer->start(60000 / Tcore::gl()->S->tempo);
 		m_playedIndex = currentIndex() - 1;
 		playSlot();
 	}
@@ -776,6 +776,8 @@ void TmainScore::playSlot() {
 		// by emitting that signal note is played and shown on the guitar
 			emit noteWasChanged(m_playedIndex % staff()->maxNoteCount(), 
 												*currentStaff()->getNote(m_playedIndex % staff()->maxNoteCount()));
+      if (!m_playTimer->isActive()) // timer is started here to skip out stream initialization delay
+        m_playTimer->start(60000 / Tcore::gl()->S->tempo);
 	} else
 			emit playbackFinished();
 }