Elastic Music Search
openai-chatgptlangchain-pythonchatgptgenaielasticsearchelasticopenaiAImusic-searchchatlogvectordatabasePythonsearchgenaistacksupporting-blog-contentvectorelasticsearch-labslangchainapplications
Export
Humming search
Author: Alex Salgado
Obs: Code from blog 'Searching by Music: Leveraging Vector Search for Music Information Retrieval'
[1]
Cloning into 'music-search'... remote: Enumerating objects: 40, done. remote: Counting objects: 100% (40/40), done. remote: Compressing objects: 100% (36/36), done. remote: Total 40 (delta 10), reused 27 (delta 4), pack-reused 0 Receiving objects: 100% (40/40), 8.38 MiB | 27.51 MiB/s, done. Resolving deltas: 100% (10/10), done.
[2]
Collecting elasticsearch
Downloading elasticsearch-8.9.0-py3-none-any.whl (395 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 395.5/395.5 kB 6.2 MB/s eta 0:00:00
Collecting elastic-transport<9,>=8 (from elasticsearch)
Downloading elastic_transport-8.4.0-py3-none-any.whl (59 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 59.5/59.5 kB 6.4 MB/s eta 0:00:00
Collecting urllib3<2,>=1.26.2 (from elastic-transport<9,>=8->elasticsearch)
Downloading urllib3-1.26.16-py2.py3-none-any.whl (143 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 143.1/143.1 kB 15.7 MB/s eta 0:00:00
Requirement already satisfied: certifi in /usr/local/lib/python3.10/dist-packages (from elastic-transport<9,>=8->elasticsearch) (2023.7.22)
Installing collected packages: urllib3, elastic-transport, elasticsearch
Attempting uninstall: urllib3
Found existing installation: urllib3 2.0.4
Uninstalling urllib3-2.0.4:
Successfully uninstalled urllib3-2.0.4
Successfully installed elastic-transport-8.4.0 elasticsearch-8.9.0 urllib3-1.26.16
[3]
Enter Elastic Cloud ID: ·········· Enter cluster username: ·········· Enter cluster password: ··········
ObjectApiResponse({'name': 'instance-0000000007', 'cluster_name': 'df2380a9e6b0425f9d4bc01639e59cf5', 'cluster_uuid': 'FvCTlZHYQqasErU8cbn4_A', 'version': {'number': '8.8.1', 'build_flavor': 'default', 'build_type': 'docker', 'build_hash': 'f8edfccba429b6477927a7c1ce1bc6729521305e', 'build_date': '2023-06-05T21:32:25.188464208Z', 'build_snapshot': False, 'lucene_version': '9.6.0', 'minimum_wire_compatibility_version': '7.17.0', 'minimum_index_compatibility_version': '7.0.0'}, 'tagline': 'You Know, for Search'}) [ ]
create index
[4]
[5]
index created: {'acknowledged': True, 'shards_acknowledged': True, 'index': 'my-audio-index'}
<ipython-input-5-40745a2c2458>:41: DeprecationWarning: Passing transport options in the API method is deprecated. Use 'Elasticsearch.options()' instead. index_creation = es.indices.create(index=index_name, ignore=400, body=index_config) <ipython-input-5-40745a2c2458>:41: DeprecationWarning: The 'body' parameter is deprecated and will be removed in a future version. Instead use individual parameters. index_creation = es.indices.create(index=index_name, ignore=400, body=index_config)
[6]
mozart_symphony25_guitar-solo mozart_symphony25_string-quartet mozart_symphony25_jazz-with-saxophone bella_ciao_jazz-with-saxophone bella_ciao_guitar-solo mozart_symphony25_opera-singer bella_ciao_string-quartet mozart_symphony25_electronic-synth-lead a-cappella-chorus bella_ciao_piano-solo bella_ciao_electronic-synth-lead bella_ciao_humming mozart_symphony25_tribal-drums-and-flute bella_ciao_opera-singer mozart_symphony25_piano-solo bella_ciao_a-cappella-chorus mozart_symphony25_prompt bella_ciao_tribal-drums-and-flute
[7]
[8]
Checkpoint path: /root/panns_data/Cnn14_mAP=0.431.pth Using CPU.
[9]
[10]
[11]
stored... mozart_symphony25_guitar-solo.wav [0. 0.03304292 0. ... 0.00757442 0. 0. ] /content/music-search/dataset//mozart_symphony25_guitar-solo.wav guitar my-audio-index stored... mozart_symphony25_string-quartet.wav [0. 0. 0. ... 0.02552068 0. 0. ] /content/music-search/dataset//mozart_symphony25_string-quartet.wav string my-audio-index stored... mozart_symphony25_jazz-with-saxophone.wav [0. 0. 0. ... 0.0032542 0. 0. ] /content/music-search/dataset//mozart_symphony25_jazz-with-saxophone.wav jazz my-audio-index stored... bella_ciao_jazz-with-saxophone.wav [0. 0.00063776 0. ... 0.00766881 0.00809752 0. ] /content/music-search/dataset//bella_ciao_jazz-with-saxophone.wav jazz my-audio-index stored... bella_ciao_guitar-solo.wav [0. 0.0221919 0. ... 0.00023983 0. 0. ] /content/music-search/dataset//bella_ciao_guitar-solo.wav guitar my-audio-index stored... mozart_symphony25_opera-singer.wav [0. 0. 0. ... 0.02008585 0. 0. ] /content/music-search/dataset//mozart_symphony25_opera-singer.wav opera my-audio-index stored... bella_ciao_string-quartet.wav [0. 0. 0. ... 0.02983136 0. 0. ] /content/music-search/dataset//bella_ciao_string-quartet.wav string my-audio-index stored... mozart_symphony25_electronic-synth-lead.wav [0. 0.00024901 0. ... 0.04454654 0.0603435 0. ] /content/music-search/dataset//mozart_symphony25_electronic-synth-lead.wav generic my-audio-index stored... a-cappella-chorus.wav [0. 0.02836778 0. ... 0.02595067 0.02352854 0. ] /content/music-search/dataset//a-cappella-chorus.wav generic my-audio-index stored... bella_ciao_piano-solo.wav [0. 0. 0. ... 0.01568016 0.04890013 0. ] /content/music-search/dataset//bella_ciao_piano-solo.wav piano my-audio-index stored... bella_ciao_electronic-synth-lead.wav [0. 0. 0. ... 0.02660546 0.03412616 0. ] /content/music-search/dataset//bella_ciao_electronic-synth-lead.wav generic my-audio-index stored... bella_ciao_humming.wav [0. 0.01029461 0. ... 0.07024138 0.00545542 0. ] /content/music-search/dataset//bella_ciao_humming.wav humming my-audio-index stored... mozart_symphony25_tribal-drums-and-flute.wav [0. 0. 0. ... 0.03785052 0.03278063 0. ] /content/music-search/dataset//mozart_symphony25_tribal-drums-and-flute.wav generic my-audio-index stored... bella_ciao_opera-singer.wav [0. 0. 0. ... 0.03254001 0. 0. ] /content/music-search/dataset//bella_ciao_opera-singer.wav opera my-audio-index stored... mozart_symphony25_piano-solo.wav [0. 0.00863423 0. ... 0.00270792 0.02372581 0. ] /content/music-search/dataset//mozart_symphony25_piano-solo.wav piano my-audio-index stored... bella_ciao_a-cappella-chorus.wav [0. 0.03191019 0. ... 0.03001107 0.00014891 0. ] /content/music-search/dataset//bella_ciao_a-cappella-chorus.wav generic my-audio-index stored... mozart_symphony25_prompt.wav [0. 0. 0. ... 0.03432674 0.01389641 0. ] /content/music-search/dataset//mozart_symphony25_prompt.wav prompt my-audio-index stored... bella_ciao_tribal-drums-and-flute.wav [0. 0.01298603 0. ... 0.03869031 0.02441213 0. ] /content/music-search/dataset//bella_ciao_tribal-drums-and-flute.wav generic my-audio-index
[12]
[13]
[14]
[15]
{'total': {'value': 18, 'relation': 'eq'},
, 'max_score': 100.0,
, 'hits': [{'_index': 'my-audio-index',
, '_id': 'b-FjHYoBwzxpWbqUtJsw',
, '_score': 100.0,
, 'fields': {'genre': ['humming'],
, 'title': ['bella_ciao_humming.wav'],
, 'path': ['/content/music-search/dataset//bella_ciao_humming.wav']}},
, {'_index': 'my-audio-index',
, '_id': 'I_5jHYoBSIrryGYbvxS_',
, '_score': 86.1148,
, 'fields': {'genre': ['opera'],
, 'title': ['bella_ciao_opera-singer.wav'],
, 'path': ['/content/music-search/dataset//bella_ciao_opera-singer.wav']}},
, {'_index': 'my-audio-index',
, '_id': 'auFjHYoBwzxpWbqUapvZ',
, '_score': 0.0,
, 'fields': {'genre': ['guitar'],
, 'title': ['mozart_symphony25_guitar-solo.wav'],
, 'path': ['/content/music-search/dataset//mozart_symphony25_guitar-solo.wav']}},
, {'_index': 'my-audio-index',
, '_id': 'Hf5jHYoBSIrryGYbcBSS',
, '_score': 0.0,
, 'fields': {'genre': ['string'],
, 'title': ['mozart_symphony25_string-quartet.wav'],
, 'path': ['/content/music-search/dataset//mozart_symphony25_string-quartet.wav']}},
, {'_index': 'my-audio-index',
, '_id': 'Hv5jHYoBSIrryGYbdhRb',
, '_score': 0.0,
, 'fields': {'genre': ['jazz'],
, 'title': ['mozart_symphony25_jazz-with-saxophone.wav'],
, 'path': ['/content/music-search/dataset//mozart_symphony25_jazz-with-saxophone.wav']}}]} [16]
/content/music-search/dataset//bella_ciao_humming.wav /content/music-search/dataset//bella_ciao_opera-singer.wav /content/music-search/dataset//mozart_symphony25_guitar-solo.wav /content/music-search/dataset//mozart_symphony25_string-quartet.wav /content/music-search/dataset//mozart_symphony25_jazz-with-saxophone.wav
[17]