diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,10 @@
 # Revision history for lambdasound
 
+## 1.2.0 -- 2023-10-16
+
+* Switch to proteaaudio version which uses RTAudio
+* Update to GHC 9.6
+
 ## 1.1.0 -- 2023-10-16
 
 * Add an example to showcase `loadSound`
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -61,7 +61,7 @@
 
 ## Feature Overview
 
-- Play sounds with SDL2
+- Play sounds with RTAudio
 - Save sounds as WAV
 - Create raw audio samples by defining a vector of floats
 - Manipulate the duration of a sound
@@ -91,10 +91,8 @@
 ```haskell
 cabal run example1
 cabal run example2
+cabal run example3
 ```
-
-For this library, you will need to have **SDL2** installed. Take a look at [proteeaudio-sdl](https://hackage.haskell.org/package/proteaaudio-sdl) for installation instructions.
-
 
 ## Contributing
 
diff --git a/cabal.project b/cabal.project
--- a/cabal.project
+++ b/cabal.project
@@ -1,3 +1,9 @@
 packages: .
 tests: True
 benchmarks: True
+
+source-repository-package
+  type:     git
+  location: https://github.com/csabahruska/proteaaudio
+  subdir:   proteaaudio
+  tag: ec097b0cce0b2fb2835971e39618a06937d9485b
diff --git a/lambdasound.cabal b/lambdasound.cabal
--- a/lambdasound.cabal
+++ b/lambdasound.cabal
@@ -1,6 +1,6 @@
 cabal-version:      3.0
 name:               lambdasound
-version:            1.1
+version:            1.2.0
 synopsis:           A libary for generating low-level sounds with high-level combinators
 description:        'lambdasound' can generate all kinds of sounds, play them and save them as wav or pcm data.
                     Sound can be manipulated in both a low and high-level way. It is possible to 
@@ -16,6 +16,7 @@
 extra-doc-files:    CHANGELOG.md
 homepage:           https://github.com/Simre1/lambdasound
 bug-reports:        https://github.com/Simre1/lambdasound/issues
+tested-with: GHC==9.6.3, GHC==9.4.7
 
 extra-source-files:
     README.md
@@ -49,20 +50,21 @@
         base >= 4.17.0.0 && < 5,
         ansi-terminal >= 1.0 && < 1.1,
         bytestring >= 0.11.4 && < 0.12,
-        deepseq >= 1.4.8 && < 1.5,
+        deepseq >= 1.4.8 && < 1.6,
         bytestring-to-vector >= 0.3.0 && < 0.4,
         vector >= 0.13.0 && < 0.14,
-        transformers >= 0.5.6 && < 0.6,
+        transformers >= 0.5.6 && < 0.7,
         directory >= 1.3.7 && < 1.4,
         filepath >= 1.4.2 && < 1.5,
         hashable >= 1.4.3 && < 1.5,
-        text >= 2.0.2 && < 2.1,
+        text >= 2.0.2 && < 2.2,
         hashtables >= 1.3.1 && < 1.4,
         massiv >= 1.0.4 && < 1.1,
         random >= 1.2.1 && < 1.3,
-        proteaaudio-sdl >= 0.9.3 && < 1.1,
+        proteaaudio >= 0.9.3 && < 1.1,
         wave >= 0.2.0 && < 0.3,
-        zlib >= 0.6.3 && < 0.7
+        zlib >= 0.6.3 && < 0.7,
+        dsp >= 0.2.5.2 && < 0.3
     hs-source-dirs:   src
     default-extensions:
         DuplicateRecordFields,
@@ -77,7 +79,7 @@
     import:           warnings
     main-is:          Example1.hs
     build-depends:
-        base ^>=4.17.0.0,
+        base >=4.17.0.0,
         lambdasound
     default-extensions:
         DataKinds
@@ -88,7 +90,7 @@
     import:           warnings
     main-is:          Example2.hs
     build-depends:
-        base ^>=4.17.0.0,
+        base >=4.17.0.0,
         lambdasound
     default-extensions:
         DataKinds
@@ -99,7 +101,7 @@
     import:           warnings
     main-is:          Example3.hs
     build-depends:
-        base ^>=4.17.0.0,
+        base >=4.17.0.0,
         lambdasound
     default-extensions:
         DataKinds
@@ -110,7 +112,7 @@
     import:           warnings
     main-is:          Main.hs
     build-depends:
-        base ^>=4.17.0.0,
+        base >=4.17.0.0,
         lambdasound
     default-extensions:
         DataKinds
@@ -131,7 +133,7 @@
         lambdasound,
         tasty >= 1.4 && < 1.5,
         tasty-hunit >= 0.10.1 && < 0.11,
-        falsify >= 0.1.1 && < 0.2,
+        falsify >= 0.1.1 && < 0.3,
         massiv >= 1.0.4 && < 1.1
 
 benchmark lambdasound-bench
diff --git a/src/LambdaSound/Filter.hs b/src/LambdaSound/Filter.hs
--- a/src/LambdaSound/Filter.hs
+++ b/src/LambdaSound/Filter.hs
@@ -19,6 +19,7 @@
 import Data.Massiv.Array.Unsafe qualified as MU
 import Data.Maybe (fromMaybe)
 import LambdaSound.Sound
+import DSP.Filter.Analog.Prototype
 
 -- | IIRParams contains the filter coefficients for the forward and
 -- feedback computation
diff --git a/src/LambdaSound/Play.hs b/src/LambdaSound/Play.hs
--- a/src/LambdaSound/Play.hs
+++ b/src/LambdaSound/Play.hs
@@ -6,7 +6,7 @@
 import Data.Vector.Storable.ByteString (vectorToByteString)
 import LambdaSound.Sampling
 import LambdaSound.Sound
-import Sound.ProteaAudio.SDL qualified as PA
+import Sound.ProteaAudio qualified as PA
 
 -- | Play the sound with the given sample rate and the given volume.
 --
