python Dejavu庫(kù)快速識(shí)別音頻指紋實(shí)例探究
今天給大家分享一個(gè)超神奇的python庫(kù)——Dejavu
https://github.com/worldveil/dejavu
什么是Dejavu?
Dejavu是一個(gè)基于Python的音頻指紋識(shí)別庫(kù),它能夠通過(guò)分析音頻文件的特征來(lái)識(shí)別音樂(lè)和其他類型的音頻。音頻指紋是一種數(shù)據(jù),它能夠代表音頻的特征和內(nèi)容,就像人類的指紋一樣獨(dú)一無(wú)二。Dejavu通過(guò)創(chuàng)建并比對(duì)這些音頻指紋,來(lái)實(shí)現(xiàn)對(duì)音頻的快速識(shí)別。
使用Dejavu,不需要知道音頻的任何信息,只需讓Dejavu“聽(tīng)一聽(tīng)”,它就能告訴你這是什么歌曲,或者這段音頻來(lái)自哪里。這一過(guò)程非常類似于我們使用的音樂(lè)識(shí)別應(yīng)用,如Shazam或SoundHound。
安裝Dejavu
在開(kāi)始使用Dejavu之前,需要先安裝它。Dejavu的安裝相對(duì)簡(jiǎn)單,只需幾個(gè)步驟:
首先確保你的計(jì)算機(jī)上安裝了Python和pip(Python的包管理工具)。
在終端或命令提示符中輸入以下命令來(lái)安裝Dejavu:
pip install dejavu
Dejavu還需要一個(gè)數(shù)據(jù)庫(kù)來(lái)存儲(chǔ)音頻指紋。它支持多種數(shù)據(jù)庫(kù),如MySQL、PostgreSQL。你需要根據(jù)個(gè)人喜好安裝和配置相應(yīng)的數(shù)據(jù)庫(kù)。
使用示例一:創(chuàng)建音頻指紋
在使用Dejavu之前,我們需要?jiǎng)?chuàng)建音頻的指紋并存儲(chǔ)在數(shù)據(jù)庫(kù)中。這樣,當(dāng)我們想要識(shí)別一段音頻時(shí),Dejavu就可以在數(shù)據(jù)庫(kù)中進(jìn)行查找。
from dejavu import Dejavu from dejavu.recognize import FileRecognizer # 配置數(shù)據(jù)庫(kù)信息 config = { "database": { "host": "127.0.0.1", "user": "root", "password": "yourpassword", "database": "dejavu_db" } } # 創(chuàng)建Dejavu實(shí)例 djv = Dejavu(config) # 創(chuàng)建音頻指紋 djv.fingerprint_file("example.mp3")
在上面的代碼中,我們首先導(dǎo)入了Dejavu,并配置了數(shù)據(jù)庫(kù)信息。接著創(chuàng)建了一個(gè)Dejavu實(shí)例,并使用fingerprint_file
方法來(lái)創(chuàng)建一段音頻的指紋。你需要將"yourpassword"替換為你的數(shù)據(jù)庫(kù)密碼,并確保"example.mp3"是你要?jiǎng)?chuàng)建指紋的音頻文件名。
使用示例二:識(shí)別音頻
創(chuàng)建了音頻指紋后,我們就可以使用Dejavu來(lái)識(shí)別未知的音頻片段了。
# 使用Dejavu識(shí)別音頻 song = djv.recognize(FileRecognizer, "unknown.mp3") # 打印識(shí)別結(jié)果 print(f"識(shí)別的歌曲: {song['song_name']}, 置信度: {song['confidence']}")
在這個(gè)例子中,我們使用了recognize
方法,并傳遞了FileRecognizer
類和未知音頻文件的名稱。Dejavu會(huì)返回一個(gè)字典,包含了識(shí)別出的歌曲名稱和置信度。如果識(shí)別成功,你會(huì)在控制臺(tái)看到輸出的歌曲名稱和置信度。
結(jié)語(yǔ)
Dejavu是一個(gè)強(qiáng)大的音頻識(shí)別工具,它可以幫助我們?cè)谌粘I钪凶R(shí)別各種音頻。無(wú)論是找回那首忘記了名字的旋律,還是為了工作需要識(shí)別特定的音頻片段,Dejavu都能夠提供幫助。
以上就是python Dejavu庫(kù)快速識(shí)別音頻指紋實(shí)例探究的詳細(xì)內(nèi)容,更多關(guān)于python Dejavu音頻指紋識(shí)別的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
python numpy 反轉(zhuǎn) reverse示例
今天小編就為大家分享一篇python numpy 反轉(zhuǎn) reverse示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-12-12Python中sklearn實(shí)現(xiàn)交叉驗(yàn)證示例分析
這篇文章主要介紹了Python中sklearn實(shí)現(xiàn)交叉驗(yàn)證,本文python的版本為3.8,各個(gè)版本之間函數(shù)名字略有不同,但是原理都是一樣的,集成開(kāi)發(fā)環(huán)境使用的是Anaconda的Spyder,需要的朋友可以參考下2023-08-08基于Python2、Python3中reload()的不同用法介紹
今天小編就為大家分享一篇基于Python2、Python3中reload()的不同用法介紹,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-08-08基于Python編寫一個(gè)有趣的進(jìn)程勾選器(Process?Selector)
本文主要介紹了如何利用Python編寫一個(gè)有趣的進(jìn)程勾選器,可以在Checklistbox中列出系統(tǒng)中正在運(yùn)行的進(jìn)程的名稱和PID,并允許用戶選擇進(jìn)程并將其保存到文本文件中,需要的可以參考一下2023-05-05python內(nèi)置模塊OS?實(shí)現(xiàn)SHELL端文件處理器
這篇文章主要介紹了python內(nèi)置模塊OS實(shí)現(xiàn)SHELL端文件處理器,文章通過(guò)圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-09-09PyCharm 2020.1版安裝破解注冊(cè)碼永久激活(激活到2089年)
這篇文章主要介紹了PyCharm 2020.1版安裝破解注冊(cè)碼永久激活(激活到2089年),需要的朋友可以參考下2020-09-09python中學(xué)習(xí)K-Means和圖片壓縮
大家在python中會(huì)遇到關(guān)于K-Means和圖片壓縮的問(wèn)題,我先通過(guò)本次文章學(xué)習(xí)一下基本原理吧。2017-11-11