Você pode usar glob e shutil para realizar sua tarefa.
Note que o WAV e o TXT diferenciam maiúsculas e minúsculas, portanto, é necessário alterá-lo ou adicionar algo para verificar os dois.
import os
import glob
import shutil
# Create a list of WAV files. If you put in txt directory, remove Folder1; otherwise, put full path.
wav_files = glob.glob('Folder1/**/*.WAV')
# Create a list of text files to move
txt_files = glob.glob('Folder1/*.TXT')
# Check OS for file separator since that is not provided
if os.name == 'nt':
separator = '\'
else:
separator = '/'
for txt in txt_files:
# [-1] takes the last part of the path
# .strip removes .TXT from the file name
txt_name = txt.split(separator)[-1].strip('.TXT')
for wav in wav_files:
wav_name = wav.split(separator)[-1].strip('.WAV')
wav_path = wav.strip(txt_name + '.WAV')
# Check if the wav_name and txt_name are the same.
# There is no check for case.
if wav_name == txt_name:
shutil.move(txt, wav_path)