by Anonymous » 01 Feb 2025, 07:41
Als selbstlernendes Projekt kann ich eine App entwickelt, in der ich den Inhalt von kurzen Audiodateien mithilfe eines Spektrogramms und eines Media-Players analysieren kann. Die Dateien werden mit Librosa geladen und haben unterschiedliche Formate (hauptsächlich .mp3 , .wav , .ogg ). Für jede Datei extrahiere ich nur 10 Sekunden Audio, die ich dann in Bytes transformiere und als WAV -Datei/Objekt schreibe, wie hier gezeigt. Dies erfolgt aus einer externen Vorverarbeitungsfunktion. . Ich habe mich auch diesen Beitrag angesehen, um herauszufinden, was schief gelaufen ist, aber ich kann dies nicht zum Laufen bringen. So sieht der Code aus: < /p>
Code: Select all
def load_spectro(self, item):
... formatting file path with item ...
spectro, audio = prepare_audiofile(this_file)
... some spectrogram display functions ...
# Prepare the audio clip
buf = QBuffer()
buf.setData(audio.getvalue())
buf.open(QIODevice.OpenModeFlag.ReadOnly)
audioOutput = QAudioOutput()
self.player.setAudioOutput(audioOutput)
self.player.setSourceDevice(buf) -> crashes here
< /code>
Ich entwickle mich mit VSCODE 1.96.4 unter Windows 11 und pyqt6 == 6.8.0. Bevor jemand vorschlägt, diese_file
als Qurl in setSourcedevice () zu verwenden, muss man wissen/daran denken, dass das Format .ogg in Windows Media Player nicht offiziell unterstützt wird. Das ist der Hauptgrund, warum ich den Pufferweg durchgehen muss.
Als selbstlernendes Projekt kann ich eine App entwickelt, in der ich den Inhalt von kurzen Audiodateien mithilfe eines Spektrogramms und eines Media-Players analysieren kann. Die Dateien werden mit Librosa geladen und haben unterschiedliche Formate (hauptsächlich .mp3 , .wav , .ogg ). Für jede Datei extrahiere ich nur 10 Sekunden Audio, die ich dann in Bytes transformiere und als WAV -Datei/Objekt schreibe, wie hier gezeigt. Dies erfolgt aus einer externen Vorverarbeitungsfunktion. . Ich habe mich auch diesen Beitrag angesehen, um herauszufinden, was schief gelaufen ist, aber ich kann dies nicht zum Laufen bringen. So sieht der Code aus: < /p>
[code]def load_spectro(self, item):
... formatting file path with item ...
spectro, audio = prepare_audiofile(this_file)
... some spectrogram display functions ...
# Prepare the audio clip
buf = QBuffer()
buf.setData(audio.getvalue())
buf.open(QIODevice.OpenModeFlag.ReadOnly)
audioOutput = QAudioOutput()
self.player.setAudioOutput(audioOutput)
self.player.setSourceDevice(buf) -> crashes here
< /code>
Ich entwickle mich mit VSCODE 1.96.4 unter Windows 11 und pyqt6 == 6.8.0. Bevor jemand vorschlägt, diese_file [/code] als Qurl in setSourcedevice () zu verwenden, muss man wissen/daran denken, dass das Format .ogg in Windows Media Player nicht offiziell unterstützt wird. Das ist der Hauptgrund, warum ich den Pufferweg durchgehen muss.