HISE Logo Forum
    • Categories
    • Register
    • Login

    How to make a guitar tuner

    Scheduled Pinned Locked Moved General Questions
    20 Posts 9 Posters 1.5k 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.
    • A
      aaronventure @ustk
      last edited by aaronventure

      @ustk Just use the pitch tracker in Faust and call si.smoo on it twice. It's incredibly fast and its error is consistent and correctable with an almost linear function (slightly higher at low freqs than at high freqs).

      iamlampreyI 1 Reply Last reply Reply Quote 1
      • JulesVJ
        JulesV @d.healey
        last edited by

        @d-healey said in How to make a guitar tuner:

        @JulesV Enjoy! https://x42-plugins.com/x42/x42-tuner

        Sweet. But since it's GPL, I can't use it on a commercial project, right?

        d.healeyD 1 Reply Last reply Reply Quote 0
        • JulesVJ
          JulesV @ccbl
          last edited by

          @ccbl I'll take a look at that, thanks

          1 Reply Last reply Reply Quote 0
          • JulesVJ
            JulesV @ustk
            last edited by

            @ustk said in How to make a guitar tuner:

            I've read and watched quite a lot on tuner dsp, and as simple as it seems at start, things are going exponentially complicated. having the pitch of a buffer is one thing, but getting a smooth response (not erratic) and good tracking especially with lower notes becomes incredibly complicated. Not speaking about the time response for lower notes... Especially for guitars where useful pitch can be hard to discriminates from overtones

            That being said, there might be a free library existing somewhere 🤷

            I agree. I hope it will be available in the future.

            @aaronventure said in How to make a guitar tuner:

            @ustk Just use the pitch tracker in Faust and call si.smoo on it twice. It's incredibly fast and its error is consistent and correctable with an almost linear function (slightly higher at low freqs than at high freqs).

            Thanks for the tip. Although I am new to Faust, I'll give it a try.

            1 Reply Last reply Reply Quote 0
            • d.healeyD
              d.healey @JulesV
              last edited by

              @JulesV said in How to make a guitar tuner:

              Sweet. But since it's GPL, I can't use it on a commercial project, right?

              You can, as long as your project is gpl

              Libre Wave - Freedom respecting instruments and effects
              My Patreon - HISE tutorials
              YouTube Channel - Public HISE tutorials

              1 Reply Last reply Reply Quote 1
              • iamlampreyI
                iamlamprey @aaronventure
                last edited by

                @aaronventure said in How to make a guitar tuner:

                @ustk Just use the pitch tracker in Faust and call si.smoo on it twice. It's incredibly fast and its error is consistent and correctable with an almost linear function (slightly higher at low freqs than at high freqs).

                Would you mind making a quick example of this? I've been trying to get the Pitch Tracker to do anything besides throw errors at me and it is now 5:50 am 🤗

                A 1 Reply Last reply Reply Quote 0
                • A
                  aaronventure @iamlamprey
                  last edited by

                  @iamlamprey

                  Hiyya go bud. I even piped it to the UI for ya.

                  HiseSnippet 2302.3oc0Y8zaabbEeVIsRVLx1IEFE43.cIzsxzjzxRtwPPx5eNDMRlPTQH.8fvvcGRNPK2Y6NCkDaQ.JPujS8dtkC8Pu1dqeH5o9EweCZeuY1k6tjTRVJVAsxFRbm27dyu88meuYFxuTyC849mpBEQQbMg3LayXoGWojwDmRGOLhSbVxs0vPcuc5wDgjF6Rbdj6ALklGSsCs8vHlRw8INNy9Vb.mEmiX948atMKfE5wyFhPNQJ73esnuPmMZys9shff8Y97iE8yM6U2pgmLbGYfb.fmYcqRhXdmw5xOjgSaFWxWwT8HN+JWO+10eg+pd0Wk+adAuypuZ8Z0WuSs5ub8UqyVa0UAY70WiUm3L+d9BsLtklo4JhybaK8G1pm7hP6BbhPIZGvwGpQZAqrc38kA93qHNJYmdh.+QNJE31lKmaaVqa6ItGH7EiFOy88oFAzLMx6.cloH7ls.7pkGdUyAuo.ImbPZNKj9L2VdwhHclDDOehaiPHZ1gAwo7PwNWxLudN2cjvLB0U5yNiueL7vHMJuV0pqPge8zWWpDDqTZ54rXpU28+1ZzMnlrmJc4585zg6oKurUHEjtLp0yeN8sbMU2iSC45KjwmQi4c3wbHwAEdbOghB+2LAHtSkcn8k9CB3zdvrnxPin.dGM8WWXVCgzFZGQ.OGxRWhMn6E1UDxQfsqJ5P6vGktvEP4JzkUlmNsykShYoOuHf2WD5aD0XWZ6gzdxy4whvtilMNGPjGKDvdvPZaN0qGKrK2GmNGh+oy9x9A36QNWShtf6nMSI7XAf9V6p4egYvjW+DOwf9sgB0K5I75AfLJlqf3nZDT.UDfmAqQgO.CyziVob9L7UbiTAnGq7xLe+w8DQrXXkQhgL2QlQxjtgwfnYdW7NwbHQuYprxKeBKX.GrLsTAcC4Afdo4gvh2DGp7xFIP.BRBwTPyiUTbcSnZSejb.3J4k6LHzSKjgk69zR+wRKZrnPCdjMxPEBGyZWFLyhkVrKZEKySY6eTU.2nlih6VwOlcww7K0kMFZE38WnPS70RHlrsbPnupb0mBy86PmzHXgzaw6.Qs1.OVFtLvxXBH73eDOBQ+APIJP0UdLinYwVyTtV0pUedc70N0PP9zgPhv6RrXouqDcbQc5LUYnmMVFD.lcZhsK30nXYal1JP3B7gilHP8TjOy8p4yxS25YCz4lnLrQnP+tHd3UQBSRxNfO8MM1koYHIXxXv7h3wZABAmc4mCsfrThK5tKWclVFYla+HYHZAm4zFoOLkvDc8DAPKtfqILPtDdUbvVTCS+.YR9VfoG4oX5hz+XSxDAfOr.mKxqFpD5g4ah9QqmvGJD+L2lXV8zw3LSAifm99.iIcRenqsyQF.myc+u8mu1lkbSamYV7kbyZMLsFlNeuaVABv3BTL7ikMCXCKqX8iB3GAXbEZ6.o2YsD+A9jUUQVHrMNixXqAHiScWJ9l+C1qT65CJVlztGvzwBL0+vA8aAThd7cRPGVELCVCZetZZUQKfOy7v+A9IQXM7YmDg0RElq7MoYrIbj7YHWy56yZDSdSPf7BrnUjjkBImlwZJCFF0SFJ7vvhcFoH8M8AxYcJbyRw2NMbjhbXmkGyDAnQaMPA7N9uKrEXGy1Ycl8DdrxrlK3VsB7OB5WgkpO1eEUxYlCgtbPLXelGDCF1jo6gkVH0FjGCcb7FkOW30JeJkcetEDiVMcGwVjlrpl8Ca1.eJUmMaFeBpUmwtPMTmfRgtTDS6NDpFahSOEx1oJUdvtxQpAxDuCw7J4DOMHmS7sAxnHnF4xTB7cEpHnzY6A.Efs.svH36EbDlKSyh1CJD7gcpaTOMyZz1KP8mezSDmGbfHLwKjQkc.6xwF6S2pklGYSNxnkacF+BqeI+nnqadjTkSv8GbrzXKH2F1DnYM+D2uA.bGHCvmL1579M2k2gMHPOAlHWOnWcqI.82+uGGz+3O7C+yIA8V+49+qMsGCX+X9ue.jeO71g7+lK4G+caMUj+mNaqa.4ueyIc2Uukt6kLHmdDVG+wyo+9MI29LE.l2xLk2BTy+OHnAx4qDzK31rGbNiaOpIj6X98GCTOuYeW2FP+j4N4QO6e72uZWcN1xG41AeAt7TSa8h7kedNN+ByZRZywLy8IWuSNzufKPoJzjqrUkU7j3MUwaEC+z51rfqsa3MzrbZHvJ4ZPvm6hJAGQKVNnaOyQUEgQCz+zbfE5pjOU3AVDU61+tLRy6y397E75PlsZr39R116VISygakbMXrrq4dM7kTglZ1np8FNvCwqkTE6b34nAaN9axLi8lrn6NAvp2XTM4RtliaqigSOaNoP9Y+XbWo4BJI5jd5r7QqVWfl4XVLbh8whdOzsuLTVGueStrni4WXcL4kOo6on92PfblB0EWUBEVjw8TEAyicYgrfgJdEqvoWahRtAL3LQsYxx9X2HN6rSGDpfDIvvEV9mX8EEmwjXXbabCXYtBXIay4ihTlCzGx8ra22Pf.YGNttLe+L+WCyA0sw+668Sl2iYgQA+TI29vewKrZJdG67uFexeAx2i31KWC7i3UzYtxSkDuaSyMH1M4x2.KkdidlSAZuNOXplSNToToTEXAf1pzqrCsp458f5RPHzbjGC4UTUfTCC3SksQRKyMCdc4qPZTVG7R2W66vZfOh663MCzRH.kdwFFaYBPEq+7B3r3wYIMAVqjo1VxH4ZBtq4hgDeY3WnoW.jiLH1xhMgE3z1P+ozq90v2RMjdlDzOrfvC9+lfPw5oOvG1VJOqOybIA2oq66mkqznOyKVdpm8VZv.zCLi.88BMYIK5d.9LsF47wcJ8E9hS87JZpITr9cUwWbWUb06phu7tp3Z2UEW+tp3qtYEwuBuDxCrUDTY0bOaOBm8BYsCRXQ3IsOrWMHlqNZjP9k6KBr6fC+NpfBa7OVj7Ksax54Ya2ohuJJ8ZwIN+UW76YxvKXSZons9RZ17wuXF6WthOE1sSO5W0n0d3lwpWs9KeV0W8r5unjnejLVWdYk12rbUBDsMeoNQZ5F.6eEi4N1R7Tt1JzpUpV6ozujpDUT8kxrOg5XuuP76TQuB8zWWhP9uhjUkT.
                  

                  It's pretty accurate and ridiculously fast.

                  iamlampreyI 1 Reply Last reply Reply Quote 2
                  • iamlampreyI
                    iamlamprey @aaronventure
                    last edited by

                    @aaronventure Much appreciated! I'll play around with it, it seems really good for most cases but low-tuned guitars seem to throw it off a bit, probably because of the overtones.

                    A 1 Reply Last reply Reply Quote 0
                    • A
                      aaronventure @iamlamprey
                      last edited by

                      @iamlamprey youll want to try different orders and time windows in the call in faust.

                      Also at certain settings it might be accurate, just off for a fixed amount, like off for a few cents in lower freqs. You can easily test this and write a fixing function.

                      iamlampreyI 1 Reply Last reply Reply Quote 1
                      • iamlampreyI
                        iamlamprey @aaronventure
                        last edited by

                        @aaronventure Would you mind copy+pasting the contents of the Faust node here? The imported snippet doesn't let me view / edit it

                        A 1 Reply Last reply Reply Quote 0
                        • A
                          aaronventure @iamlamprey
                          last edited by

                          @iamlamprey

                          import("stdfaust.lib");
                          
                          pt = an.pitchTracker(1, 0.01) : si.smoo : si.smoo;
                          
                          process = pt, _;
                          
                          iamlampreyI 1 Reply Last reply Reply Quote 1
                          • iamlampreyI
                            iamlamprey @aaronventure
                            last edited by

                            @aaronventure Ah nice and simple, thank you.

                            Also no wonder I couldn't find anything about it lol

                            4f6a1501-cd27-4db6-b2e0-2c7365e526cd-{3B907412-760B-40C0-820B-52B396E53F28}.png

                            A 1 Reply Last reply Reply Quote 0
                            • A
                              aaronventure @iamlamprey
                              last edited by aaronventure

                              @iamlamprey Faust library search is hot trash. Your best bet is to go through all the libraries a couple of times and sorta learn all that's there. Also, use the github version for proper search (you can also learn how it was done). That's kind of where all their dev resources seem to be going.

                              Link Preview Image
                              analyzers - Faust Libraries

                              favicon

                              (faustlibraries.grame.fr)

                              Link Preview Image
                              GitHub - grame-cncm/faustlibraries: The Faust libraries

                              The Faust libraries. Contribute to grame-cncm/faustlibraries development by creating an account on GitHub.

                              favicon

                              GitHub (github.com)

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

                              21

                              Online

                              1.9k

                              Users

                              12.4k

                              Topics

                              107.7k

                              Posts