Forumnyheter:

Möjlighet för gäster att skriva inlägg har länge varit avstängt på grund av missbruk och spam, men i och med den nya forumprogramvaran är det nu påslaget igen. Se till att inte missbruka detta, för då kan det behöva stängas av igen.

Huvudmeny

AI för att ta bort röster i filmer? Ja, det funkar!

Startat av Goliat, 11 mars 2020 kl. 17:40:30

Föregående ämne - Nästa ämne

0 Medlemmar och 1 gäst tittar på detta ämne.

Oscar Isaksson

Jag är ganska såld på att det finns ett sånt här program för att underlätta när det kommer till att göra M&E spår vid dubbning och mix.
Men jag skulle verkligen behöva någon som agerar tekniker och hjälper mig med att fixa till ljudet för lång och kortfilmer jag har planerat att använda.

Goliat

Citat från: Oscar Isaksson skrivet 18 mars 2020 kl. 02:45:32
Jag är ganska såld på att det finns ett sånt här program för att underlätta när det kommer till att göra M&E spår vid dubbning och mix.
Men jag skulle verkligen behöva någon som agerar tekniker och hjälper mig med att fixa till ljudet för lång och kortfilmer jag har planerat att använda.

En form av kompressor är nästan ett krav för att få magin att bli ultimat. Tror jag tipsade om två gratis. Vst4free har ett par också, minns inte namnet på andra typen av vst. Me skrev om det tidigare i tråden. :)

Daniel Hofverberg

#32
Citat från: lost_t3ckn4t skrivet 15 mars 2020 kl. 16:01:20
Man får installera Git först:

https://gitforwindows.org/

Sedan anaconda, med python 3.7, glöm inte köra som admin och "add path" när det kommer upp som val. Starta om datorn efter.

https://www.anaconda.com/distribution/

Sedan i en mapp där du vill installera (skrivbordet eller dokument eller musik-mappen, inte bland program det ställer till det) klickar man shifttangenten och högerklickar, väljer powershell.

I powershell skriv:

git clone https://github.com/Deezer/spleeter

Sedan:

conda install -c conda-forge spleeter

Så nu kan du lägga in en musikfil i spleeter-mappen helst wav sedan skriv:

python -m spleeter separate -i spleeter/ljudfil.wav -p spleeter:2stems -o output

Alternativt efter 2stems kan du skriva 2stems-16KHz, det tar en liten stund då den ska ladda ner själva träningsfilen som vet hur den ska göra. Filen hamnar sedan i en mapp som heter output i spleeter-mappen.

Hoppas det hjälper.

Kan tillägga, ibland kan det gå riktigt segt så det är som datorn hängt sig. Gör inget samtidigt, ibland kan det ta lång tid. Upp till 60 minuter kan det ta för icke kraftfulla datorer. Bara vänta och vänta.
Det fungerar inte för mig. Själva installationen av Anaconda går bra, men när jag kör conda install -c conda-forge spleeter får jag bara följande:

Citat
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source.
Collecting package metadata (repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: |
Found conflicts! Looking for incompatible packages.
This can take several minutes.  Press CTRL-C to abort.
Examining pywin32:   3%|█?                                                             | 8/302 [00:06<04:56,  1.01s/it]
Examining liblief:   5%|██?                                                           | 14/302 [00:22<06:10,  1.29s/it]
Examining urllib3:   8%|████?                                                         | 24/302 [01:17<09:38,  2.08s/it]
Examining clyent:  16%|█████████?                                                   | 49/302 [04:06<1:06:13, 15.70s/it]
Examining pycurl:  22%|█████████████?                                                 | 66/302 [05:14<11:05,  2.82s/it]
Examining pyzmq:  28%|█████████████████?                                              | 84/302 [05:29<04:50,  1.33s/it]
Examining powershell_shortcut:  29%|██████████████?                                   | 87/302 [05:46<19:00,  5.30s/it]
Examining jupyter_console:  31%|████████████████?                                     | 94/302 [05:46<04:42,  1.36s/it]
Examining sphinxcontrib-applehelp:  31%|██████████████?                               | 95/302 [05:50<07:34,  2.20s/it]
Examining flake8:  35%|██████████████████████                                        | 105/302 [06:03<03:11,  1.03it/s]
Examining jupyter:  38%|███████████████████████?                                     | 115/302 [06:15<02:14,  1.39it/s]
Examining qtawesome:  46%|███████████████████████████?                               | 139/302 [06:56<06:02,  2.23s/it]
Examining libssh2:  49%|█████████████████████████████?                               | 148/302 [07:04<02:12,  1.16it/s]
Examining locket:  52%|████████████████████████████████?                             | 158/302 [07:29<08:27,  3.53s/it]
Examining intel-openmp:  55%|███████████████████████████████                         | 165/302 [07:45<10:51,  4.75s/it]
Examining six:  59%|███████████████████████████████████████                          | 179/302 [07:54<01:39,  1.24it/s]
Examining rope:  65%|█████████████████████████████████████████?                      | 195/302 [08:23<01:30,  1.19it/s]
Examining h5py:  65%|██████████████████████████████████████████                      | 196/302 [08:23<01:09,  1.52it/s]
Examining numpy:  65%|█████████████████████████████████████████                      | 197/302 [08:33<04:48,  2.74s/it]
Examining yaml:  66%|██████████████████████████████████████████?                     | 199/302 [08:37<05:07,  2.99s/it]
Examining libarchive:  73%|██████████████████████████████████████████                | 219/302 [09:18<05:52,  4.24s/it]
Examining wrapt:  73%|█████████████████████████████████████████████?                 | 219/302 [09:18<05:52,  4.24s/it]
Examining pytest:  75%|██████████████████████████████████████████████?               | 225/302 [09:19<01:32,  1.20s/it]
Examining mkl:  77%|██████████████████████████████████████████████████?              | 233/302 [09:48<02:10,  1.90s/it]
Examining llvmlite:  78%|██████████████████████████████████████████████?             | 236/302 [09:48<01:29,  1.36s/it]
Examining pyreadline:  84%|█████████████████████████████████████████████████         | 253/302 [10:17<00:51,  1.05s/it]
Examining m2w64-gcc-libgfortran:  86%|████████████████████████████████████████?      | 260/302 [11:04<01:24,  2.02s/it]
Examining backports.weakref:  94%|███████████████████████████████████████████████?   | 284/302 [12:16<01:06,  3.70s/it]
Examining pep8:  96%|█████████████████████████████████████████████████████████████?  | 291/302 [12:23<00:18,  1.64s/it]
Examining autopep8:  98%|███████████████████████████████████████████████████████████ | 297/302 [12:24<00:02,  1.92it/s]
Examining conflict for jupyterlab_server conda-build jupyter _ipyw_jlab_nb_ext_conf notebook conda-verify jinja2 spyder
Examining conflict for spyder-kernels anaconda-navigator nltk jupyterlab_server tornado jupyter matplotlib-base _ipyw_j
Examining conflict for jupyterlab_server notebook anaconda-project conda-package-handling widgetsnbextension pip parami
Examining conflict for distributed conda watchdog anaconda-navigator bokeh yaml anaconda-client anaconda conda-build py
Examining conflict for conda anaconda-navigator bokeh nltk sphinx anaconda-client conda-build anaconda spyder pip anaco
Examining conflict for conda conda-package-handling anaconda conda-build python-libarchive-c conda-verify libarchive:
Examining conflict for pywinpty jupyter_core spyder-kernels _ipyw_jlab_nb_ext_conf notebook spyder nbformat xlwings ana
Examining conflict for distributed anaconda partd locket dask:  23%|████              | 69/302 [20:19<55:30, 14.29s/it]
Examining conflict for m2w64-gcc-libs-core blas pywinpty anaconda m2w64-gcc-libgfortran m2w64-libwinpthread-git m2w64-g
Examining conflict for m2w64-gcc-libs-core blas pywinpty m2w64-gmp anaconda m2w64-gcc-libgfortran msys2-conda-epoch m2w
Examining conflict for paramiko anaconda spyder:  26%|████████?                       | 78/302 [22:07<48:43, 13.05s/it]
Examining conflict for pyparsing pytest bokeh nltk matplotlib sphinx anaconda matplotlib-base seaborn scikit-image pip
Examining conflict for distributed bokeh nltk matplotlib anaconda seaborn scikit-image dask:  38%|?| 114/302 [30:24<56:
Examining conflict for mpmath anaconda sympy:  39%|█████████████?                    | 118/302 [31:27<49:55, 16.28s/it]
Examining conflict for sphinx anaconda sphinxcontrib-devhelp spyder numpydoc:  45%|? | 137/302 [34:49<28:55, 10.52s/it]
Examining conflict for nltk matplotlib-base numpy h5py dask pywavelets astropy statsmodels anaconda pytables scikit-ima
Examining conflict for attrs hypothesis prometheus_client pytest:  56%|███████?      | 170/302 [43:22<33:32, 15.24s/it]
Examining conflict for importlib_metadata keyring pytest contextlib2 anaconda pluggy conda-build path path.py jsonschem
Examining conflict for importlib_metadata zipp:  59%|██████████████████?             | 178/302 [43:52<07:51,  3.80s/it]
Examining conflict for pywinpty anaconda terminado notebook:  60%|███████████?       | 182/302 [44:30<17:20,  8.67s/it]
Examining conflict for intervaltree anaconda spyder:  63%|████████████████?          | 189/302 [45:44<20:27, 10.87s/it]
Examining conflict for anaconda glob2 conda-build:  64%|██████████████████?          | 192/302 [46:19<20:48, 11.35s/it]
Examining conflict for python-libarchive-c libarchive conda-build:  65%|████████?    | 195/302 [46:32<07:13,  4.05s/it]
Examining conflict for bokeh nltk matplotlib anaconda matplotlib-base seaborn scikit-image:  73%|?| 220/302 [51:01<17:0
Examining conflict for zeromq spyder-kernels pyzmq anaconda spyder notebook jupyter_client:  77%|?| 232/302 [53:35<15:3
Examining conflict for pytables numexpr anaconda:  79%|███████████████████████?      | 238/302 [54:45<10:22,  9.73s/it]
Examining conflict for libcurl curl pycurl anaconda:  80%|██████████████████████     | 241/302 [55:08<11:16, 11.08s/it]
Examining conflict for pycparser gevent cffi anaconda cryptography pynacl bcrypt:  81%|?| 244/302 [55:43<11:01, 11.41s/
Examining conflict for python-language-server pylint anaconda astroid spyder:  94%|?| 285/302 [1:02:03<02:27,  8.67s/it
Examining conflict for anaconda astroid pylint:  94%|████████████████████████████? | 285/302 [1:02:15<02:27,  8.67s/it]
failed

# >>>>>>>>>>>>>>>>>>>>>> ERROR REPORT <<<<<<<<<<<<<<<<<<<<<<

    Traceback (most recent call last):
      File "C:\ProgramData\Anaconda3\lib\site-packages\conda\cli\install.py", line 265, in install
        should_retry_solve=(_should_retry_unfrozen or repodata_fn != repodata_fns[-1]),
      File "C:\ProgramData\Anaconda3\lib\site-packages\conda\core\solve.py", line 117, in solve_for_transaction
        should_retry_solve)
      File "C:\ProgramData\Anaconda3\lib\site-packages\conda\core\solve.py", line 158, in solve_for_diff
        force_remove, should_retry_solve)
      File "C:\ProgramData\Anaconda3\lib\site-packages\conda\core\solve.py", line 281, in solve_final_state
        ssc = self._run_sat(ssc)
      File "C:\ProgramData\Anaconda3\lib\site-packages\conda\common\io.py", line 88, in decorated
        return f(*args, **kwds)
      File "C:\ProgramData\Anaconda3\lib\site-packages\conda\core\solve.py", line 808, in _run_sat
        should_retry_solve=ssc.should_retry_solve
      File "C:\ProgramData\Anaconda3\lib\site-packages\conda\common\io.py", line 88, in decorated
        return f(*args, **kwds)
      File "C:\ProgramData\Anaconda3\lib\site-packages\conda\resolve.py", line 1316, in solve
        raise UnsatisfiableError({})
    conda.exceptions.UnsatisfiableError:
    Did not find conflicting dependencies. If you would like to know which
    packages conflict ensure that you have enabled unsatisfiable hints.

    conda config --set unsatisfiable_hints True


    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
      File "C:\ProgramData\Anaconda3\lib\site-packages\conda\exceptions.py", line 1079, in __call__
        return func(*args, **kwargs)
      File "C:\ProgramData\Anaconda3\lib\site-packages\conda\cli\main.py", line 84, in _main
        exit_code = do_call(args, p)
      File "C:\ProgramData\Anaconda3\lib\site-packages\conda\cli\conda_argparse.py", line 82, in do_call
        return getattr(module, func_name)(args, parser)
      File "C:\ProgramData\Anaconda3\lib\site-packages\conda\cli\main_install.py", line 20, in execute
        install(args, parser, 'install')
      File "C:\ProgramData\Anaconda3\lib\site-packages\conda\cli\install.py", line 299, in install
        should_retry_solve=(repodata_fn != repodata_fns[-1]),
      File "C:\ProgramData\Anaconda3\lib\site-packages\conda\core\solve.py", line 117, in solve_for_transaction
        should_retry_solve)
      File "C:\ProgramData\Anaconda3\lib\site-packages\conda\core\solve.py", line 158, in solve_for_diff
        force_remove, should_retry_solve)
      File "C:\ProgramData\Anaconda3\lib\site-packages\conda\core\solve.py", line 281, in solve_final_state
        ssc = self._run_sat(ssc)
      File "C:\ProgramData\Anaconda3\lib\site-packages\conda\common\io.py", line 88, in decorated
        return f(*args, **kwds)
      File "C:\ProgramData\Anaconda3\lib\site-packages\conda\core\solve.py", line 808, in _run_sat
        should_retry_solve=ssc.should_retry_solve
      File "C:\ProgramData\Anaconda3\lib\site-packages\conda\common\io.py", line 88, in decorated
        return f(*args, **kwds)
      File "C:\ProgramData\Anaconda3\lib\site-packages\conda\resolve.py", line 1318, in solve
        self.find_conflicts(specs, specs_to_add, history_specs)
      File "C:\ProgramData\Anaconda3\lib\site-packages\conda\resolve.py", line 347, in find_conflicts
        bad_deps = self.build_conflict_map(specs, specs_to_add, history_specs)
      File "C:\ProgramData\Anaconda3\lib\site-packages\conda\resolve.py", line 507, in build_conflict_map
        root, search_node, dep_graph, num_occurances)
      File "C:\ProgramData\Anaconda3\lib\site-packages\conda\resolve.py", line 369, in breadth_first_search_for_dep_gra
h
        last_spec = MatchSpec.union((path[-1], target_paths[-1][-1]))[0]
      File "C:\ProgramData\Anaconda3\lib\site-packages\conda\models\match_spec.py", line 481, in union
        return cls.merge(match_specs, union=True)
      File "C:\ProgramData\Anaconda3\lib\site-packages\conda\models\match_spec.py", line 475, in merge
        reduce(lambda x, y: x._merge(y, union), group) if len(group) > 1 else group[0]
      File "C:\ProgramData\Anaconda3\lib\site-packages\conda\models\match_spec.py", line 475, in <lambda>
        reduce(lambda x, y: x._merge(y, union), group) if len(group) > 1 else group[0]
      File "C:\ProgramData\Anaconda3\lib\site-packages\conda\models\match_spec.py", line 502, in _merge
        final = this_component.union(that_component)
      File "C:\ProgramData\Anaconda3\lib\site-packages\conda\models\match_spec.py", line 764, in union
        return '|'.join(options)
    TypeError: sequence item 0: expected str instance, Channel found
Någon aning vad det betyder, eller hur man löser det?

Goliat

Vad har du för operativsystem inklusive bit (32/64)?

Använder du cmd eller PowerShell?

Detta ska vi lösa. :)

Daniel Hofverberg

Jag använde PowerShell nu, men CMD första gången jag provade - samma effekt. Det här var på Windows 7 64-bitars.

Jag ska prova på min laptop också, som kör Windows 10, för att se om det blir någon skillnad.

Goliat

Citat från: Daniel Hofverberg skrivet 19 mars 2020 kl. 10:35:10
Jag använde PowerShell nu, men CMD första gången jag provade - samma effekt. Det här var på Windows 7 64-bitars.

Jag ska prova på min laptop också, som kör Windows 10, för att se om det blir någon skillnad.

Ibland kan man behöva starta om datorn efter installation då det är något skript som måste uppdateras och inte gör det före datorn startats om.

Ska felsöka efter helgen. Får snart besök. :)

Daniel Hofverberg

Jag har nu istället testat i Ubuntu Linux under Windows 10, eller rättare sagt den något begränsade version av Linux (ingen grafisk miljö) som "ingår" i Windows 10, och där var det inga problem att få Spleeter att fungera. Jag behövde inte ens installera Anaconda, utan eftersom Python redan ingår i Linux räckte med det att använda gamla goda PIP för att direkt installera allt som behövdes. :)

Inte supersnabbt dock, men jag ska testa en del och återkommer med mina slutsatser.

Goliat

Va skönt det löste sig. Täntke rpecis sätta mig och felsöka problemet. :)

Btw, PM Daniel

Daniel Hofverberg

Jag hade i och för sig föredragit att använda stationära datorn, som är lite mer kraftfull, för det här ändamålet; men det här funkar det också.

Jag har nu använt Spleeter på de första 5 minuterna av det ursprungliga From All of Us To All of You från 1960 (och förmodligen 1958), och så här blev resultatet:

https://youtu.be/ebksLERo1SY

Som ni hör ändrar musiken karaktär, blir tystare och byter delvis tonart när röster och/eller sång tagits bort gentemot vid instrumentala partier; plus lite biljud och att det finns kvar någon liten rest av någon röst här och var. Men överlag inte så tokigt, och kan duga med nya röster över.

Det skulle förmodligen inte duga för sången "From All of Us To All of You" (med Benjamin Syrsa), där musiken förändrats för mycket gentemot originalet, men nu har vi ju dessbättre inga planer på att göra det då vi förstås kommer använda den befintliga dubben från Benjamin Syrsas jul för de inslag som fanns med där.

Oscar Isaksson

Citat från: Daniel Hofverberg skrivet 22 mars 2020 kl. 13:53:54
Jag hade i och för sig föredragit att använda stationära datorn, som är lite mer kraftfull, för det här ändamålet; men det här funkar det också.

Jag har nu använt Spleeter på de första 5 minuterna av det ursprungliga From All of Us To All of You från 1960 (och förmodligen 1958), och så här blev resultatet:

https://youtu.be/ebksLERo1SY

Som ni hör ändrar musiken karaktär, blir tystare och byter delvis tonart när röster och/eller sång tagits bort gentemot vid instrumentala partier; plus lite biljud och att det finns kvar någon liten rest av någon röst här och var. Men överlag inte så tokigt, och kan duga med nya röster över.

Det skulle förmodligen inte duga för sången "From All of Us To All of You" (med Benjamin Syrsa), där musiken förändrats för mycket gentemot originalet, men nu har vi ju dessbättre inga planer på att göra det då vi förstås kommer använda den befintliga dubben från Benjamin Syrsas jul för de inslag som fanns med där.


Det låter väldigt bra och går absolut att fylla ut med dubb men det jag har problem med är att det är underliga nivåskillnader i ljudet.

Daniel Hofverberg

Samma här - det verkar som att så fort det finns dialog och/eller sång över bakgrundsmusiken, så sänker Spleeter volymen avsevärt på bakgrundsmusiken... :( Och när det inte finns dialog eller sång över, så återgår bakgrundsmusiken till sin riktiga volym igen.

Om det inte finns någon inställning i Spleeter som kan avhjälpa det, så måste vi försöka korrigera det manuellt; för det duger ju verkligen inte.

Goliat

Citat från: Daniel Hofverberg skrivet 22 mars 2020 kl. 15:51:17
Samma här - det verkar som att så fort det finns dialog och/eller sång över bakgrundsmusiken, så sänker Spleeter volymen avsevärt på bakgrundsmusiken... :( Och när det inte finns dialog eller sång över, så återgår bakgrundsmusiken till sin riktiga volym igen.

Om det inte finns någon inställning i Spleeter som kan avhjälpa det, så måste vi försöka korrigera det manuellt; för det duger ju verkligen inte.

Säger som innan kompressor. 😀 Är ett vst-plugin. Tror den funkar i audacity också.

https://www.kvraudio.com/product/blockfish_by_digitalfishphones

Eller

http://www.vst4free.com/free_vst.php?plugin=DC1A&id=1681

Kan göra jobbet. Man får leka lite. Skulle sänka attack och höja den andra något. :)

Goliat

Nu ska vi se. Starta powershell eller cmd som admin, gå till mappen du vill ha som arbetarmapp. Det har dessutom kommit en ny spleeter med några buggfixar.

Testa köra denna igen:

conda install -c conda-forge spleeter

Om det inte fungerar, testa starta Anaconda terminalen och gå till mappen du vill ha spleeter installerat. Tänk på att det helst inte ska vara i program-mappen då den behöver administrationsgodkännande varje gång och kan ställa till det.

Sedan:

git clone https://github.com/Deezer/spleeter
python -m venv spleeterenv
cd spleeter
pip install -r requirements.txt