Forum

    • Register
    • Login
    • Search
    • Categories

    Making standalone app with offline/batch features?

    General Questions
    batch standalone processing batch-process offline-process
    3
    9
    164
    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.healey
        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.healey 1 Reply Last reply Reply Quote 0
          • d.healey
            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.healey
                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
                • ustk
                  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...

                  I cannot help pressing F5 in the forum...
                  Studio427 Audio - Audio Instruments & FX Plugins for music production. Website - Facebook

                  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. 😬

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

                      13
                      Online

                      985
                      Users

                      6.6k
                      Topics

                      60.8k
                      Posts