HISE Logo Forum
    • Categories
    • Register
    • Login

    Displaying a waveform from a sampler

    Scheduled Pinned Locked Moved General Questions
    33 Posts 5 Posters 1.6k 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.
    • d.healeyD
      d.healey
      last edited by

      Actually, the docs mention something - https://docs.hise.audio/ui-components/plugin-components/audio-waveform.html

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

      1 Reply Last reply Reply Quote 0
      • LindonL
        Lindon @d.healey
        last edited by

        @d-healey - yes thanks for this - I am now this far along thanks to your earlier post what I actually want is the waveform display from Kontakt, where i see the waveform in a window and when I play a note it shows it being played...so essentially what we get when we select a wave/zone in the sampler and play it...

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

          @Lindon I think that's what the audio waveform does, but it doesn't connect to a sampler so you'll have to tinker with it and see if you can bend it to your will.

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

          LindonL 1 Reply Last reply Reply Quote 0
          • LindonL
            Lindon @d.healey
            last edited by Lindon

            @d-healey thanks, yes trying that as we speak - but I cant see any way to load a sample into it (the drag and drop doesnt work neither does right clicking) and I cat see any attributes I can use to set it up...:-(

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

              @Lindon Did you check the doc I posted?

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

              LindonL 1 Reply Last reply Reply Quote 0
              • LindonL
                Lindon @d.healey
                last edited by

                @d-healey yeah- thanks - but its not really much use to me as I have over 500 kick drum samples the user can select from - and I want to display the one they have chosen...so pool loading them all will break the heap space pretty quickly...

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

                  Can't you change which one is loaded into the audio player through scripting at run time?

                  I haven't played with it before, I have to go out in a minute but I'll try it out when I'm home.

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

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

                    audioSampleProcessor.loadFile() Looks like a good place to start.

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

                    LindonL 1 Reply Last reply Reply Quote 0
                    • LindonL
                      Lindon @d.healey
                      last edited by Lindon

                      @d-healey yeah - but this is my exact problem - I would need to ship all the audio files as compressed audio with their associated sample maps(500 sample maps) AND ship all the audio(wav files) again as load-able into an audioSampleProcessor. These would need to be pooled so I think this number would break the heap space limits in the windows compiler.

                      Meanwhile the sampler already has this data and can display it how I'd like - but I cant get to it (Sampler>Sample Editor)

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

                        @Lindon Ah I see, I was thinking the loop player could load from sample maps. @Christoph-Hart - feature request :)

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

                        1 Reply Last reply Reply Quote 0
                        • Christoph HartC
                          Christoph Hart
                          last edited by

                          Secret tip of the day: use the sampleIndex property if you want to display samples from a samplemap in the audiowaveform.

                          HiseSnippet 1429.3oc4W0siSbCE1ylc.RfEAHpTuoRih5EIUvpDXApDBwrI6tnHXgnjE5+B4cFmDWlwdjGOKrEgTeH5CPeD5i.OR7Fzdrm+7DBogUEJpMWrZ8w9b7m+NGe97LTv8HwwbAxp9AGGQPVmyd7wL4r9yvTFZvNHqyauONVRDNol5cbDNNl3irrpcOkAq5qiz+dyc6gCvLORoID5IbpG4AzPprz5P26SCB1C6SNfFZr5sbG3wY84A7D.O0r6fhvdOCOk7PrZYqYirN0t9TIWLVhkjXj05839GOdF+4rz0+DZL8v.hZPWzXHPol2iG3qPrxJp+LZf+v7ycLBYYOrjEpkxBW1depOsvdIabA8DNkdXxGVqsL300DdcVc3YY.u0Sg2EsG6InQxxYTX6r1CXPhZBFRAlvJcsn09sZ184vJXxMCwOirm.FT3Qqa1oyUbtQmNsu8FM1nAjHhkNGgENam3S4eC9HxDtHrqycbxiwThrOOLhyfAsZVcYMSiR0HAq9PdO9Kd2AoXEZ+K8bLNLJfHTNpqNUtkYqUy7IK1SJKfxHNSRXdRJm4vYiHSDj3YpMUvCZ4kuiWAhdPBo8FMd4FMbfeAbObfS.E12637C+zsSsl+25vYqULOg46PYEfZSOAAx2iIAD890p4leUy1sScJKt5XCQcynj3YogPcFZUDi8nA5x71sus1gWYtyEzxlwfOMoRRXbyqjFvelSgc7GYvNBn8UZJXwjaFIzrsJJYTQebPvgvkrVyyQk4u2lMKfyx4y5ofuZgQ5IHVerGv7IunYlONW0oa6B9dYmCihjEeRlGepvZ.+GxkjGwZ0twKaTuwqZ3L+TSlrv4xBlpjaQSqZkIVlisXIgGRD4TT9Bg6zUaZX+taZX1SyKkaLVHmMfQkOJhvdWsRPYDJzToVFpf+Spao7YYsTpjtPTeUKupoPj9.X1jGMevtPVvxyD53bV6hDy7g3LtuUHNeVH5kHkblN.0sypQW.Bd7fcvRrpaY1YDN2QDgjpnTqcHGAxPo8NqauCI9YRdjlDxppPVm98lFdQI.9d2iKF7q22MJmyG.90vN+RNxnr2.7twPNL+9upeMx.VmZEIzx.59clfYp6yo9xYEFd8L2PLrXaqrDWwNYuB7tArM2keOXtcAQcQuspEncx8SBvxpBppWQjMAbgohxkRchESkGa9JiOHprqJbun8Ppza1hw6ZK.uPI4GZ7l8lkMr2cxDPBpDrqau229g+AJlP4KRgxkrGKAQwPJaZVwuFOFWE9G3YjQq7yHGJHAbr+X5uXrrW61KA3KQUq+gqdq1NDjnqrWYHeDIBD6gzektWiFcOAOIZdudyc0EKGH.cIfJLm3QLBv6RyyXeAONdBbbzwJ1bpgIhoJtpzxHxQDQbUaOLIDx8LFIPIiXotg+3XhJWS81GKETytNH8tz4.rNeCusVOt6biu1biu9bi2Ztw2Xtw2btw2pbbJgtONRUYnda+b5fmd0zAg.LDCGYiU1iNsH3oVJKf6TRyZnX7wCK3o2m5S5uL3iWK1ZqFb+a93k54XbLUkc1kcDbsDrnv3k.U4I3j.Yt0psH1my3Qy3LpW0KAPQ8zoDgI1W3AZaoDtCVZ4xtifmqiiMtE+ktO.dmKVT8t86EWzc04hkku9b6T35n5q47eCowZ+uWZbYT24yDFcfcWH+DOOeNacqbGkx6+VPcDOQBJp4pZ1fz2XPt2iXJ.tlRTMcbm7W7Nlv70C9S3W1jcyUKUS1MeRjWdnfyV1+q+FCqZDlR5P+hu.PGNvrjNFdTgBRfh1GETFh8D7m5k90SJrdFsE.kL8mST2de0Xmhu4x1tylcPgfV0S87TWDtJvvK1mqcB745m.e15D3yMNA9bySfO25D3yWuTeTOSX6DIOLsIIXX3toEVV6VTXUC8WkN0wlA
                          

                          Load any samplemap into the Sampler1, then press Refresh and you'll see the exact sample you've selected.

                          LindonL 1 Reply Last reply Reply Quote 4
                          • LindonL
                            Lindon @Christoph Hart
                            last edited by

                            @Christoph-Hart well yes, and no.....

                            When I make a sample map and create a ch1 file for it and then load this (ready to ship) sample map - the audioWavewForm doesnt refresh at all... :-(

                            1 Reply Last reply Reply Quote 1
                            • Christoph HartC
                              Christoph Hart
                              last edited by

                              Have you selected a sample in the combobox?

                              LindonL 1 Reply Last reply Reply Quote 0
                              • LindonL
                                Lindon @Christoph Hart
                                last edited by

                                @Christoph-Hart yep that fixed it - silly me . Thanks.

                                LindonL 1 Reply Last reply Reply Quote 1
                                • LindonL
                                  Lindon @Lindon
                                  last edited by

                                  OK so for those of us trying to use this in any practical scenario - there's a couple of gotchas.....

                                  So assuming a scenario where you want to load a sample map and display the audio at the same index position in all cases, so for example you have a set of hundreds of drum sample maps, each with just one wav file (at index zero obviously..).

                                  So you swap out and load the new sample map and say:

                                  AudioWaveform1.set("sampleIndex", 0);
                                  

                                  and you will (sadly) discover your AudioWaveform will not display the new wav file...

                                  The only way around this that I've found (and its sorta ugly) is to:

                                  • set the AudioWaveform to some other index position (even if theres no file at that position) e.g.
                                  AudioWaveform1.set("sampleIndex", 1);
                                  
                                  • wait for it to set itself up...(use a timer) and then reapply:
                                  AudioWaveform1.set("sampleIndex", 0);
                                  

                                  You cannot do this:

                                  AudioWaveform1.set("sampleIndex", 1);
                                  AudioWaveform1.set("sampleIndex", 0);
                                  

                                  As again it fails to work

                                  Here's my snippet of this cough "solution" at work... if any one has a better way of doing this please let me know...

                                  HiseSnippet 1393.3oc4WEtaTaDDdctXf6JAUPTopJUIqn9iKRzn6.BTIDhK4RB5DDxoyAZU+QQK16c2Jr20Z85TthhT+Qef5i.OB8Qg2fzY2097ZykPHpPQsN+H2LyNi+1uY1YVOTvCHoobAxo4AyRHHmK65OiIm1eJlxPC1F47MtalER4+H9PxtbQ7VYRIm4SjOMAs0rDbZJID43z3gp06zbYj94sOXKbDlEPJUgPOiSCHOlFSkkZG16QznncwgjCnwVq918FDvY84Q7L.aMb6fRvAuDOg7DrZYK4hbtvNgTIW3KwRRJxY4s3gy7mx+UlY8OilReQDQIzE4CAxndWdTnBwJsn9SoQgCK3fTDxwcXIizvvHW2cOZHct9Rl4K0F7J8vlObV5zfWWa304rCOGK3srAdW00OPPSjkVTX6KbGvjDwXLjBrgkYsnk9kFt84vJXx0iwujrq.Dl6Q66zoyM71nSm0t2JsVoEjHRkdGhEdyqDFCUBc8tuWQLlPj84wIbFHzd0pKaUSTpFIebbRDQnhgtdSEgbcsWsvn1yReLkd27Des41q40PLiDcxX0XNGiFg0SIRU0nnONJ5EPYW6wYr.IkyZuVqW2pIDnTdDY8DAUEAJySNk3IUdniSS5Xu1U4.0Ks8po580.VH4Uqtl28uuW20VokG77Zy+TO07Kste2vSmUJVdAhk7DMjaWX7n605HylpUA6SYQTFwqXy3wY4LlhYD7n1AEzxM.lKJi.nCPVy2Oj5p21ywBVX3u14kPGoww6IoohaNPly60QXYkj4OqsxS3Rx94InVG0xqtowiWns7.qJ6Vj4bN8jcrMKK9EDQAgUrP3zY0i+tm7we6tSAFNxZgb1.FUteBgcRMEP4DKzdXobTAKUpaN7U4MGpjBQzPUyqpoUjdCX2tFUOXWIOXlbhNJMcySP0c+sO.8zAaikXUSqb.BfNgHjTEe3rM4PXZfoEVS2sIouDJggW07RCjyE+f2CupD.+buYyE98G0KofvF.90xsnCCJEX5coQ4iUTo.qJaH.WvhMlCrkM.akhNup5dMftjq4LfBHtN+E30L0O9iiO93E3+oxmkak2XuUPQ8Pu6L.XRDOLKBKqNdRMSN2.TzVYNfpWOKkJmYmx9nLy5rB2q5NjJCltX7tzBvqpd+iLdyuAvJt6LdLIPVB1kc28m93Ot2FJeqAJWy0WJH3XJaRdMrFOVUz+Cborjy7kxFJHQbbnO82rV1a5sUFvWhpZ+yd5W0lw7LVk2UNxGQRHXIj9s74R8FM5gBdVRcud6CzEKGHfoD.UXaXeFA3co8drufmlNF1N5XkZaZXlXhhqJ0LhbHQjVU2SxhgbOCNZqZk63.pdZJQkqoA6gkB5qrWs9sz4.rNeC2TUK2sl7MqIeqZx2tl7F0juSM46VJaHz8vIlKBtYPvyGs+96sw6LT5hmsgRPjzs0rV4VzIyeKFMkUxcJ4aMlrtS9BtQ6E9r9B2e55013rA22y2Dzr.i9TU1YG1gv4SPiBiWClxNFmEIKzVsWwdbFOYJmQCpdZ.ptmLgHrw9B2PaJkvgwRMWu2HRDAmZcb9658X3BnXQ0C4ePbQ2yNWbZ4qu10.WOUCNu+aLirw+6mQdZT2UxmP54q97jOyyyW1U2S2SMB9eKnNhmIgQqEi2bgYf9vb+.h8jvkTSWMxcTxJ.4SXgZA3VuGmarawXSkwtEFQAEgB1a4+V+MCNMHL0nC8U+hfAxQ1kzovsKTPBF08IAkw3.A+4AluFRg0Ko0.njo+pglt6oj8l+MTttcVuCJFlU87f.0AguGX3E6yMOG9bqygO29b3yFmCety4vm6dN74GNUeTWSXyLIO1zjDTLbGSgkyNyKrZf9a3FCodA
                                  
                                  LindonL ustkU 2 Replies Last reply Reply Quote 1
                                  • LindonL
                                    Lindon @Lindon
                                    last edited by

                                    This post is deleted!
                                    1 Reply Last reply Reply Quote 0
                                    • ustkU
                                      ustk @Lindon
                                      last edited by

                                      @Lindon I don't know much on this side.
                                      But maybe Engine.getPreloadProgress() can help you?

                                      Can't help pressing F5 in the forum...

                                      LindonL 1 Reply Last reply Reply Quote 0
                                      • LindonL
                                        Lindon @ustk
                                        last edited by

                                        @ustk - thanks - I looked at the API - just one question "the progress of what?"

                                        ustkU 2 Replies Last reply Reply Quote 0
                                        • ustkU
                                          ustk @Lindon
                                          last edited by

                                          @Lindon preload :)

                                          Can't help pressing F5 in the forum...

                                          LindonL 1 Reply Last reply Reply Quote 0
                                          • LindonL
                                            Lindon @ustk
                                            last edited by Lindon

                                            @ustk lol - yes - the preload progress of what? The Sample Map? The AudioWaveForm ? my washingmachine?

                                            and once i know what this is Im not sure how this helps me in any real way....

                                            Actually this is a bit dis-ingenuouse of me..sorry. Yeah waiting for the sample map to load might be what I need - but I think what we need here... but its working right now so once I need to laod a bigger sample map and thus need some sort of async. call back method I think I might ask for that...

                                            Hey @Christoph-Hart - how about it:

                                            on async(event)

                                            (just half joking here...)

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

                                            26

                                            Online

                                            1.7k

                                            Users

                                            11.8k

                                            Topics

                                            102.7k

                                            Posts