Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Temp file not found when running GTTSExample #41

Open
azampa opened this issue Mar 19, 2023 · 6 comments
Open

Temp file not found when running GTTSExample #41

azampa opened this issue Mar 19, 2023 · 6 comments
Assignees
Labels
bug Something isn't working

Comments

@azampa
Copy link

azampa commented Mar 19, 2023

Description of bug / unexpected behavior

After installing manim-voiceover I checked installation with gtts-example.py running

manim -pql gtts-example.py --disable_caching GTTSExample

but obtained an error saying that the file GTTSExample_temp.mp4 has not been found.
The voiceovers and the video get created, but the video has no voiceover

Expected behavior

Manim should produce the video with a voiceover and should report no errors. Indeed, if I remove the manim-voiceover stuff from the python file, using a run_time of 2 seconds, all works smoothly

How to reproduce the issue

Code for reproducing the problem

See gtts-example.py distributed file

Additional media files

Images/GIFs

Logs

Terminal output
Manim Community v0.17.2

[03/19/23 17:32:19] INFO     Caching disabled.                                                     cairo_renderer.py:68
                    DEBUG    List of the first few animation hashes of the scene:                  cairo_renderer.py:87
                             ['uncached_00000']
                    INFO     Animation 0 : Partial movie file written in                       scene_file_writer.py:527
                             'C:\Users\ale\Python\media\videos\gtts-example\480p15\partial_mov
                             ie_files\GTTSExample\uncached_00000.mp4'
[03/19/23 17:32:20] INFO     Caching disabled.                                                     cairo_renderer.py:68
                    DEBUG    List of the first few animation hashes of the scene:                  cairo_renderer.py:87
                             ['uncached_00000', 'uncached_00001']
                    INFO     Animation 1 : Partial movie file written in                       scene_file_writer.py:527
                             'C:\Users\ale\Python\media\videos\gtts-example\480p15\partial_mov
                             ie_files\GTTSExample\uncached_00001.mp4'
                    INFO     Caching disabled.                                                     cairo_renderer.py:68
                    DEBUG    List of the first few animation hashes of the scene:                  cairo_renderer.py:87
                             ['uncached_00000', 'uncached_00001', 'uncached_00002']
[03/19/23 17:32:21] INFO     Animation 2 : Partial movie file written in                       scene_file_writer.py:527
                             'C:\Users\ale\Python\media\videos\gtts-example\480p15\partial_mov
                             ie_files\GTTSExample\uncached_00002.mp4'
                    INFO     Caching disabled.                                                     cairo_renderer.py:68
                    DEBUG    List of the first few animation hashes of the scene:                  cairo_renderer.py:87
                             ['uncached_00000', 'uncached_00001', 'uncached_00002',
                             'uncached_00003']
                    INFO     Animation 3 : Partial movie file written in                       scene_file_writer.py:527
                             'C:\Users\ale\Python\media\videos\gtts-example\480p15\partial_mov
                             ie_files\GTTSExample\uncached_00003.mp4'
                    DEBUG    Animation with empty mobject                                              animation.py:174
                    INFO     Caching disabled.                                                     cairo_renderer.py:68
                    DEBUG    List of the first few animation hashes of the scene:                  cairo_renderer.py:87
                             ['uncached_00000', 'uncached_00001', 'uncached_00002',
                             'uncached_00003', 'uncached_00004']
[03/19/23 17:32:22] INFO     Animation 4 : Partial movie file written in                       scene_file_writer.py:527
                             'C:\Users\ale\Python\media\videos\gtts-example\480p15\partial_mov
                             ie_files\GTTSExample\uncached_00004.mp4'
                    DEBUG    Animation with empty mobject                                              animation.py:174
                    INFO     Caching disabled.                                                     cairo_renderer.py:68
                    DEBUG    List of the first few animation hashes of the scene:                  cairo_renderer.py:87
                             ['uncached_00000', 'uncached_00001', 'uncached_00002',
                             'uncached_00003', 'uncached_00004']
                    INFO     Animation 5 : Partial movie file written in                       scene_file_writer.py:527
                             'C:\Users\ale\Python\media\videos\gtts-example\480p15\partial_mov
                             ie_files\GTTSExample\uncached_00005.mp4'
                    INFO     Combining to Movie file.                                          scene_file_writer.py:617
                    DEBUG    Partial movie files to combine (6 files):                         scene_file_writer.py:561
                             ['C:\\Users\\ale\\Python\\media\\videos\\gtts-example\\480p15\\pa
                             rtial_movie_files\\GTTSExample\\uncached_00000.mp4',
                             'C:\\Users\\ale\\Python\\media\\videos\\gtts-example\\480p15\\par
                             tial_movie_files\\GTTSExample\\uncached_00001.mp4',
                             'C:\\Users\\ale\\Python\\media\\videos\\gtts-example\\480p15\\par
                             tial_movie_files\\GTTSExample\\uncached_00002.mp4',
                             'C:\\Users\\ale\\Python\\media\\videos\\gtts-example\\480p15\\par
                             tial_movie_files\\GTTSExample\\uncached_00003.mp4',
                             'C:\\Users\\ale\\Python\\media\\videos\\gtts-example\\480p15\\par
                             tial_movie_files\\GTTSExample\\uncached_00004.mp4']
[mp3 @ 0000022C2CC8FE00] Failed to read frame size: Could not seek to 1026.
C:\Users\ale\Python\media\videos\gtts-example\480p15\GTTSExample.wav: Invalid argument
┌─────────────────────────────── Traceback (most recent call last) ────────────────────────────────┐
│ C:\Users\ale\anaconda3\envs\my-manim-environment\lib\shutil.py:816 in move                       │
│                                                                                                  │
│    813 │   │   if os.path.exists(real_dst):                                                      │
│    814 │   │   │   raise Error("Destination path '%s' already exists" % real_dst)                │
│    815 │   try:                                                                                  │
│ >  816 │   │   os.rename(src, real_dst)                                                          │
│    817 │   except OSError:                                                                       │
│    818 │   │   if os.path.islink(src):                                                           │
│    819 │   │   │   linkto = os.readlink(src)                                                     │
└──────────────────────────────────────────────────────────────────────────────────────────────────┘
FileNotFoundError: [WinError 2] The system cannot find the file specified:
'C:\\Users\\ale\\Python\\media\\videos\\gtts-example\\480p15\\GTTSExample_temp.mp4' ->
'C:\\Users\\ale\\Python\\media\\videos\\gtts-example\\480p15\\GTTSExample.mp4'

During handling of the above exception, another exception occurred:

┌─────────────────────────────── Traceback (most recent call last) ────────────────────────────────┐
│ C:\Users\ale\anaconda3\envs\my-manim-environment\lib\site-packages\manim\cli\render\commands.py: │
│ 115 in render                                                                                    │
│                                                                                                  │
│   112 │   │   │   try:                                                                           │
│   113 │   │   │   │   with tempconfig({}):                                                       │
│   114 │   │   │   │   │   scene = SceneClass()                                                   │
│ > 115 │   │   │   │   │   scene.render()                                                         │
│   116 │   │   │   except Exception:                                                              │
│   117 │   │   │   │   error_console.print_exception()                                            │
│   118 │   │   │   │   sys.exit(1)                                                                │
│                                                                                                  │
│ C:\Users\ale\anaconda3\envs\my-manim-environment\lib\site-packages\manim\scene\scene.py:233 in   │
│ render                                                                                           │
│                                                                                                  │
│    230 │   │   │   return True                                                                   │
│    231 │   │   self.tear_down()                                                                  │
│    232 │   │   # We have to reset these settings in case of multiple renders.                    │
│ >  233 │   │   self.renderer.scene_finished(self)                                                │
│    234 │   │                                                                                     │
│    235 │   │   # Show info only if animations are rendered or to get image                       │
│    236 │   │   if (                                                                              │
│                                                                                                  │
│ C:\Users\ale\anaconda3\envs\my-manim-environment\lib\site-packages\manim\renderer\cairo_renderer │
│ .py:259 in scene_finished                                                                        │
│                                                                                                  │
│   256 │   def scene_finished(self, scene):                                                       │
│   257 │   │   # If no animations in scene, render an image instead                               │
│   258 │   │   if self.num_plays:                                                                 │
│ > 259 │   │   │   self.file_writer.finish()                                                      │
│   260 │   │   elif config.write_to_movie:                                                        │
│   261 │   │   │   config.save_last_frame = True                                                  │
│   262 │   │   │   config.write_to_movie = False                                                  │
│                                                                                                  │
│ C:\Users\ale\anaconda3\envs\my-manim-environment\lib\site-packages\manim\scene\scene_file_writer │
│ .py:457 in finish                                                                                │
│                                                                                                  │
│   454 │   │   if write_to_movie():                                                               │
│   455 │   │   │   if hasattr(self, "writing_process"):                                           │
│   456 │   │   │   │   self.writing_process.terminate()                                           │
│ > 457 │   │   │   self.combine_to_movie()                                                        │
│   458 │   │   │   if config.save_sections:                                                       │
│   459 │   │   │   │   self.combine_to_section_videos()                                           │
│   460 │   │   │   if config["flush_cache"]:                                                      │
│                                                                                                  │
│ C:\Users\ale\anaconda3\envs\my-manim-environment\lib\site-packages\manim\scene\scene_file_writer │
│ .py:664 in combine_to_movie                                                                      │
│                                                                                                  │
│   661 │   │   │   │   str(temp_file_path),                                                       │
│   662 │   │   │   ]                                                                              │
│   663 │   │   │   subprocess.call(commands)                                                      │
│ > 664 │   │   │   shutil.move(str(temp_file_path), str(movie_file_path))                         │
│   665 │   │   │   sound_file_path.unlink()                                                       │
│   666 │   │                                                                                      │
│   667 │   │   self.print_file_ready_message(str(movie_file_path))                                │
│                                                                                                  │
│ C:\Users\ale\anaconda3\envs\my-manim-environment\lib\shutil.py:836 in move                       │
│                                                                                                  │
│    833 │   │   │   │   │    symlinks=True)                                                       │
│    834 │   │   │   rmtree(src)                                                                   │
│    835 │   │   else:                                                                             │
│ >  836 │   │   │   copy_function(src, real_dst)                                                  │
│    837 │   │   │   os.unlink(src)                                                                │
│    838 │   return real_dst                                                                       │
│    839                                                                                           │
│                                                                                                  │
│ C:\Users\ale\anaconda3\envs\my-manim-environment\lib\shutil.py:434 in copy2                      │
│                                                                                                  │
│    431 │   """                                                                                   │
│    432 │   if os.path.isdir(dst):                                                                │
│    433 │   │   dst = os.path.join(dst, os.path.basename(src))                                    │
│ >  434 │   copyfile(src, dst, follow_symlinks=follow_symlinks)                                   │
│    435 │   copystat(src, dst, follow_symlinks=follow_symlinks)                                   │
│    436 │   return dst                                                                            │
│    437                                                                                           │
│                                                                                                  │
│ C:\Users\ale\anaconda3\envs\my-manim-environment\lib\shutil.py:254 in copyfile                   │
│                                                                                                  │
│    251 │   if not follow_symlinks and _islink(src):                                              │
│    252 │   │   os.symlink(os.readlink(src), dst)                                                 │
│    253 │   else:                                                                                 │
│ >  254 │   │   with open(src, 'rb') as fsrc:                                                     │
│    255 │   │   │   try:                                                                          │
│    256 │   │   │   │   with open(dst, 'wb') as fdst:                                             │
│    257 │   │   │   │   │   # macOS                                                               │
└──────────────────────────────────────────────────────────────────────────────────────────────────┘
FileNotFoundError: [Errno 2] No such file or directory:
'C:\\Users\\ale\\Python\\media\\videos\\gtts-example\\480p15\\GTTSExample_temp.mp4'

System specifications

System Details
  • OS (with version, e.g., Windows 10 v2004 or macOS 10.15 (Catalina)): Windows 10 Pro version 22H2 build 19045.2728
  • RAM: 8 GB
  • Python version (python/py/python3 --version): Python 3.10.9
  • Installed modules (provide output from pip list):
Package                        Version
------------------------------ -----------
alabaster                      0.7.13
arrow                          1.2.3
astroid                        2.15.0
asttokens                      2.2.1
atomicwrites                   1.4.1
attrs                          22.2.0
autopep8                       1.6.0
azure-cognitiveservices-speech 1.26.0
Babel                          2.12.1
backcall                       0.2.0
backports.functools-lru-cache  1.6.4
bcrypt                         3.2.2
beautifulsoup4                 4.11.2
binaryornot                    0.4.4
black                          23.1.0
bleach                         6.0.0
brotlipy                       0.7.0
CacheControl                   0.12.11
certifi                        2022.12.7
cffi                           1.15.1
chardet                        5.1.0
charset-normalizer             2.1.1
cleo                           2.0.1
click                          8.1.3
click-default-group            1.2.2
cloudpickle                    2.2.1
cloup                          0.13.1
colorama                       0.4.6
colour                         0.1.5
comm                           0.1.2
comtypes                       1.1.14
cookiecutter                   2.1.1
crashtest                      0.4.1
cryptography                   39.0.2
cycler                         0.11.0
Cython                         0.29.33
dataclasses                    0.8
debugpy                        1.6.6
decorator                      5.1.1
deepl                          1.14.0
defusedxml                     0.7.1
diff-match-patch               20200713
dill                           0.3.6
distlib                        0.3.6
docstring-to-markdown          0.11
docutils                       0.19
dulwich                        0.20.50
entrypoints                    0.4
executing                      1.2.0
fastjsonschema                 2.16.3
filelock                       3.10.0
flake8                         6.0.0
fonttools                      4.39.2
future                         0.18.3
glcontext                      2.3.7
gTTS                           2.3.1
html5lib                       1.1
humanhash3                     0.0.6
idna                           3.4
imagesize                      1.4.1
importlib-metadata             6.1.0
importlib-resources            5.12.0
inflection                     0.5.1
intervaltree                   3.0.2
ipykernel                      6.21.3
ipython                        8.11.0
ipython-genutils               0.2.0
isort                          5.12.0
isosurfaces                    0.1.0
jaraco.classes                 3.2.3
jedi                           0.18.2
jellyfish                      0.9.0
Jinja2                         3.1.2
jinja2-time                    0.2.0
jsonschema                     4.17.3
jupyter_client                 7.4.9
jupyter_core                   5.3.0
jupyterlab-pygments            0.2.2
keyring                        23.13.1
kiwisolver                     1.4.4
lazy-object-proxy              1.9.0
lockfile                       0.12.2
manim                          0.17.2
manim-voiceover                0.3.0
ManimPango                     0.4.3
mapbox-earcut                  1.0.0
markdown-it-py                 2.2.0
MarkupSafe                     2.1.2
matplotlib                     3.5.3
matplotlib-inline              0.1.6
mccabe                         0.7.0
mdurl                          0.1.0
mistune                        2.0.5
mkl-service                    2.4.0
moderngl                       5.8.1
moderngl-window                2.4.1
more-itertools                 9.1.0
mpmath                         1.3.0
msgpack                        1.0.5
multipledispatch               0.6.0
munkres                        1.1.4
mutagen                        1.46.0
mypy-extensions                1.0.0
nbclient                       0.7.2
nbconvert                      7.2.9
nbformat                       5.7.3
nest-asyncio                   1.5.6
networkx                       2.8.8
numpy                          1.24.2
numpydoc                       1.5.0
packaging                      23.0
pandas                         1.5.3
pandocfilters                  1.5.0
paramiko                       3.1.0
parso                          0.8.3
pathspec                       0.11.1
pexpect                        4.8.0
pickleshare                    0.7.5
Pillow                         9.4.0
pip                            23.0.1
pkginfo                        1.9.6
pkgutil_resolve_name           1.3.10
platformdirs                   2.6.2
playsound                      1.3.0
pluggy                         1.0.0
ply                            3.11
poetry                         1.3.1
poetry-core                    1.4.0
poetry-plugin-export           1.3.0
pooch                          1.7.0
prompt-toolkit                 3.0.38
psutil                         5.9.4
ptyprocess                     0.7.0
pure-eval                      0.2.2
PyAudio                        0.2.13
pycairo                        1.23.0
pycodestyle                    2.10.0
pycparser                      2.21
pydocstyle                     6.2.3
pydub                          0.25.1
pyflakes                       3.0.1
pyglet                         1.5.27
Pygments                       2.14.0
pylint                         2.17.0
pylint-venv                    3.0.1
pyls-spyder                    0.4.0
PyNaCl                         1.5.0
pynput                         1.7.6
pyOpenSSL                      23.0.0
pyparsing                      3.0.9
pypiwin32                      223
PyQt5                          5.15.7
PyQt5-sip                      12.11.0
PyQtWebEngine                  5.15.4
pyrr                           0.10.3
pyrsistent                     0.19.3
PySocks                        1.7.1
python-dateutil                2.8.2
python-dotenv                  0.21.1
python-lsp-black               1.2.1
python-lsp-jsonrpc             1.0.0
python-lsp-server              1.7.1
python-slugify                 8.0.1
pytoolconfig                   1.2.5
pyttsx3                        2.90
pytz                           2022.7.1
pywin32                        304
pywin32-ctypes                 0.2.0
PyYAML                         6.0
pyzmq                          25.0.1
QDarkStyle                     3.0.3
qstylizer                      0.2.2
QtAwesome                      1.2.3
qtconsole                      5.4.1
QtPy                           2.3.0
rapidfuzz                      2.13.7
requests                       2.28.2
requests-toolbelt              0.10.1
rich                           13.3.2
rope                           1.7.0
Rtree                          1.0.1
scipy                          1.10.1
screeninfo                     0.8.1
setuptools                     67.6.0
shellingham                    1.5.1
sip                            6.7.7
six                            1.16.0
skia-pathops                   0.7.4
snowballstemmer                2.2.0
sortedcontainers               2.4.0
soupsieve                      2.3.2.post1
sox                            1.4.1
Sphinx                         6.1.3
sphinxcontrib-applehelp        1.0.4
sphinxcontrib-devhelp          1.0.2
sphinxcontrib-htmlhelp         2.0.1
sphinxcontrib-jsmath           1.0.1
sphinxcontrib-qthelp           1.0.3
sphinxcontrib-serializinghtml  1.1.5
spyder                         5.4.2
spyder-kernels                 2.4.2
srt                            3.5.2
stack-data                     0.6.2
svgelements                    1.9.1
sympy                          1.11.1
text-unidecode                 1.3
textdistance                   4.5.0
three-merge                    0.1.1
tinycss2                       1.2.1
toml                           0.10.2
tomli                          2.0.1
tomlkit                        0.11.6
torch                          1.12.1
tornado                        6.2
tqdm                           4.65.0
traitlets                      5.9.0
trove-classifiers              2023.3.9
typing_extensions              4.5.0
ujson                          5.7.0
unicodedata2                   15.0.0
Unidecode                      1.3.6
urllib3                        1.26.15
virtualenv                     20.21.0
watchdog                       2.3.1
wcwidth                        0.2.6
webencodings                   0.5.1
whatthepatch                   1.0.4
wheel                          0.40.0
win-inet-pton                  1.1.0
wrapt                          1.15.0
yapf                           0.32.0
zipp                           3.15.0
LaTeX details
  • LaTeX distribution (e.g. TeX Live 2020):
  • Installed LaTeX packages:
FFMPEG

Output of ffmpeg -version:

ffmpeg version 5.1.2 Copyright (c) 2000-2022 the FFmpeg developers
built with clang version 15.0.7
configuration: --prefix=/d/bld/ffmpeg_1674566436592/_h_env/Library --cc=clang.exe --cxx=clang++.exe --nm=llvm-nm --ar=llvm-ar --disable-doc --disable-openssl --enable-demuxer=dash --enable-hardcoded-tables --enable-libfreetype --enable-libfontconfig --enable-libopenh264 --ld=lld-link --target-os=win64 --enable-cross-compile --toolchain=msvc --host-cc=clang.exe --extra-libs=ucrt.lib --extra-libs=vcruntime.lib --extra-libs=oldnames.lib --strip=llvm-strip --disable-stripping --host-extralibs= --enable-gpl --enable-libx264 --enable-libx265 --enable-libaom --enable-libsvtav1 --enable-libxml2 --enable-pic --enable-shared --disable-static --enable-version3 --enable-zlib --enable-libopus --pkg-config=/d/bld/ffmpeg_1674566436592/_build_env/Library/bin/pkg-config
libavutil      57. 28.100 / 57. 28.100
libavcodec     59. 37.100 / 59. 37.100
libavformat    59. 27.100 / 59. 27.100
libavdevice    59.  7.100 / 59.  7.100
libavfilter     8. 44.100 /  8. 44.100
libswscale      6.  7.100 /  6.  7.100
libswresample   4.  7.100 /  4.  7.100
libpostproc    56.  6.100 / 56.  6.100

Additional comments

@azampa azampa added the bug Something isn't working label Mar 19, 2023
@azampa azampa changed the title Temp file not found when running GTTSexample Temp file not found when running GTTSExample Mar 19, 2023
@azampa
Copy link
Author

azampa commented Mar 21, 2023

As you can see in the log, file GTTSExample.wav has problems: I have attached it.
It seems that the origin of the issue lies in this file...

GTTSExample.zip

@OsamaElshimy1973
Copy link

Copy all file in the Script Folder under your Manimd Enviromint Directory (....\envs..\scripts ) and past it to the same directory of your gtts-example.py and it will be resolved till they find a solution to this bug

@yvvijay121
Copy link

I also have this issue, even after trying the solution that @OsamaElshimy1973 provided. Is there any progress on this issue?

@osolmaz
Copy link
Collaborator

osolmaz commented May 21, 2023

@azampa @yvvijay121 Like you said, the following lines are where the error begins:

[mp3 @ 0000022C2CC8FE00] Failed to read frame size: Could not seek to 1026.
C:\Users\ale\Python\media\videos\gtts-example\480p15\GTTSExample.wav: Invalid argument

The GTTSExample.wav you uploaded indeed does not contain any audio. That is probably a temporary file that is created before the audio is merged to the final video, since I don't see any .wav file after render is complete:

$ ls -alh media/videos/gtts-example/**/*

media/videos/gtts-example/480p15:
total 344
drwxr-xr-x  5 onur  staff   160B May 21 19:25 .
drwxr-xr-x  3 onur  staff    96B May 21 19:25 ..
-rw-r--r--@ 1 onur  staff   168K May 21 19:25 GTTSExample.mp4
-rw-r--r--  1 onur  staff   264B May 21 19:25 GTTSExample.srt
drwxr-xr-x  3 onur  staff    96B May 21 19:25 partial_movie_files

media/videos/gtts-example/480p15/partial_movie_files:
total 0
drwxr-xr-x  3 onur  staff    96B May 21 19:25 .
drwxr-xr-x  5 onur  staff   160B May 21 19:25 ..
drwxr-xr-x  9 onur  staff   288B May 21 19:25 GTTSExample

media/videos/gtts-example/480p15/partial_movie_files/GTTSExample:
total 112
drwxr-xr-x  9 onur  staff   288B May 21 19:25 .
drwxr-xr-x  3 onur  staff    96B May 21 19:25 ..
-rw-r--r--  1 onur  staff   822B May 21 19:25 partial_movie_file_list.txt
-rw-r--r--  1 onur  staff   6.2K May 21 19:25 uncached_00000.mp4
-rw-r--r--  1 onur  staff    11K May 21 19:25 uncached_00001.mp4
-rw-r--r--  1 onur  staff    17K May 21 19:25 uncached_00002.mp4
-rw-r--r--  1 onur  staff   2.8K May 21 19:25 uncached_00003.mp4
-rw-r--r--  1 onur  staff   2.0K May 21 19:25 uncached_00004.mp4
-rw-r--r--  1 onur  staff   2.2K May 21 19:25 uncached_00005.mp4

It is probably related to the logic here

https://github.com/ManimCommunity/manim/blob/cbf6726f89972580cbb64e117da56f643919857d/manim/scene/scene_file_writer.py#L626-L665

There might be something wrong with either

  • your ffmpeg installation,
  • or the voiceover files under /media/voiceovers

I can't replicate this locally, so can you maybe take a look at these two? You can also debug locally by inserting breakpoints with e.g. import ipdb; ipdb.set_trace() in relevant manim or manim-voiceover files.

@devRegion1
Copy link

devRegion1 commented Sep 25, 2023

The problem maybe due to this part in manim -> scene -> scene_file_writer.py file
self.audio_segment.export(sound_file_path, bitrate="312k")
In the above block, the 2nd parameter is not passed to "export" function call so it uses default "mp3" format to encode the output audio file with ".wav" suffix. You can try to change it as below:
self.audio_segment.export(sound_file_path, format="wav", "bitrate="312k")
It depends on your own package installation or other situations, here just for a suggestion you can try.

@melonux
Copy link

melonux commented Feb 14, 2024

@devRegion1 Yes. I have the same problem and solved by your method. Thank you very much.

  • The sound generated by GTTService is a MP3 file.
  • sound_file_path = movie_file_path.with_suffix(".wav") expects a WAV file.
  • self.audio_segment.export(sound_file_path, format="wav", "bitrate="312k") tries to extract sounds from the MP3 file and save to WAV file with WAV format.

I wonder if we can treat it as a bug and fix it in official package?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

6 participants