HISE Logo Forum
    • Categories
    • Register
    • Login

    Scratchr - Vinyl Scratch emulation attempt

    Scheduled Pinned Locked Moved General Questions
    7 Posts 3 Posters 412 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • musictopM
      musictop
      last edited by

      Hi everyone.

      Yesterday a friend asked for a plugin that emulates vinyl scratching. He needed to load samples and 'scratch' them and have control on the amount and speed.
      I made a simpe plugin for him which kind of emulates the process. Uses audio player to load and play samples, Modulation wheel to control pitch/speed, has loop, reverse buttons and two sliders that set MW range and a control one that user can assign to any CC.

      It kinda works but it would be much better if the play direction of the sample can be switched in accordance to MW/controller motion - that is, if controller goes up the sample plays forweard and if ctrl goes down the sample play goes reverse. But, dunno how to do that! :)

      The plugin is here: link text
      Hise sourcefiles: link text

      Screenshot 2021-08-05 180307.png

      my website: https://musictop69.wixsite.com/ilirbajri
      https://musictop69.wixsite.com/creatools
      https://musictop69.wixsite.com/orchestools

      ulrikU 2 Replies Last reply Reply Quote 3
      • Tania GhoshT
        Tania Ghosh
        last edited by

        Amazing.gif @musictop

        Tania Ghosh

        1 Reply Last reply Reply Quote 0
        • Tania GhoshT
          Tania Ghosh
          last edited by

          @musictop unfortunately it is crashing as soon as I click Reverse . Crash.jpg

          Tania Ghosh

          1 Reply Last reply Reply Quote 0
          • ulrikU
            ulrik @musictop
            last edited by

            @musictop I made an attempt to solve that, it is possible to reverse the audio in real time, in this example I use the Pitch wheel, so bending up will increase the speed & it will play forward, bending down will also increase speed & it will play reversed.
            The issue here is that when going from forward => reversed, or vice versa, the playhead will start to play where it was but counting from the end of the file 🤭

            Lets say the sample i 4 sec long, when playhead is at 1 sec, and you reverse the play direction, it will start playing from 1 sec counted from the end of the sample.

            So if you could get like Sample.CurrentValue it would work to reverse at the right position in the sample.
            I could not find any function for that in the documentation, and I asked the question in the forum so maybe there is a way I hope :)

            Hise Develop branch
            MacOs 15.3.1, Xcode 16.2
            http://musikboden.se

            ulrikU 1 Reply Last reply Reply Quote 0
            • ulrikU
              ulrik @ulrik
              last edited by ulrik

              @ulrik Oh, and here is the snippet:

              this has been edited, I posted the wrong snippet.
              //
              Edited again, came up with a better snippet, takes the amount of pitch in account

              HiseSnippet 2903.3oc6as0aaibElx1zIVwNMIqSugV.hf9fbSVaRcihcSVSaYYGgHaIHImz9PgBE0HoYMEoJIkSbtflVze.8ePK5Of19SHO1Gyi6it+C1m6KoyLjTbH0MZC6jcytL.FgyMd9NmybtLyQULMTAVVFlLwVp9I8ALwVls1I51cy2UApyTbGlXWi0R0TwVsqo.y1mzWwxBzhIVr42COfXKs.C44a1baEMEcUfeSLLO1.pBJA6As8ash7ifZZ6pzBTG1iZzokKpZnm2PyX.hXlmkmouh5QJc.GnfG1brLwVrPKnsgYMaEafESrE11n0I05Z7Lcmw+XnEroF.+h.SMzB4z7tFZsvTLtUl7cgZsp3AZKFzhVwmELuCKXU18gsfCa2mUbCRGb9yfleDatoQdBzjGezIuXTj2BNj2MYqoZB6a62iiXpntMvrsBRDPSVNikYt+27r4MPiP2d8dJGA10D8xvYjHKO+83RIlasuXk3qDGIHrr4NVwjCOESCMMfY97BIk3d.GQ6X8N.68MZMPSAA3D2IzntCdU7WiJZJm.LomJAlj2RbGmdCME+ErBDo48jt.f1L+19C8NNvXiM33pBNFXhXEbMGXaany8fH7PSIUK73BUqUXmFaeX85kO.QDdbQLNL502PG8Rh6DZbtT.TWCpC3ZOPW0Fh95F5gFmK0mP0aktG5qpM.r1Jwe4JwWxk2stEvdKaaSHBDfDts4gLuYf9ful7QiHAhWT2OedEMslncaIlD84yOevY+gB8GXXCJqmXs3uL9Rwecbtvc0t8X6yWFi6dk3bnGXatDgz6HHdfoIBukPLGsDqwceN90yrlyLbmH9IDJwrhGiYhIDvHcRiRsqhdGPqDq8Ejg7ZmQBzr.Q+CveV9.gXCXCllSiAkPePul.SOMBuAhrbDzzD6jMMQa4T0QQhZfF5E0g1k6CzmjAKFWsOjoqq3RUHar1DCW210v0VCZAMdhxwf1Fl8XfHyTKwVozV+tBUEXHTNsOjVJ1JLwzX23PKj59FCzLgG0znEPei8GXAU23gPKvFE5nqfMK+U.U6MpCrPl03LT6hYQc.lJ5s.bGgli4FOBbRSCEyVb0FX12DO0ZJ85qAr13HklJlf0elxwLlXo.hWYhbawFCSDjVJn2B+9O4AuwAkDnMuCzttKz1lXkgfoUXKUtbEWQaXb8MaFkk3lrgzPFtLK5wdl3xTSCh.LYYtMa0sNXmx62n1V6WoTgF0puU05ixoixRcKVm0fqZ4x04Nnb8BgWmCkix5bELIs2HS9zMixjuNa95UKUsQsRE2oP0Q.hLygE2Aq0fb+4pMhTM5CLsgXk+X6.NFEVhiuzkX2AXcjsQelX+rgFKQNSc91q34oUQGn4R2am+Q6Iv7bZF2Izu7LXK6tCa3s+Y4t.Xmt9A.8VfLzFzyKPmkYSlImnfXtjRoX76HIoGdwLISmTJoDSSCSD5qpzBNvhVKxF7bapkJEexbI4kRw6NgZvWDVoKpXL4jvHB.mYLJvymlWjOaRwvXLU1rBYDywmVLhXLUpzIyjVTTTHBXbkfXrjRSWLdc5VnEmuQU1GpbcBA0S+CggJJt0lc7ntkV78u+8+CbqzzL1TJ.Y+UYXze3dIgzBzwM1xo0.blkXEDDxkNm.CMmboEu+8u+6c2rdFQYxIgxmdTHT9tuCixTzpsBTn7TiPn7u9mFAkxeWAkomDJem4rQ41e7Q4xQOf.JfxQATzKAAp7HVgXZI22Kxjhn07prNQNy3C+kYSmTTRRLsX5fjMxVZtThRYERmNWXSVoSlKWtLY4SIvXgBMpDJBeKmvgrHwRTDEtwycXPiQxNyHEn.LOEfkgS.M8ULQYHih3onyRYXzufqPZnTaZamuFqTJoL4jxjJcHV.h2jSPhmOG+nr.ozRYESJkgAZUQaPGndEOx.4gct9AaxIE9EIvjYL9fhTnO97km9pf7kucAyk7n7.H8lmwnynzBnsU+2aKaYehF4bZdngI7En3aTzBEzwSMGYqv8kwpp0QLpsMb0MwMPxIohQ+A8wt82poww.lHnkcCVmnlIwHixEmoGrUKMzBYAwIj3Ka9aHpEzOrG5dJ9nS9eI6XRAexJk.Jl5gMsPb5yKwmJaJgbhiYyXZ9zYxlQL.6d0yRDrSfWe5WMVd8DvJJv2YgUlmFksvwYqZXXiSGNjXsx3Dqs.sUFn4jbY.ZIph6dzmh2NWXBCm8jdL6FXlcCBylVJciYle.Ey6WSGxRXm4e8nt41YL7fwHNmDe4hhQLdAzoaFPS3GyNtiwJndgyA7oiT6NYh5fmtYzXugxfZBb42XN9M.zpz2X1Bh8Bp0eMLVsrUzsElL.GQzcgw4QNLhro7q3vlXlRZS9Ans5P63XC3MzHcPEx8QzlVZGhsghUILaSz0ulm+ANW6VN9GBlTDB0RXdhjHSajPpliTCkHmlh5QNMEvtz8jCFdWj.3sXI6hqTrd9GNc3IeTzg2xjUkirpeLP0MX2+IMHFalAl5GcLEGslbNFv9HfnUYqku5VH1Y0FX02ohJdqnipezv0kCutWhPa4IAsaOl8XzoHHeHcJBvvX6fQvVFWr4Fa5EKjTzfcz6QPzhrZf11mePRm7d++3TAY8IBR+HS+HhyvmyTpIcNSuavLOmIlu7LbNSYjDRmB0WTOKsjYykiOizvClJbjc9oVDmUHqnnXRgLQaC5MQlGp1v2jSfjb+RZg6wgXA+m2LlSlwQ3dW1xbnMlbOjC4hfqNWYz+Jg9ebuhC827n91B0Jt+piJ9SJIkTJqTzD+4lxN2qNILeE1REOnP.jllBouM7Is8le+HHkwOQufYvixTWHaVojmEJI4jnDldefoD5M.+6W8wjRROIJ4BR5L5UYib95cStz2xNtzBb6.GdK80Y6GhH0VwKkqdOpj6MYIQrOd5ctwPuLLW5zqagLrBag1sAp19D6Br69au7qZAZR4pNjxOmcOMilJZ9LPbxDPcfS0K7Kc6laX+bCGvzJ6j2E0xNoejK6jXyGYNx3KyD9wUGGK7s5xLIp55e1HhIqy9ty4iFCcFECS7gjIhW4m8r6VxPUFvrIxCs.0cbo42VQ8iAl13I4qa4uvGPtqc+6J5ox05YXX2Mn9ETdmwlFZEY+Uh7gI2XIoLmtnXWWHFvl+6mFvpZLvFp2YeEaSHxoHKRXWCYgPEfnDcT.r3hnH1bX8Am248pTfZ.8VjWdO5wsSA76wb6TvqywXjbjZuK9vZu6hnz6tnrAxeNsAx9IgMveH7jOkBO4y7HExcPhu7LWeHCOb9Ona7P6+UQhp.tgHxu5lnjwPVjn6f9p9nZd30GPcc.gtuFJ50qLBoaaWnlaY29AstqHWEgiYTxYL6TqUZHTFnXrzHvdXsXc4XqZgevV0rh9fO5AqsjGMVChk5EPAVog1oQnwaw5FgjWqAi2eeCci9cMzgpA0ZQNl6zgJ9KR7ZiAPaYaiOFigsrpbUfFPwhZ6wuRFeG9Jlg23c4D35zjW+TVGxkCamf6SCeLQKBxyOuctQ0y9Etoof4hOVwDpn6Ww3DBdB221Ln5S2baXeCMExEF4mv.1KpWhBHaE9AymgMU10G9HkG8miK27g6t9cwuK57N5OsuKU+3LLzApN2q2mOszh+MgSx4RIyAVGVZ7g2Zm6u1.+KwaVxZYJt1kBI98gjE9T4azSQ0zngpilKd66UIsf3s5tUOy9324FVI3rr7qyiuvaXCUUrH8yEXXF+bRdNlSpywbReNlSlywbxdNli34XN4l5bvw1r0.aidNV1cKpZ2SaI10negMlbvclz+njHeK2ZiyQYvMpNemBjn57qrfcGnoMxXvMFZb0NB7rvwAXhfDtsWt5+bu+6K9KaN7mOyDtndZS3L6WofiE7XCCuF05+GHsou3N
              

              Hise Develop branch
              MacOs 15.3.1, Xcode 16.2
              http://musikboden.se

              1 Reply Last reply Reply Quote 3
              • ulrikU
                ulrik @musictop
                last edited by ulrik

                @musictop btw, you had a lot of Component ID's with spaces in their names, if you have spaces it's not possible to make references to the components, so I made underscores where you had spaces.

                And you have to set "sampleIndex" in the Property Editor for your Player1, to something else then -1, I changed that to "0" now
                Skärmavbild 2021-08-06 kl. 12.28.31.png

                Hise Develop branch
                MacOs 15.3.1, Xcode 16.2
                http://musikboden.se

                musictopM 1 Reply Last reply Reply Quote 2
                • musictopM
                  musictop @ulrik
                  last edited by

                  @ulrik very cool work and thanks a lot for advices!

                  my website: https://musictop69.wixsite.com/ilirbajri
                  https://musictop69.wixsite.com/creatools
                  https://musictop69.wixsite.com/orchestools

                  1 Reply Last reply Reply Quote 1
                  • First post
                    Last post

                  14

                  Online

                  1.7k

                  Users

                  11.9k

                  Topics

                  103.5k

                  Posts