Konwersja tekstu angielskiego z polskim na audio

Konwersja tekstu angielskiego z polskim na audio
SS
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 601
0

Hej,

wiecie moze jak przekonwertowac tekst/slowa po angielsku razem z polskimi na audio (mp3)?
Uzylem gTTS w pythonie i przekonwertowalo mi wszystko (lacznie z polskim tekstem) na audio po angielsku.

To jest tlumaczenie, wiec format jest np. taki:

  1. shrink - kurczyć, kurczyć się, zmaleć
    • Don't wash woollens in a washing machine, because they will shrink. (Nie pierz wełnianych rzeczy w pralce, bo się skurczą.)

Potem uzylem ponizszego kodu w celu zaznaczenia fragmentow po angielsku i po polsku:

Kopiuj
from gtts import gTTS
from pydub import AudioSegment

# Tekst do konwersji
text = [
    ("shrink", "en"),
    ("kurczyć, kurczyć się, zmaleć", "pl"),
    ("Don't wash woollens in a washing machine, because they will shrink.", "en"),
    ("Nie pierz wełnianych rzeczy w pralce, bo się skurczą.", "pl"),
    ("impart", "en"),
    ("dodawać, udzielać", "pl"),
    ("Basil imparts a delicious flavour to the sauce.", "en"),
    ("Bazylia nadaje temu sosowi wyśmienitego zapachu.", "pl"),
    ("burden", "en"),
    ("ciężar, brzemię, obciążenie", "pl"),
    ("The burden is on us to think of something else now.", "en"),
    ("Brzemię wymyślenia czegoś innego teraz spoczywa na nas.", "pl"),
    ("I have to carry this burden on my own.", "en"),
    ("Muszę sam nosić to brzemię.", "pl"),
    ("underpin", "en"),
    ("wspierać, podpierać, wzmacniać, podtrzymywać, popierać", "pl"),
]

# Konwertuj kazdy fragment tekstu na mowe i zapisz jako plik MP3
audio_segments = []
for i, (sentence, lang) in enumerate(text):
    tts = gTTS(sentence, lang=lang)
    filename = f"segment_{i}.mp3"
    tts.save(filename)
    audio_segments.append(AudioSegment.from_mp3(filename))

# Polacz wszystkie segmenty w jeden plik audio
combined = sum(audio_segments)
combined.export("output.mp3", format="mp3")

print("Plik MP3 zostal zapisany jako 'output.mp3'")

to pojawia mi sie blad:

Kopiuj
$ python convert_text_to_mp3.py
Traceback (most recent call last):
  File "C:\Users\ZZZ\AppData\Local\Programs\Python\Python313\Lib\site-packages\pydub\utils.py", line 14, in <module>
    import audioop
ModuleNotFoundError: No module named 'audioop'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\ZZZ\Desktop\convert_text_to_mp3.py", line 2, in <module>
    from pydub import AudioSegment
  File "C:\Users\ZZZ\AppData\Local\Programs\Python\Python313\Lib\site-packages\pydub\__init__.py", line 1, in <module>

    from .audio_segment import AudioSegment
  File "C:\Users\ZZZ\AppData\Local\Programs\Python\Python313\Lib\site-packages\pydub\audio_segment.py", line 11, in <module>
    from .utils import mediainfo_json, fsdecode
  File "C:\Users\ZZZ\AppData\Local\Programs\Python\Python313\Lib\site-packages\pydub\utils.py", line 16, in <module>
    import pyaudioop as audioop
ModuleNotFoundError: No module named 'pyaudioop'

Sprawdzalem biblioteki i niby wszystkie sa zainstalowane:

Kopiuj
$ pip install pyaudio
Requirement already satisfied: pyaudio in c:\users\ZZZ\appdata\local\programs\python\python313\lib\site-packages (0.2.14)

$ pip install --upgrade pydub
Requirement already satisfied: pydub in c:\users\ZZZ\appdata\local\programs\python\python313\lib\site-packages (0.25.1)

$ python convert_text_to_mp3.py
Traceback (most recent call last):
  File "C:\Users\ZZZ\AppData\Local\Programs\Python\Python313\Lib\site-packages\pydub\utils.py", line 14, in <module>
    import audioop
ModuleNotFoundError: No module named 'audioop'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\ZZZ\Desktop\convert_text_to_mp3.py", line 2, in <module>
    from pydub import AudioSegment
  File "C:\Users\ZZZ\AppData\Local\Programs\Python\Python313\Lib\site-packages\pydub\__init__.py", line 1, in <module>
    from .audio_segment import AudioSegment
  File "C:\Users\ZZZ\AppData\Local\Programs\Python\Python313\Lib\site-packages\pydub\audio_segment.py", line 11, in <module>
    from .utils import mediainfo_json, fsdecode
  File "C:\Users\ZZZ\AppData\Local\Programs\Python\Python313\Lib\site-packages\pydub\utils.py", line 16, in <module>
    import pyaudioop as audioop
ModuleNotFoundError: No module named 'pyaudioop'
UA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 4
0

Cześć,
używasz Pythona 3.13. Z tego co widzę, to moduł audiooop był w bibliotece standardowej do Pythona 3.12 i został usunięty (https://docs.python.org/3.13/library/audioop.html). Pewnie użycie jakiegoś wcześniejszego Pythona mogłoby pomóc.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.