sergree / matchering

🎚️ Open Source Audio Matching and Mastering

Home Page:https://pypi.org/project/matchering/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

GET request possible for usage with Docker image?

boriswerner opened this issue · comments

Hi, I would like to automate some tasks to process our rehearsel recordings (ideation for new songs).
I currently use the docker image and I wondered whether it would be possible to make a GET request to the site supplying reference and target files/filepaths and receive the resulting file (or automatically put it into a shared folder).
E.g. just call
http://127.0.0.1:8360?ref=reference.wav&target=target.wav&output=target_by_reference.wav

I know I could use the python version and the CLI but I would like to keep the docker version for simplicity.

More background: I mainly use the same 3 reference tracks from our own album and this way I could create a script to copy the recordings from the SD card, show a simple GUI to select the reference track for each recording and provide the names, call matchering, convert the resulting audio file to mp3 and copy it to our band sharing file space.

Hello! Thank you for your message.

Most likely, you have described an hypothetical analog of matchering-web, which does not yet exist. :)

If necessary, you could assemble all this yourself.

I can only help with existing information:

Current matchering-web API is not documented, but it is small:
API Endpoints / Implementation

  1. POST http://127.0.0.1:8360/session/ to create matchering session and it's token
  2. POST upload/token/file_type/ to upload audiofile
  3. GET http://127.0.0.1:8360/session/token to check session status and result audio files urls

My opinion:

E.g. just call
http://127.0.0.1:8360?ref=reference.wav&target=target.wav&output=target_by_reference.wav

I'm not sure this is a good idea, because:

  1. The web server inside the Docker probably won't be able to follow the file path.
  2. The matchering process is not instantaneous, and the GET request will take a very long time to execute and will be disconnected by timeout. For this reason, a message queue was used in matchering-web

I know I could use the python version and the CLI but I would like to keep the docker version for simplicity.

So I think it's easier to write your own application using the CLI in this case.

Hi thanks for that fast response. As I am not so good at this web programming thing I will go to the CLI :-)
And most of all a big thanks: Very great work that you've done with matchering.

commented

@boriswerner are you looking for a way to actually apply some signal processing to adjust the sound of your files or is it mainly about applying loudness correction? If you don't mind, what band sharing space are you using?

@st-h I actually want to apply signal processing as the sound from the recording itself is rather muffled.
Of course the best way is to optimize the input but we are using just a recording output from the mixer and have just a 5-band EQ on it which also affects our in ear monitoring and so we have to make a compromise.
I already implemented now a simple GUI in AutoHotKey triggering some batch scripts which copy/rename and create the matchering output based on 2 reference tracks from our album (one ballad, one rock song)
The band sharing space is just a dropbox folder for band-internal use, nothing public.

commented

@boriswerner thanks for your response. I am asking because we are building a file sharing service dedicated to bands and mix/mastering engineers. We currently do offer loudness matching, but we do not (yet) support destructive modifications to the audio files (as in applying compression or eq). However, I am always interested in what features people are interested in for which reasons.