Giter Club home page Giter Club logo

matchering's Introduction

Здравствуйте, друзья прекрасные! 👋

Дозвольте представиться: моё имя – Сергей. Вот я стою перед вами, нищий слуга своего ремесла, посвятивший себя ковке идей, которые, как мне мерещится, могут принести пользу миру.

Преимущественно мои страдания и увлечения связаны с музыкальным творчеством, машинным обучением и широкими просторами Discord.

  • 🔬 И вправду, я изведал глубины DSP, MIR, DL, LLM, NLP, WD, WS, VGD, IB и прочих загадочных аббревиатур, словно странник, шествующий по бездонным лесам знания
  • ❤️ Сердце моё пало от любви к 🦀 Rust и 🐍 Python, этим драгоценным камням в короне моего мастерства
  • 📚 И не пусты слова мои, когда я говорю, что имею недурное понимание баз данных, SQL, C# и JS
  • 🙏 И подобно благочестивому паломнику, отдаю почести Linux и свободному ПО
  • 💼 Занял я пост ведущего Rust-разработчика в избранных пенатах центра инноваций Future Crew компании МТС RED, где каждый день – это битва разума и сердца
  • 📜 В мольбы веков:
  • 🏆 Истина, я взошёл на вершины ТОП-20 на Хабре в январе 2023, где мои труды увидел мир
  • 🦄 И любовь моя к аниме и визуальным новеллам не угасает, они, словно звёзды, ведут меня во мраке ночей

Нет в моих руках ни PhD, ни MSc, ни BSc, лишь самообразование – мой титул и мой меч в борьбе с невежеством.

“No man can serve two masters: for either he will hate the one, and love the other; or else he will hold to the one, and despise the other. Ye cannot serve God and mammon.”

Matthew 6:24 KJV

matchering's People

Contributors

sergree avatar yoyololicon avatar zicklag avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

matchering's Issues

Matchering as Plugin?

Hi,

i love Matchering but it would be so great, if you could use it as a plugin in the masterbus of the daw.
I use Linux and Mixbus 32 Software. Is this planned in the future?

Best wishes
Daniel

Issues With Nginx Reverse Proxy

I'm trying to set up Matchering on a reverse proxy because I often work on my audio projects remotely, and would like to use my home server to master tracks. However, I'm having issues figuring out what Matchering needs in an Nginx server block for it to display correctly. Currently I just get an endlessly spinning loading circle. I'm running the Docker container on Ubuntu 23.04.

Below is what my server block currently looks like (with private info changed). I've tried disabling all of the extra proxy settings (I usually use these by default on most things) but the result is always just a constantly spinning circle. Is there a setting inside the container that I need to change to fix the problem, another argument I need to add to my Docker run command, or is something wrong with this Nginx config?

server { listen 443 ssl http2; server_name matchering.example.com; location / { proxy_pass http://127.0.0.1:8360; proxy_set_header Host $host; proxy_http_version 1.1; proxy_buffering off; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; gzip off; }

Get the time where the reference must be

Hi, I have a big .wav of 20min, and some sequences of 5sec, I want to get the exact second when the sequence is in the .wav, but with a thresold I can define, like if it's matching at 85% I consider it's at this moment. Does this lib do that? Thanks

Any way to see exactly what matchering did to a song

Would love to see it possibly put out a text file or some sort that includes what exactly is different about the new master that the program makes (such as EQ changes, how much stereo spread was applied, how much louder it is compared to the original file, etc.)

This program is way more accurate than something like izotope but in izotope you can see what changes will be made in the new master and apply that difference to other tracks if you so choose, rather than making them all have the exact same mastering as a specific song. Love this program and keep up the good work <3 hope this all made sense!

Invalid input.

The following file gives me the error "Invalid input." I don't understand what is wrong with the file.

General
Complete name : /home/..../Arbeit oder Liebe Git Gam BacVoc Voc combiniert 4 mit Bridge vorne 4_r10_Projekt_2021-06-09_00.40.wav
Format : Wave
File size : 62.4 MiB
Duration : 4 min 7 s
Overall bit rate mode : Constant
Overall bit rate : 2 117 kb/s
Producer : ...
Description : Arbeit oder Liebe Git Gam BacVoc Voc combiniert 4 mit Bridge vorne 4
Encoded date : 2021-06-09 00:42:31
Encoding settings : A=PCM,F=44100,W=24,M=stereo,T=libsndfile-1.0.31
Producer_Reference : ZZ--- Ardour6.7004231049998792

Audio
Format : PCM
Format settings : Little / Signed
Codec ID : 1
Duration : 4 min 7 s
Bit rate mode : Constant
Bit rate : 2 117 kb/s
Channel(s) : 2 channels
Sampling rate : 44.1 kHz
Bit depth : 24 bits
Stream size : 62.4 MiB (100%)
LoudnessValue : 0.00
LoudnessRange : 0.00
MaxTruePeakLevel : 0.00
MaxMomentaryLoudness : 0.00
MaxShortTermLoudness : 0.00

Target audio stream error

I followed the Python instructions, but I'm getting a
"ERROR: Unknown audio stream in target file" - what is wrong?
They're wav :(

Change several lines "debug()" to "info()"

I am using matchering-cli that can use extended logger usage. Below, I present some examples of lines that I think should be called with info instead of debug.

Important

This issue is not appearing in matchering-cli repository as it inherits logs from this one


"Where was my result file saved?"

debug(f"Saving the {name} {sample_rate} Hz Stereo {subtype} to: '{file}'...")

debug(f"'{file}' is saved")


"Is matchering initializing or my files has been loaded already?"

debug(f"Loading the {file_type} file: '{file}'...")


"Have I possibly picked the wrong file? I would like to know it's basic properties."

debug(f"{name} audio length: {length} samples ({time_str(length, sample_rate)})")


I could probably find more, but these are most basic.

Max file size limit?

Hello Sergree,

First, thanks for this great tool! i really see a great future for matcherng in the future for fast mixing of radio mixes.
I really want to support you and buy a coffe! but before that..

I want to know why there is a file limit and if it is possible to disable that.
''The file format is not supported or the maximum file size (256 MB) has been exceeded.''

Why i ask this? Because i think this tool van be great for fast mastering of radio mixes that are long and over 300 mb of size.

thanks!! hope to hear from you and sorry for bad english, ask me if you want to know more.

Error 4002

I'm attempting to master with matchering a file that is 30 minutes long.

How can I achieve this? I'm receiving error 4002

CAN'T SAVE TO A DIFFERENT FOLDER in DJANGO

Request Method: GET
http://127.0.0.1:8000/dashboard/track/8/master
3.0.2
RuntimeError
Error opening './media/goody/mastered/my_song_master_16bit.wav': System error.
/home/goodness/.local/share/virtualenvs/MeshakProj--GI6wqXg/lib/python3.6/site-packages/soundfile.py in _error_check, line 1357
/home/goodness/.local/share/virtualenvs/MeshakProj--GI6wqXg/bin/python
3.6.9
['/home/goodness/Documents/django_dev/MeshakProj', '/home/goodness/.local/share/virtualenvs/MeshakProj--GI6wqXg/lib/python36.zip', '/home/goodness/.local/share/virtualenvs/MeshakProj--GI6wqXg/lib/python3.6', '/home/goodness/.local/share/virtualenvs/MeshakProj--GI6wqXg/lib/python3.6/lib-dynload', '/usr/lib/python3.6', '/home/goodness/.local/share/virtualenvs/MeshakProj--GI6wqXg/lib/python3.6/site-packages']
Thu, 30 Jan 2020 10:52:20 +0100

How to work with mp3s?

Hello guys! matchering is an amazing lib, thank you very much!

I wanna try to play around with some mp3 files in matchering but can't find any documentation about it

I want to upload a target and reference (both mp3) and extract the mastered target as mp3 as well. Is it possible? where can I find information about the python syntax to make it possible?

Thank you!

[Discussion] Desktop Application 🖥

I've been looking into different technologies for making Rust desktop applications because that's personally something I want to get into. I think that Flutter is one of the most promising GUI frameworks around right now, and I just yesterday discovered nativeshell which is a way to build desktop applications with Rust and Flutter. I was thinking about what might be a good demo application for me to build using nativeview and then I thought of Matchering.

If I get the time, I might try to make a native desktop application for Matching, but I've still got to figure out the best way to embed Matching in a desktop application without requring Python to be installed. I heard that you had experimented with a Rust version of matchering, which would be the easiest way to get matchering embedded, but if that isn't ready yet then that won't be an option.

The other option is to embed the Python interpreter in Rust. This should work, and I've done it before in smaller use-cases, I just have to look into it more.

I wanted to open this issue to start the discussion and ask whether or not the Rust version of matchering is anywhere close to usable or if I should just try to embed the Python interpreter.

Song length restriction?

Any way to extend the song length? I have an 18 min track I need to remaster and a beefy machine to do it on. Please let me know. Thanks!

matchering.com redirects to eMastered

It seems matchering.com redirects to eMastered.
Also i found other domains like matchering.org, matchering.net, matchering.info which look malicious.

¯_(°ペ)_/¯

Music Production

No issue here- just tried starting the repo under a new list "music production" but accidentally clicked "issue".

Any plan on create a demo site with matchering?

Thanks for your hard working on containerize the whole project !
I want to say congrats to everyone who have participated in it, thank you 👏
I would also like to ask is there any plan on create a demo site so everyone can access the serverce ?

BTW I have run it on a private docker server and it works well, but the loading time is a little bit long though (~= 10 seconds).

Exapmles of the algorithm

Hello, @sergree.

Do you have some examples of your algorithms available for evaluation? I wanna know if this tool is useful for our use in automated rehearsal A/V recording mastering.

Stuck Musician

Hey Thanks for making this. I am on Mac OS. I followed your instructions on installation and usage up to the end of using docker. Maybe because I'm not a developer, but I don't see how to use this. Is there an app or web page somewhere that I drop files on? Seems like I didn't get the "usage" part of installation and usage section.

MemoryError: Unable to allocate array with shape (13755436,) and data type float64

Here is the error information.
import matchering as mg

# Sending all log messages to the default print function
# Just delete the following line to work silently
mg.log(print)
mg.process(
    # The track you want to master
    target='../music_file/torch.wav',

    # Some "wet" reference track
    reference='../music_file/juanzhulian.wav',

    # Where and how to save your results
    results=[
        mg.pcm16('my_song_master_16bit.wav'),
        mg.pcm24('my_song_master_24bit.wav'),
    ]
)
Please give us a star to help the project: https://github.com/sergree/matchering
----------------------------------------
Loading and analysis
Loading the TARGET file: '../music_file/torch.wav'...
The TARGET file is loaded
TARGET audio length: 12900720 samples (0:04:52)
Audio clipping is detected in the TARGET file. It is highly recommended to use the non-clipping version
Loading the REFERENCE file: '../music_file/juanzhulian.wav'...
The REFERENCE file is loaded
REFERENCE audio length: 14971904 samples (0:05:11)
Resampling REFERENCE audio from 48000 Hz to 44100 Hz...
The REFERENCE audio was resampled
----------------------------------------
Matching levels
The maximum size of the analyzed piece: 661500 samples or 15.00 seconds
Normalizing the REFERENCE...
The REFERENCE was normalized. Final amplitude coefficient for the TARGET audio is: -0.0495 dB
Calculating mid and side channels of the TARGET...
The TARGET will be didived into 20 pieces
One piece of the TARGET has a length of 645036 samples or 14.63 seconds
Calculating RMSes of the TARGET pieces...
Extracting the loudest pieces of the TARGET audio with the RMS value more than average -11.3945 dB...
The current average RMS value in the loudest pieces is -9.3542 dB
Calculating mid and side channels of the REFERENCE...



---------------------------------------------------------------------------

MemoryError                               Traceback (most recent call last)

<ipython-input-8-b42637885823> in <module>
      9     results=[
     10         mg.pcm16('my_song_master_16bit.wav'),
---> 11         mg.pcm24('my_song_master_24bit.wav'),
     12     ]
     13 )


~/miniconda3/lib/python3.7/site-packages/matchering/core.py in process(target, reference, results, config, preview_target, preview_result)
     75         need_default=any(rr.use_limiter for rr in results),
     76         need_no_limiter=any(not rr.use_limiter and not rr.normalize for rr in results),
---> 77         need_no_limiter_normalized=any(not rr.use_limiter and rr.normalize for rr in results),
     78     )
     79 


~/miniconda3/lib/python3.7/site-packages/matchering/stages.py in main(target, reference, config, need_default, need_no_limiter, need_no_limiter_normalized)
    177         reference_mid_loudest_pieces, reference_side_loudest_pieces,\
    178         target_divisions, target_piece_size, reference_match_rms\
--> 179         = __match_levels(target, reference, config)
    180 
    181     del target, reference


~/miniconda3/lib/python3.7/site-packages/matchering/stages.py in __match_levels(target, reference, config)
     50         reference_mid_loudest_pieces, reference_side_loudest_pieces,\
     51         reference_match_rms, *_\
---> 52         = analyze_levels(reference, 'reference', config)
     53 
     54     rms_coefficient, target_mid, target_side = get_rms_c_and_amplify_pair(


~/miniconda3/lib/python3.7/site-packages/matchering/stage_helpers/match_levels.py in analyze_levels(array, name, config)
    146     name = name.upper()
    147     debug(f'Calculating mid and side channels of the {name}...')
--> 148     mid, side = lr_to_ms(array)
    149     del array
    150 


~/miniconda3/lib/python3.7/site-packages/matchering/dsp.py in lr_to_ms(array)
     64     mid = np.copy(array[:, 0])
     65     array[:, 0] -= array[:, 1]
---> 66     side = np.copy(array[:, 0])
     67     return mid, side
     68 


<__array_function__ internals> in copy(*args, **kwargs)


~/miniconda3/lib/python3.7/site-packages/numpy/lib/function_base.py in copy(a, order)
    788 
    789     """
--> 790     return array(a, order=order, copy=True)
    791 
    792 # Basic operations


MemoryError: Unable to allocate array with shape (13755436,) and data type float64

Is my wav file is too long? I am new for this package.

du -sh torch.wav
50M     torch.wav
du -sh juanzhulian.wav
58M     juanzhulian.wav

I run it on an Ubuntu system.

GET request possible for usage with Docker image?

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.

Generate Presets for future uses

First I wanted to say that Matchering 2.0 is probably the best tool I've ever used in a while.

But I have a question - would it be possible to make it so that after matchering a track (say: use unmastered instrumental version of a song + the mastered original song as reference) we could save the preset (all the effects) used to master the instrumental so that we can then later upload the individual stems of that song and master them the same way?
Uploading the stems individually and using the original mastered song as a reference would yield much different results than if we were able to keep the effects used in the previous matchering.

I hope that made any sense, and I would love it if it's possible for you (or anyone) to implement this.

Turn off brickwall limiter

I haven't tried the tool yet, but it seems powerful. I want to suggest to add an extra option, at least for the python version, to disable the brickwall limiter step. I think this is a great implementation because some music genres sound much better with the non-normalized volume.

Thank you for your development!

Matchering google colab?

Has anyone out there made a colab for matchering 2.0

I think there is one for the old version, but i would like to use one with 2.0

mono vs stereo output

Hi,

Great repo! Just had one question: when both target and reference are stereo I think everything makes sense. But if both of them are mono, current code converts the target to stereo on loading by duplicating its channel. After all the matching process, the output is a stereo file containing two identical channels, which is essentially mono. Would there be any issue if we don't convert the input/target to stereo in the beginning?

Thanks,
Zhenyu

Improve our brickwall limiter

While our EQ matching is a strong point of Matchering, our blackwall limiter remains to be a bottlneck.

Received this feedback recently:
YT Review

I completely agree with our user, I also sometimes got similar results when the reference was very, very loud.

Here is our limiter code.

Here are its tests.

It already shows good results, which are very close to the proprietary quality, but, apparently, something is missing.
The community would be very grateful if there was a contributor who can bring the quality of our brickwall limiter even higher.

Thanks!

dithering about

Hi @sergree ! I would like to propose the enhancement of a dithering option for anyone downsampling. This is a necessary final mastering touch for anyone who uses 24/32/ bit mixes and masters down to 16 or 24. It takes care of harshness added by aliasing when downsampling. This might be something to consider as an automatic addition in the web UI w/ option to turn it off, like with the limiter. There are great open source dithers from Chris Johnson at AirWindows. I don't actually use these because I have some nice proprietary ones I paid for already, but Chris's stuff is top notch. Look at this quick guide first to narrow down the field (he has a bunch of special purpose dithers along with a few general ones). On the page, leave the first search box empty, then for the next three dropdowns pick "type", "mastering", and "dithers". This will give you a quick short guide, then look up Chris's in depth description for the ones you think might be useful. I hope this is a welcome suggestion!

Potential Bug Risks and Anti-Patterns

Description

Hi 👋 I ran the DeepSource static analyzer on the forked copy of this repo and found some interesting code quality issues which are available here.

The Static Code Analysis Tool found potential bugs and anti-patterns in the Code, that can be detrimental at a later point in time with respect to the Project. DeepSource helps you to automatically find and fix issues in your code during code reviews. This tool looks for anti-patterns, bug risks, performance problems, and raises issues.

Some of the notable issues are :

  • f-string used without any expression here
  • Unnecessary delete statement in a local scope here
  • Function/method with an empty body here

There are plenty of other issues in relation to Bug Discovery and Anti-Patterns which you would be interested to take a look at.
If you would like to integrate DeepSource to autofix some of the common occurring issues, I can help you set that up :)

Unable to allocate 139. MiB for an array with shape (9131294, 2) and data type float64

Request Method: POST
http://204.48.23.194/dashboard/track/1/
3.0.3
MemoryError
Unable to allocate 139. MiB for an array with shape (9131294, 2) and data type float64
/home/goodness/Gorealla/lib/python3.6/site-packages/numpy/lib/function_base.py in copy, line 775
/home/goodness/Gorealla/bin/python
3.6.9
['/home/goodness/Gorealla/src', '/home/goodness/Gorealla/bin', '/usr/lib/python36.zip', '/usr/lib/python3.6', '/usr/lib/python3.6/lib-dynload', '/home/goodness/Gorealla/lib/python3.6/site-packages', '/home/goodness/Gorealla/src/paystack']
Sun, 22 Mar 2020 12:37:57 +0100

Size limit

Hi,

When uploading a long input file (29min), I get this:

Traceback (most recent call last):
  File "mg_cli.py", line 81, in run
    normalize=not args.dont_normalize
  File "/usr/local/lib/python3.6/dist-packages/matchering/core.py", line 53, in process
    target, target_sample_rate = check(target, target_sample_rate, config, 'target')
  File "/usr/local/lib/python3.6/dist-packages/matchering/checker.py", line 102, in check
    else Code.ERROR_REFERENCE_LENGTH_LENGTH_TOO_SMALL
  File "/usr/local/lib/python3.6/dist-packages/matchering/checker.py", line 57, in __check_length
    raise ModuleError(error_code_max)
matchering.log.exceptions.ModuleError: 4002: Track length is exceeded in the TARGET file

Looks like the reference is not big enough to cover for the long input. I've tested many tracks longer than the reference and looks like it works up to a point.

Can you give some context about how the duration of the input file along with the reference file works?

Apple M1 - Getting an "Unknown Error"

M1 Mac Mini running OSX 11.5.2, latest version of Matchering, and Docker 4.15.0. Getting an "Unknown Error" after Matchering performs its analysis steps. This was working at one point, but for some reason now I can't get any set of files to complete. Works perfectly on my other Mac, which is a Macbook Pro Retina 2016, running OSX 10.14 (same version of Matchering and Docker). Are there any troubleshooting steps I should attempt? Thank you!

Possibility of controlling the final mix

Thanks for your work it works well. You have thought about putting controls to regulate the percentage of the target, for example of the eq and the stereo field. regards

4001: Audio stream error in the TARGET file

Request Method: GET
http://127.0.0.1:8000/dashboard/track/6/master
3.0.2
ModuleError
4001: Audio stream error in the TARGET file
/home/goodness/.local/share/virtualenvs/MeshakProj--GI6wqXg/lib/python3.6/site-packages/matchering/loader.py in load, line 42
/home/goodness/.local/share/virtualenvs/MeshakProj--GI6wqXg/bin/python
3.6.9
['/home/goodness/Documents/django_dev/MeshakProj', '/home/goodness/.local/share/virtualenvs/MeshakProj--GI6wqXg/lib/python36.zip', '/home/goodness/.local/share/virtualenvs/MeshakProj--GI6wqXg/lib/python3.6', '/home/goodness/.local/share/virtualenvs/MeshakProj--GI6wqXg/lib/python3.6/lib-dynload', '/usr/lib/python3.6', '/home/goodness/.local/share/virtualenvs/MeshakProj--GI6wqXg/lib/python3.6/site-packages']
Thu, 30 Jan 2020 09:19:52 +0100

Clips on final result

Hi sergree, I have noticed that sometimes, for instance when the target audio has bad resolution, the final result has clips. I really appreciate your work and I have seen your video tutorial on 'How it Works'. Correct me if I am wrong, your procedure of chopping the audio seems to me related to the fact that you have fixed the FFT number of samples in order to compute the mid FIR filters. This procedure resembles to me as trying to mimic the STFT algorithm. Since you have fixed the FFT number of samples you probably do convolutions on the chopped audio samples that you used to compute the FFTs or to the full audio file performing a zero padding technique . This procedure it's probably the cause of the clips in the final result. Why you don't consider the Gabor transform instead? Setting the standard deviation of the Gaussian and the number of centers in order to control time-frequency resolution. This procedure is done to the full audio and should not be affected by the picket fence effect. If the problem is the efficiency of the algorithm you should look for a GPU implementation.
Best regards

Another online mastering service

It's called eMaster.

Just want to have some discussion. Recently I got plenty of their advertisement on Facebook. I tried to post the link to this repo under the advertised post multiple times, but it got deleted by them every time. They feature themselves as a tool designed by Grammy-winning engineers. Seems like they are trying to convince people online mastering is a thing.

This tool has been put in public for a while. Maybe the market trend is different from before. What's your thoughts on this? I tried to spread this tool to people but I failed🤣 I hope I have time to convert this to NumPy

matchering.log.exceptions.ModuleError: 4002: Track length is exceeded in the TARGET file

Hi,

I'm trying to use matchering to master a song but ran into an error.

Loading and analysis
Loading the TARGET file: 'target.wav'...
The TARGET file is loaded
TARGET audio length: 99615480 samples (0:37:38)
Traceback (most recent call last):
  File "master.py", line 9, in <module>
    mg.pcm24('target24bit.wav'),
  File "/Users/highcenoid/Documents/TCSP/mastered/env/lib/python3.7/site-packages/matchering/core.py", line 53, in process
    target, target_sample_rate = check(target, target_sample_rate, config, 'target')
  File "/Users/highcenoid/Documents/TCSP/mastered/env/lib/python3.7/site-packages/matchering/checker.py", line 102, in check
    else Code.ERROR_REFERENCE_LENGTH_LENGTH_TOO_SMALL
  File "/Users/highcenoid/Documents/TCSP/mastered/env/lib/python3.7/site-packages/matchering/checker.py", line 57, in __check_length
    raise ModuleError(error_code_max)
matchering.log.exceptions.ModuleError: 4002: Track length is exceeded in the TARGET file

At first I just loaded the target and reference files, then I cut the reference file to be exactly as long as the target but was still getting the error.

Tonal Balance, Dynamic EQ, Intensity Analysis, Wetness %

Getting a similar tonal balance on the most high energy (and low energy) sections of a track is crucial for matching a sound.. as well as the other items that this library aims for. This could possibly be achieved with a dynamic EQ with N bands. Applying the matching of the values already compared within these bands may improve the result.

If it would be possible to identify intensity levels of a song and apply these parameters to corresponding sections of the input song, the result may also be substantially better.

Being able to tweak the percentage application of these values would be very useful as well. (wetness)

I'd like to help work on these features if you can point me in the right direction.

upload-zone is hidden

The interactable upload zones are unable to be actually interacted with because of their style properties:

display: none !important;
min-height: 0px !important;
height: 0px !important;

I am running the container on a separate computer on the local network and accessing it from Firefox on the client computer.

I did not run into this issue when testing everything on one system.

I've provided a short video of the issue:

upload-zone.webm

I'm not super familiar with Docker and I'm not sure how to get any debug information.

Porcentage of finished track

would it be possible to see the % of the finished track when both tracks have been uploaded and the gear states "uploading tracks" ?? I'm asking because when I upload 2 .wav tracks, it takes ages to process and I would like to know if it stopped or when is it going to be done processing.
Thanks

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.