Variable Indefinida en Python

Estaba intentando crear un asistente personal básico, simplemente para aprender un poco más sobre el lenguaje Python (tengo 16 así que aún no he comnenzado con la programación en clases).

Y me he encontrado con un extraño error que me dice que una variable está indefinida dentro de una función, sin embargo, estoy bastante seguro de que la he declarado, y debería aceptarla.

Aquí os dejo mi código.

# Importar Librerías  import speech_recognition as sr # Reconocimiento de voz.  from gtts import gTTS # Conversión de texto a MP3. import playsound # Lectura de MP3.  # Declarar Variables  username = "" myName = "Vewi"  microphone = sr.Recognizer()  tts = "" audioNumber = 0 # Ésta es la variable declarada.  lang = "es-ES"  # Función Presentarse  def ImVewi():     audioText = ("Hola, soy " + myName + ". Mi trabajo será ayudarte. Para comunicarte conmigo, prueba a hablarle al micrófono. Ahora, te haré unas preguntas rápidas para poder mejorar tu experiencia.")     TextToSpeech(audioText)     ChangeUsername()  # Función Obtener Username  def ChangeUsername():     global audioText     with sr.Microphone() as source:         audioText = ("¿Cómo te llamas?")         TextToSpeech(audioText)         print("a")         audio = microphone.listen(source)         print("Listened")     try:         username = microphone.recognize_google(audio, language=lang)         audioText = ("Perfecto, ahora te llamaré " + username + ".")         TextToSpeech(audioText)     except sr.UnknownValueError:         audioText = ("Disculpa, no te he entendido. ¿Podrías repetirlo?")         TextToSpeech(audioText)         ChangeUsername()     except sr.RequestError:         audioText = ("Disculpa, se ha producido un error. ¿Podrías repetirlo?")         TextToSpeech(audioText)         ChangeUsername()  # Transformar Texto a Audio  def TextToSpeech(audioText): # Ésta es la función con el error.     audioNumber+=audioNumber # El error lo da en esta línea.     tts = gTTS(text=audioText, lang = lang)     tts.save("Audio/Speech"+str(audioNumber)+".mp3")     playsound.playsound("Audio/Speech"+str(audioNumber)+".mp3", True)  # Llamar Funciones  ImVewi() 

Debería crear un archivo MP3 llamado “Speech1.mp3” ya que no me deja por defecto sobreescribir los archivos anteriormente creados, por lo que no puede ser simplemente “Speech.mp3” o un nombre predefinido.

En la terminal me da este problema:

Undefined variable ‘audioNumber’ // Línea 58, columna 5

También me serviría si alguien supiese otra forma de hacer ésto, o de sobreescribir los archivos MP3 anteriormente creados.

He estado un buen rato intentándolo y no he sabido solucionarlo. Gracias de antemano.