加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – dejavu.py识别的歌曲的附加信息

发布时间:2020-12-20 11:42:58 所属栏目:Python 来源:网络整理
导读:我目前正在调查 dejavu.py( some more info),我必须说到目前为止我对此印象深刻.虽然我发现文档在用户界面方面有点不完整. 当您使用oDjv.recognize(FileRecognizer,sFile)识别来自文件的歌曲时,您将返回一个如下所示的字典: {'song_id': 2,'song_name': 'Se
我目前正在调查 dejavu.py( some more info),我必须说到目前为止我对此印象深刻.虽然我发现文档在用户界面方面有点不完整.
当您使用oDjv.recognize(FileRecognizer,sFile)识别来自文件的歌曲时,您将返回一个如下所示的字典:

{'song_id': 2,'song_name': 'Sean-Fournier--Falling-For-You','file_sha1': 'A9D18B9B9DAA467350D1B6B249C36759282B962E','confidence': 127475,'offset_seconds': 0.0,'match_time': 32.23410487174988,'offset': 0}

从录制(oDjv.recognize(MicrophoneRecognizer,seconds = iSecs)):

{'song_id': 2,'confidence': 124,'offset_seconds': 24.89179,'offset': 536}

所以,对于问题:
1)信心究竟是什么,信心水平是否有上限?

2)offset_seconds和offset之间有什么区别?

3)为什么算法需要在30到60秒之间(在我运行的所有测试的情况下)从磁盘识别歌曲,但是在录制音频时它可以在10秒左右的时间内完成?

4)当运行从音频录制的功能时,我从该功能获得实际输出之前的以下代码块(即使成功).我们要去哪儿?

ALSA lib pcm_dmix.c:1022:(snd_pcm_dmix_open) unable to open slave
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
bt_audio_service_open: connect() failed: Connection refused (111)
bt_audio_service_open: connect() failed: Connection refused (111)
bt_audio_service_open: connect() failed: Connection refused (111)
bt_audio_service_open: connect() failed: Connection refused (111)
ALSA lib pcm_dmix.c:1022:(snd_pcm_dmix_open) unable to open slave
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started

5)是否有可以插入配置的在线音乐数据库?

dConfig = {
    "database": {
        "host": "some magical music database","user": "root","passwd": "","db": "dejavu"
    }
}

oDjv = Dejavu(dConfig)

解决方法

您的大多数问题都可以在Dejavu github README.md或 writeup and explanation here中找到.

但要回答每个有问题的问题:

>在Dejavu中,置信度是在当前音频剪辑中“对齐”到数据库最接近匹配的指纹哈希的数量.没有概率解释.请记住,每个音频文件可能有数千个指纹,因此将其作为参考点.
>它们的持续时间相同,但单位不同. offset_seconds表示为秒,偏移量表示为length of the algorithm’s time bins.
> Dejavu以3倍的聆听速度指纹大多数歌曲.因此,一段3分钟的歌曲可能需要更长的时间,比如一段短暂的音频片段,它会收听10秒钟.您可以使用python dejavu.py调整默认命令行麦克风识别所需的时间 – 识别麦克风5,它监听5秒而不是默认值10.FYI,库的最佳选项之一是您也可以更改Dejavu使用fingerprint_limit键在JSON config file中用于磁盘识别的秒数.
>您的安装有问题,或者您使用的虚拟机不知道如何录制音频并将其导入pyaudio.在你的情况下见this solution,也许它可能会有所帮助.
>没有在线音乐数据库,您可以插入自己的MySQL或(很快)PostgreSQL并记录您自己的指纹. Dejavu旨在识别各种预先录制的音频.此外,每个用户的需求都不同.想要更准确的指纹识别而牺牲大多数指纹?提高DEFAULT_FAN_VALUE.需要更高的碰撞保证,但不介意额外的存储成本?您可以减少FINGERPRINT_REDUCTION并保留每个SHA-1的更多字符. Dejavu旨在适应许多不同的用例,这必然意味着如果您在this file中更改指纹参数,您的数据库将具有不同的分布和结构.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读