HISE Logo Forum
    • Categories
    • Register
    • Login

    Pure Data?

    Scheduled Pinned Locked Moved Feature Requests
    32 Posts 7 Posters 5.0k 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.
    • Christoph HartC
      Christoph Hart
      last edited by

      Funny, I watched this yesterday.

      The problem is building LLVM and faustlib, but then it it should be pretty straightforward. It will probably only be available on macOS / Linux though as building LLVM on Windows is the Bowser of software development.

      The idea is to have the JIT compiler available in HISE for rapid development and it when you export your plugin, the faust compiler will create C++ files that are embedded in the plugin so that the exported plugins have no dependency on Faust (Faust is GPL but the generated code inherites the license of the used libraries, so it plays nicely with commercial projects.

      Do you know how polyphonic synthesisers work in Faust? Since HISE is a framework for virtual instruments, it would be pretty stupid if it couldn‘t use Faust for making sound generators.

      hisefiloH LindonL S 3 Replies Last reply Reply Quote 0
      • hisefiloH
        hisefilo @Christoph Hart
        last edited by

        @christoph-hart a bit off topic but I've been playing around with csound also, and it's polyphonic by default. Opcodes included in csound are in fact modules that would be great for hise. I mean you can load for example the 'pluck' opcode and it's a fully functional Karplus strong module http://www.csounds.com/manual/html/pluck.html
        There are 1500 opcodes LGPL out there

        1 Reply Last reply Reply Quote 0
        • A
          alexmitchellmus
          last edited by alexmitchellmus

          Very exciting to have the power of Faust DSP connected to a sample engine/ plugin generator/GUI powerhouse! Keep us posted, this is very interesting!

          In regard to polyphony, with my experience its very easily implemented inside Faust code using nvoices, however I don't know the exact way it works inside the compiler. Currently it's similar (in my eyes) to how csound does polyphony. (It "just works™").

          In regard to including Csound (and this is a cool idea) I feel that especially for physical modelling having access to the DSP code is much more flexible than using an opcode. Mind you currently Faust isn't the best for FFT resynthesis, (hopefully it will get that soon).

          I'm not a Windows user, so can't comment on LLVM for that platform, mainly Linux, MacOS. (Addicted to POSIX).

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

            @christoph-hart I think it would be a very BAD idea to build functionality into HISE that cant resolve to plugins that work across all platforms, sure (as I understand what you are saying) you might have some facility ONLY on the Mac platform that generates the C++ from Faust, but then there needs to be a way to "import" that C++ into HISE on any platform.

            HISE Development for hire.
            www.channelrobot.com

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

              The macOS limitation only applies to having the JIT compiler embedded into HISE as Development Tool. When you compile the plugins, the faust compiler will
              generate C++ files that are natively compiled on every platform.

              So in order to develop DSP in Faust you need a Apple computer but the generate plugins will run everywhere (everything else would indeed be very stupid).

              This being said I am trying to get the windows build done too - I am doing the majority of work on windows so it‘s rather selfish ;)

              hisefiloH S 2 Replies Last reply Reply Quote 0
              • hisefiloH
                hisefilo @Christoph Hart
                last edited by

                @christoph-hart Windows can wait :P

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

                  @hisefilo said in Pure Data?:

                  @christoph-hart Windows can wait :P

                  Yes it can, but Linux can't :p

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

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

                    I am afraid everything has to wait until I have time for this :)

                    hisefiloH 1 Reply Last reply Reply Quote 2
                    • hisefiloH
                      hisefilo @d.healey
                      last edited by

                      @d-healey what about Commodore 64?

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

                        I‘d prefer Symbian OS so you can run it on 10 year old Nokia smartphones.

                        hisefiloH 1 Reply Last reply Reply Quote 0
                        • hisefiloH
                          hisefilo @Christoph Hart
                          last edited by

                          @christoph-hart this was my first DAW Cakewalk for DOS (for real, I'm 42)
                          0_1531878371978_Screen Shot 2018-07-17 at 10.45.31 PM.png

                          1 Reply Last reply Reply Quote 1
                          • A
                            alexmitchellmus
                            last edited by

                            I was on ATARI STE, with Notator. Still one of my most favourite memories. That computer was so lovely for music composition. Even had built in MIDI ports!

                            1 Reply Last reply Reply Quote 0
                            • S
                              sletz @Christoph Hart
                              last edited by sletz

                              @christoph-hart In Faust polyphony is not handle as the compiler level, but at the "architecture files" level. The compiler will be used to generate a single voice, with a special parameter naming convention to describe the freq, gate, gain controls. then a special mydsp_poly class (coded in faust/dsp/poly-dsp.h) is used to "wrap" the single voice and make it a MIDI ready polyphonic instrument (with voice stealing..etc...). You can read this paper : http://www.grame.fr/ressources/publications/09_C_B_137724.pdf.
                              Note that the MIDI implementation is no yet full (no multi-timbrality = MIDI channel support), but you can as least test the idea. This model can be used with libfaust/LLVM dynamical compilation chain, of with statically generated C++ DSP.

                              1 Reply Last reply Reply Quote 0
                              • S
                                sletz @Christoph Hart
                                last edited by sletz

                                @christoph-hart The libfaust/LLM dynamic compilation chain for developing and testing, and static C++ files generation for release is a great idea. Oliver Larkin is using the same model in his iPlug2 framework: http://olilarkin.blogspot.com/2018/06/iplug2-faust-wams-auv3-video.html

                                1 Reply Last reply Reply Quote 0
                                • hisefiloH
                                  hisefilo @Christoph Hart
                                  last edited by

                                  @christoph-hart i just modeled the sound I was looking for with csound :) hope we can include this in some way into Hise soon
                                  https://soundcloud.com/user-830166644/model-fork

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

                                    Forget about Csound...

                                    0_1535013330351_hnode_title.png

                                    is coming :)

                                    hisefiloH 1 Reply Last reply Reply Quote 3
                                    • hisefiloH
                                      hisefilo @Christoph Hart
                                      last edited by

                                      @christoph-hart what is it??? Where is a tutorial or something. Can't find anything googling it (want to be ready for your release :)

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

                                        Well it's a new visual programming environment that I am currently developing. None of the candidates so far perfectly fitted the requirements:

                                        • PD is not embeddable and has a runtime overhead
                                        • Faust is a bit too nerdy :)
                                        • CSound is not embeddable
                                        • Max/MSP is proprietary

                                        Basically it combines the workflow of Max/MSP and PD with the code generation facilities of Faust. You can build your algorithm using a visual programming environment and it spits out C++ code that replicates your algorithm. During development you can use a (rather slow) interpreter, but when you export plugins, it will use the C++ code that should be optimized by modern compilers to a degree of hand-written C++.

                                        There's also a "Javascript" node, which can be used for certain tasks that are better implemented using a text-based approach.

                                        hisefiloH 1 Reply Last reply Reply Quote 3
                                        • hisefiloH
                                          hisefilo @Christoph Hart
                                          last edited by

                                          @christoph-hart wow!!!!!!! This is why I couldn't find it. Can't wait :) I can do the visual identity for hnode if u wish

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

                                            What is the purpose of hnode? Is it designed to work alongside the existing scripting language? Can it do things that HISE Script can't do?

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

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

                                            13

                                            Online

                                            1.7k

                                            Users

                                            11.8k

                                            Topics

                                            102.4k

                                            Posts