2016-04-28 3 views
0
zuzugreifen

Ich bin auf der Suche nach dem besten Weg, um eine große Menge von Daten (ein sehr großes Python-Wörterbuch) zu speichern, so dass es dann verwendet werden kann, wenn ein Python-Skript (app) ausgeführt wird. Ich habe im Grunde eine Shazam-ähnliche App entwickelt, die ein 15-Sekunden-Sample mit dem Mikrofon meines Macbooks aufnehmen kann und dann versuchen kann, in einer Datenbank (ein Dictionary von Diktaten, bei denen jeder Key einfach der Songname ist) zu erraten, welchem ​​Song er entspricht Lieder. Ich habe derzeit alle Funktionen geschrieben und in einem Python-Notebook getestet. Mein Ziel ist es, ein CLI-Skript oder möglicherweise eine einfache GUI zu erstellen, um den Aufnahme-Beispielteil auszuführen und den Namen des Rates auszugeben.Persistente Daten für Python App erstellen, um auf

Mein Problem: Erstellen der Datenbank (Wörterbuch) von 100 Songs (getan durch kombinatorische Hashing aber spielt keine Rolle) dauert eine lange Zeit (etwa 1 Stunde und eine Hälfte). Aus diesem Grund würde ich gerne in der Lage sein, dieses Wörterbuch irgendwie statisch innerhalb des Python-Skripts zu speichern, so dass es bei der Ausführung nur eine kurze Zeit dauert, um die Vermutung zu machen (dh es muss das Wörterbuch nicht erstellt werden). . Ich habe keine Ahnung, wie ich das anstellen soll.

Wenn Sie Tipps haben, welche GUI-Bibliothek ich für dieses Projekt verwenden soll, lassen Sie es mich bitte wissen. Nehmen Danke

+0

Der beste Weg ist es mit json oder Gurke in einer Datei zu speichern. –

+1

Vielleicht wäre eine tatsächliche Datenbank der Weg zu gehen. –

+0

Haben Sie die obigen Vorschläge ausprobiert? – trans1st0r

Antwort

0

einen Blick auf PyDejavu, die möglicherweise etwas Ähnliches, was Sie suchen

Vom PyDejavu Ort: -

Dejavu können aufgezeichnete Audio merken, indem Sie einmal auf es hören und Fingerabdrücken es. Dann versucht Dejavu durch Abspielen eines Songs und Aufnehmen eines Mikrofoneingangs oder einer Disk-Datei, das Audio mit den in der Datenbank gespeicherten Fingerabdrücken abzugleichen und das abgespielte Lied oder die Aufnahme zurückzusenden.

Wenn Sie eine Beispielimplementierung mögen, Details sind here auf github

Hope this

hilft
Verwandte Themen