diff --git a/daemon/src/audio/audioloop.cpp b/daemon/src/audio/audioloop.cpp
index eb484138a55420ef23801923d31141a3be426510..1fb1cf573077e4a2bdbaa770570fa7b421f78ad0 100644
--- a/daemon/src/audio/audioloop.cpp
+++ b/daemon/src/audio/audioloop.cpp
@@ -41,7 +41,7 @@
 #include <cassert>
 #include "logger.h"
 
-AudioLoop::AudioLoop() : buffer_(0),  size_(0), pos_(0), sampleRate_(0), isRecording_(false)
+AudioLoop::AudioLoop(unsigned int sampleRate) : buffer_(0),  size_(0), pos_(0), sampleRate_(sampleRate), isRecording_(false)
 {}
 
 AudioLoop::~AudioLoop()
diff --git a/daemon/src/audio/audioloop.h b/daemon/src/audio/audioloop.h
index 8bf19e891a0e03e6fa84249b7ed13c92a38e6fb9..22096ebf8a59b825f349645e1100f02fd1836549 100644
--- a/daemon/src/audio/audioloop.h
+++ b/daemon/src/audio/audioloop.h
@@ -44,7 +44,7 @@
 
 class AudioLoop {
     public:
-        AudioLoop();
+        AudioLoop(unsigned int sampleRate);
 
         virtual ~AudioLoop();
 
diff --git a/daemon/src/audio/sound/audiofile.cpp b/daemon/src/audio/sound/audiofile.cpp
index 6678c7475196e91dd58d0473fdc213059ea874f0..62425d3e711eacb1f675912884635c900b4a8dc0 100644
--- a/daemon/src/audio/sound/audiofile.cpp
+++ b/daemon/src/audio/sound/audiofile.cpp
@@ -43,7 +43,7 @@
 #include "logger.h"
 
 RawFile::RawFile(const std::string& name, sfl::AudioCodec *codec, unsigned int sampleRate)
-    : AudioFile(name), audioCodec_(codec)
+    : AudioFile(name, sampleRate), audioCodec_(codec)
 {
     if (filepath_.empty())
         throw AudioFileException("Unable to open audio file: filename is empty");
@@ -109,7 +109,7 @@ RawFile::RawFile(const std::string& name, sfl::AudioCodec *codec, unsigned int s
 }
 
 
-WaveFile::WaveFile(const std::string &fileName, int newRate) : AudioFile(fileName)
+WaveFile::WaveFile(const std::string &fileName, int sampleRate) : AudioFile(fileName, sampleRate)
 {
     const std::fstream fs(fileName.c_str(), std::ios_base::in);
 
diff --git a/daemon/src/audio/sound/audiofile.h b/daemon/src/audio/sound/audiofile.h
index a914f1cbc4f633b35406aae2827752eb125b8da0..0b7bbdfa7952424863dd0ea630a68aa5cc4c6064 100644
--- a/daemon/src/audio/sound/audiofile.h
+++ b/daemon/src/audio/sound/audiofile.h
@@ -52,7 +52,9 @@ class AudioFileException : public std::runtime_error {
  */
 class AudioFile : public AudioLoop {
     public:
-        AudioFile(const std::string &filepath) : filepath_(filepath) {}
+        AudioFile(const std::string &filepath, unsigned int sampleRate) : AudioLoop(sampleRate), filepath_(filepath)
+        {}
+
         std::string getFilePath() const {
             return filepath_;
         }
@@ -80,10 +82,10 @@ class WaveFile : public AudioFile {
     public:
         /**
          * Load a sound file in memory
-         * @param filename  The absolute path to the file
-         * @param sampleRate	The sample rate to read it
+         * @param filename      The absolute path to the file
+         * @param sampleRate    The sample rate to read it
          */
-        WaveFile(const std::string&, int);
+        WaveFile(const std::string&, unsigned int sampleRate);
 };
 
 #endif // __AUDIOFILE_H__
diff --git a/daemon/src/audio/sound/tone.cpp b/daemon/src/audio/sound/tone.cpp
index 8a3eee76bf0eee2245c7ba899d721209abc15146..49d09766a510d32a0cdd31538c260a361d6a319e 100644
--- a/daemon/src/audio/sound/tone.cpp
+++ b/daemon/src/audio/sound/tone.cpp
@@ -44,7 +44,7 @@
 #include <vector>
 
 Tone::Tone(const std::string& definition, unsigned int sampleRate) :
-    sampleRate_(sampleRate), xhigher_(0.0), xlower_(0.0)
+    AudioLoop(sampleRate), xhigher_(0.0), xlower_(0.0)
 {
     fillWavetable();
     genBuffer(definition); // allocate memory with definition parameter
diff --git a/daemon/src/audio/sound/tone.h b/daemon/src/audio/sound/tone.h
index 55422bd0f508a76d26f209a639f5a785abf54614..f3c048fd030c478ab4a3b994125e202cf075970c 100644
--- a/daemon/src/audio/sound/tone.h
+++ b/daemon/src/audio/sound/tone.h
@@ -83,9 +83,6 @@ class Tone : public AudioLoop {
          */
         void genBuffer(const std::string& definition);
 
-        /** Sample rate */
-        unsigned int sampleRate_;
-
         static const int TABLE_LENGTH = 4096;
         double wavetable_[TABLE_LENGTH];