HISE Logo Forum
    • Categories
    • Register
    • Login

    Making standalone app with offline/batch features?

    Scheduled Pinned Locked Moved General Questions
    batchstandaloneprocessingbatch-processoffline-process
    10 Posts 4 Posters 593 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
      andioak
      last edited by

      Can I make a standalone application with offline processing or batch file processing with hise/Juce?

      Here´s what I want to make:

      • read a list of files (and store a project as a preset, for instance)
      • press a button to complete an offline processing of say... a compressor or a script
      • make new files or destructively overwrite the input files
      • basically what iZotope RX has or any equivalent

      Is it possible? 😕

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

        You can do this with JUCE.

        HISE isn't really suitable for this but with enough additional C++ anything's possible.

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

        A 1 Reply Last reply Reply Quote 2
        • A
          andioak @d.healey
          last edited by

          @d-healey said in Making standalone app with offline/batch features?:

          You can do this with JUCE.

          HISE isn't really suitable for this but with enough additional C++ anything's possible.

          Thanks. Yes, I guess it´s mostly for hooking up a signal to either plugin-processing or the same for midi-triggered stuff. But isn´t there a module that handles offline processing of some sort in HISE in one of the modules?

          The getting files into the app is another thing that could perhaps not be done with HISE as is. But having the references to the files perhaps a module could get the job done?

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

            @andioak I really don't think this is a job for HISE. HISE can play back audio and it can alter an incoming audio signal but it doesn't write audio files.

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

            A 1 Reply Last reply Reply Quote 0
            • A
              andioak @d.healey
              last edited by

              @d-healey it'll be a question of c++ and JUCE then. Bummer. Thanks for replying.

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

                I was just looking in the API today and noticed there is a writeAudioFile function, I don't know if it's suitable for what you want but it might be a good starting point.

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

                A 1 Reply Last reply Reply Quote 1
                • ustkU
                  ustk
                  last edited by ustk

                  @andioak I think Hise could do it without the need for C++. SNEX might handle that, but if you need offline processing, it means you need to use your own effect algorithms to apply on audio files you have loaded, and use writeAudioFile and related functions @d-healey mentioned... Since the node system is part of the audio streaming, I don't think it is possible to batch or treat offline using a scriptnode graph. But I reckon SNEX can use the nodes in code so there might be a possibility to use them offline too. These are just suppositions though, I have no idea where to begin, and what I say might be non-sense...

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

                  A 1 Reply Last reply Reply Quote 1
                  • A
                    andioak @d.healey
                    last edited by

                    @d-healey said in Making standalone app with offline/batch features?:

                    I was just looking in the API today and noticed there is a writeAudioFile function, I don't know if it's suitable for what you want but it might be a good starting point.

                    Thanks, i'll have a look at it.

                    1 Reply Last reply Reply Quote 0
                    • A
                      andioak @ustk
                      last edited by

                      @ustk said in Making standalone app with offline/batch features?:

                      ... I don't think it is possible to batch or treat offline using a scriptnode graph. But I reckon SNEX can use the nodes in code so there might be a possibility to use them offline too.

                      Thanks, yes I dug a bit into the api on docs.hise.audio and found a few things perhaps able to take care of some of it.

                      Standard Hise API:

                      • File.createDirectory, File.getChildFile, File.getParentDirectory, File.show -- link -- check, check, check & check.
                      • AudioFile.loadFile -- link
                      • Engine.loadAudioFileIntoBufferArray -- link -- "Loads a file and returns its content as array of Buffers." -- perhaps able to do the data store.

                      In the Scriptnode List of Nodes I found control.file_analyser, (link 📖), which surely must do it's job offline. Perhaps there is a way to cue samples (blocks of samples) to be run through any module or chain? Then there's the core.file_player, (link 📖), which also handles audio files possibly offline. Both of these though are farily simple modules with no extras in the docs. The docs are void of any descriptions of the Scriptnode list of nodes, at least on the committed docs.

                      Perhaps it is something one has to code yourself in SNEX as you say, but then perhaps the real idea is to have a processor handle all things hise in offline mode. Not even beginner in C or C++ so would not know where to start. The method could be to pipeline all audio blocks in an array of files through the code. Haha. Just stuff it in there, nice and thick. 😬

                      D 1 Reply Last reply Reply Quote 0
                      • D
                        David Kissam @andioak
                        last edited by

                        @andioak Did you figure this out?

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

                        49

                        Online

                        1.7k

                        Users

                        11.7k

                        Topics

                        101.8k

                        Posts