1

In using pyttsx3 to produce mp3 audio files, it seems there's a problem that the mp3 file is not recognizable by pydub.

pyttsx3: text to speech package pydub: audio handling package

The error message says a lot of "Header missing".

The code is below.

What went wrong, and how can it be corrected?

import pyttsx3

engine = pyttsx3.init("sapi5")
engine.setProperty('rate', 130)        # number higher the faster
voices = engine.getProperty("voices")

engine.setProperty("voice", voices[0].id)

texts = "a quick sentence into mp3"

engine.save_to_file(texts, "C:\\TEM\\temp audio.mp3")
engine.runAndWait()
# the produced file plays no problem by media player in Windows.

# here to read the mp3 audio file produced
from pydub import AudioSegment

sound1 = AudioSegment.from_file(r"C:\\TEM\\temp audio.mp3", format="mp3") # error pops here

Error message is here:

Traceback (most recent call last):
  File "C:\My Documents\script.py", line 17, in <module>
    sound1 = AudioSegment.from_file(r"C:\\TEM\\temp audio.mp3", format="mp3")
  File "C:\Python38\lib\site-packages\pydub\audio_segment.py", line 773, in from_file
    raise CouldntDecodeError(
pydub.exceptions.CouldntDecodeError: Decoding failed. ffmpeg returned error code: 1
Output from ffmpeg/avlib:
ffmpeg version 2023-04-17-git-65e537b833-full_build-www.gyan.dev Copyright (c) 2000-2023 the FFmpeg developers
  built with gcc 12.2.0 (Rev10, Built by MSYS2 project)
  configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libaribb24 --enable-libaribcaption --enable-libdav1d --enable-libdavs2 --enable-libuavs3d --enable-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libaom --enable-libjxl --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-liblensfun --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libvpl --enable-libshaderc --enable-vulkan --enable-libplacebo --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libcodec2 --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint
  libavutil      58.  6.100 / 58.  6.100
  libavcodec     60.  9.100 / 60.  9.100
  libavformat    60.  4.101 / 60.  4.101
  libavdevice    60.  2.100 / 60.  2.100
  libavfilter     9.  5.100 /  9.  5.100
  libswscale      7.  2.100 /  7.  2.100
  libswresample   4. 11.100 /  4. 11.100
  libpostproc    57.  2.100 / 57.  2.100
[mp3float @ 000002788275f6c0] Header missing
    Last message repeated 31 times
[mp3 @ 00000278827328c0] Could not find codec parameters for stream 0 (Audio: mp3 (mp3float), 0 channels, fltp): unspecified frame size
Consider increasing the value for the 'analyzeduration' (0) and 'probesize' (5000000) options
Input #0, mp3, from 'C:\\TEM\\temp audio.mp3':
  Duration: N/A, start: 0.000000, bitrate: N/A
  Stream #0:0: Audio: mp3, 0 channels, fltp
Stream mapping:
  Stream #0:0 -> #0:0 (mp3 (mp3float) -> pcm_s16le (native))
Press [q] to stop, [?] for help
[mp3float @ 000002788277ba00] Header missing
Error while decoding stream #0:0: Invalid data found when processing input
[mp3float @ 000002788277ba00] Header missing
Error while decoding stream #0:0: Invalid data found when processing input
[mp3float @ 000002788277ba00] Header missing
Error while decoding stream #0:0: Invalid data found when processing input
[mp3float @ 000002788277ba00] Header missing
Error while decoding stream #0:0: Invalid data found when processing input
[mp3float @ 000002788277ba00] Header missing
Error while decoding stream #0:0: Invalid data found when processing input
[mp3float @ 000002788277ba00] Header missing
Error while decoding stream #0:0: Invalid data found when processing input
[mp3float @ 000002788277ba00] Header missing
Error while decoding stream #0:0: Invalid data found when processing input
[mp3float @ 000002788277ba00] Header missing
Error while decoding stream #0:0: Invalid data found when processing input
[mp3float @ 000002788277ba00] Header missing
Error while decoding stream #0:0: Invalid data found when processing input
[mp3float @ 000002788277ba00] Header missing
Error while decoding stream #0:0: Invalid data found when processing input
[mp3float @ 000002788277ba00] Header missing
Error while decoding stream #0:0: Invalid data found when processing input
[mp3float @ 000002788277ba00] Header missing
Error while decoding stream #0:0: Invalid data found when processing input
[mp3float @ 000002788277ba00] Header missing
Error while decoding stream #0:0: Invalid data found when processing input
[mp3float @ 000002788277ba00] Header missing
Error while decoding stream #0:0: Invalid data found when processing input
[mp3float @ 000002788277ba00] Header missing
Error while decoding stream #0:0: Invalid data found when processing input
[mp3float @ 000002788277ba00] Header missing
Error while decoding stream #0:0: Invalid data found when processing input
[mp3float @ 000002788277ba00] Header missing
Error while decoding stream #0:0: Invalid data found when processing input
[mp3float @ 000002788277ba00] Header missing
Error while decoding stream #0:0: Invalid data found when processing input
[mp3float @ 000002788277ba00] Header missing
Error while decoding stream #0:0: Invalid data found when processing input
[mp3float @ 000002788277ba00] Header missing
Error while decoding stream #0:0: Invalid data found when processing input
[mp3float @ 000002788277ba00] Header missing
Error while decoding stream #0:0: Invalid data found when processing input
[mp3float @ 000002788277ba00] Header missing
Error while decoding stream #0:0: Invalid data found when processing input
[mp3float @ 000002788277ba00] Header missing
Error while decoding stream #0:0: Invalid data found when processing input
[mp3float @ 000002788277ba00] Header missing
Error while decoding stream #0:0: Invalid data found when processing input
[mp3float @ 000002788277ba00] Header missing
Error while decoding stream #0:0: Invalid data found when processing input
[mp3float @ 000002788277ba00] Header missing
Error while decoding stream #0:0: Invalid data found when processing input
[mp3float @ 000002788277ba00] Header missing
Error while decoding stream #0:0: Invalid data found when processing input
[mp3float @ 000002788277ba00] Header missing
Error while decoding stream #0:0: Invalid data found when processing input
[mp3float @ 000002788277ba00] Header missing
Error while decoding stream #0:0: Invalid data found when processing input
[mp3float @ 000002788277ba00] Header missing
Error while decoding stream #0:0: Invalid data found when processing input
[mp3float @ 000002788277ba00] Header missing
Error while decoding stream #0:0: Invalid data found when processing input
[mp3float @ 000002788277ba00] Header missing
Error while decoding stream #0:0: Invalid data found when processing input
[graph_0_in_0_0 @ 000002788277a640] Value inf for parameter 'time_base' out of range [0 - 2.14748e+09]
    Last message repeated 1 times
[graph_0_in_0_0 @ 000002788277a640] Error setting option time_base to value 1/0.
[graph_0_in_0_0 @ 000002788277a640] Error applying generic filter options.
Error reinitializing filters!
Error while filtering: Result too large
[aost#0:0/pcm_s16le @ 000002788277fc00] Finishing stream without any data written to it.
[graph_0_in_0_0 @ 000002788277eb80] Value inf for parameter 'time_base' out of range [0 - 2.14748e+09]
    Last message repeated 1 times
[graph_0_in_0_0 @ 000002788277eb80] Error setting option time_base to value 1/0.
[graph_0_in_0_0 @ 000002788277eb80] Error applying generic filter options.
[aost#0:0/pcm_s16le @ 000002788277fc00] Error configuring filter graph
Conversion failed!
halfer
  • 19,824
  • 17
  • 99
  • 186
Mark K
  • 8,767
  • 14
  • 58
  • 118
  • Note that we prefer a technical style of writing here. We gently discourage greetings, hope-you-can-helps, thanks, advance thanks, notes of appreciation, regards, kind regards, signatures, please-can-you-helps, chatty material and abbreviated txtspk, pleading, how long you've been stuck, voting advice, meta commentary, etc. Just explain your problem, and show what you've tried, what you expected, and what actually happened. – halfer May 01 '23 at 10:02

0 Answers0