Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  3 551
Hei
Noen som har text-to-speak fra (helst) OpenAI (eventuelt Google) oppe og kjører?
Jeg sliter med Python på min Macbook 14.2.1, uerfaren programmerer. Trenger hjelp til enten å få i gang eget oppsett - eller at noen bare kjører en ganske stor tekstmengde for meg og leverer som lydfil. Mot en viss godtgjørelse, selvsagt – etter avtale.
hva er oppgaven og hva er godtgjørelsen?
▼ ... over en uke senere ... ▼

Kode

pip install openai pygame

Kode

import openai
from pathlib import Path
import uuid
from datetime import datetime
import pygame


# Prompt the user for text to convert to speech
text_to_convert = input("Enter the text you want to convert to speech: ")

# Generate a unique filename using UUID and timestamp
unique_filename = f"{uuid.uuid4()}_{datetime.now().strftime('%Y-%m-%d_%H-%M-%S')}.mp3"
speech_file_path = Path.cwd() / unique_filename

# Initialize the OpenAI client
client = openai.OpenAI(api_key='sk-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')

# The voice and model you want to use for audio generation
voice_to_use = "alloy"  # Options: alloy, echo, fable, onyx, nova, shimmer
model_to_use = "tts-1"  # For standard quality and lower latency. Use "tts-1-hd" for higher quality

# Generating spoken audio from text
response = client.audio.speech.create(
  model=model_to_use,
  voice=voice_to_use,
  input=text_to_convert
)

# Streaming the response content to an mp3 file
response.stream_to_file(str(speech_file_path))

print(f"Audio file saved as {speech_file_path}")

# Initialize pygame mixer
pygame.mixer.init()

# Load the MP3 file
pygame.mixer.music.load(str(speech_file_path))

# Play the audio
pygame.mixer.music.play()

# Wait for the playback to finish
while pygame.mixer.music.get_busy():
    pygame.time.Clock().tick(10)

print("Playback finished.")
Bruker pygame her for å spille av mp3