diff --git a/CMakeLists.txt b/CMakeLists.txt
index b8754bb71f1607e1dc206b0037de82aa0ae7c27a..b8a5ab63c4239e1aebdaf600fd1e11d5fceddb07 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -26,6 +26,8 @@ include_directories(dependencies/third_party/json)
 file(GLOB_RECURSE RAPIDMIX_SRC "${PROJECT_SOURCE_DIR}/src/*.cpp")
 file(GLOB GVF_SRC "${PROJECT_SOURCE_DIR}/dependencies/GVF/GVF.cpp")
 file(GLOB MAXI_SRC "${PROJECT_SOURCE_DIR}/dependencies/Maximilian/maximilian.cpp")
+file(GLOB MAXI_SRC ${MAXI_SRC} "${PROJECT_SOURCE_DIR}/dependencies/Maximilian/libs/maxiFFT.cpp")
+file(GLOB MAXI_SRC ${MAXI_SRC} "${PROJECT_SOURCE_DIR}/dependencies/Maximilian/libs/fft.cpp")
 file(GLOB RAPIDLIB_SRC "${PROJECT_SOURCE_DIR}/dependencies/RapidLib/src/*.cpp")
 file(GLOB RAPIDLIB_DEP "${PROJECT_SOURCE_DIR}/dependencies/RapidLib/dependencies/libsvm/libsvm.cpp")
 file(GLOB JSON_SRC "${PROJECT_SOURCE_DIR}/dependencies/third_party/jsoncpp.cpp")
@@ -43,4 +45,11 @@ set(RAPIDMIX_FULL_SRC ${RAPIDMIX_SRC}
 add_library(RMIX ${RAPIDMIX_FULL_SRC})
 
 add_executable(rapidmix tests/rapidMixTest.cpp )
-target_link_libraries(rapidmix RMIX)
+
+if (APPLE)
+   find_library(ACCELERATE Accelerate)
+   if (NOT ACCELERATE)
+      message(FATAL_ERROR "Accelearate not found")
+      endif()
+   target_link_libraries(rapidmix RMIX ${ACCELERATE})
+endif()
diff --git a/tests/rapidMixTest.cpp b/tests/rapidMixTest.cpp
index b4d800058469cff82b43bc47d2b79b0b33dff4ac..470109f45753f195603dd8431f9914cd81362476 100644
--- a/tests/rapidMixTest.cpp
+++ b/tests/rapidMixTest.cpp
@@ -54,5 +54,18 @@ int main() {
     assert(myNN.run(inputVec)[0] == 12.596715279688549);
     std::cout << "staticRegression passed." << std::endl;
     
+    /////////////////////////////////////Test Maxi signal processing
+    
+    rapidmix::FFT myFFT;
+    myFFT.setup(1024, 512, 265);
+    
+    for (int i = 0; i < 1024; ++i) {
+        float input = (i % 256/256.0);
+        myFFT.process(input);
+    }
+    
+    assert(myFFT.spectralCentroid() == 3520.84277f);
+    std::cout << "maxi fft passed" << std::endl;
+    
     return 0;
 }