コード例 #1
0
ファイル: devine.py プロジェクト: konoufo/gpc
    def music_print(self):

        # tag : artist, title, genre, album, label

        config = {
            'host': 'us-west-2.api.acrcloud.com',
            'access_key': '',
            'access_secret': '',
            'debug': False,
            'timeout': 10  # seconds
        }

        '''This module can recognize ACRCloud by most of audio/video file.
            Audio: mp3, wav, m4a, flac, aac, amr, ape, ogg ...
            Video: mp4, mkv, wmv, flv, ts, avi ...'''

        re = ACRCloudRecognizer(config)
        dict1 = ast.literal_eval(re.recognize_by_file(self.megafile.get_url(), 0))

        if dict1['status']['msg'] == 'Success' and dict1['metadata'] and dict1['metadata']['music'][0]:
            return dict1
        else:
            # make sure to catch IOError
            buf = open(self.megafile.get_url(), 'rb').read()
            dict2 = ast.literal_eval(re.recognize_by_filebuffer(buf, 0))
            if dict2['status']['msg'] == 'Success' and dict2['metadata'] and dict2['metadata']['music'][0]:
                return dict2
コード例 #2
0
ファイル: recognizer.py プロジェクト: YarikMix/vk-shazam-bot
class Recognizer:
    def auth(self, config):
        recognizer_config = {
            "host": config["ACRCloud"]["host"],
            "access_key": config["ACRCloud"]["access_key"],
            "access_secret": config["ACRCloud"]["secret_key"],
            "timeout": 10
        }
        self.recognizer = ACRCloudRecognizer(recognizer_config)

    def recognize(self, url):
        response = requests.get(url, stream=True)
        buffer = io.BytesIO(response.content).read()

        response = self.recognizer.recognize_by_filebuffer(buffer, 0)
        data = json.loads(response)

        status = data["status"]["msg"]
        if status == "Success":
            title = data["metadata"]["music"][0]["title"]
            artist = data["metadata"]["music"][0]["artists"][0]["name"]
            song = "{} - {}".format(artist, title)
            return song
        else:
            return False
コード例 #3
0
def audio_check(file_buffer):
    config = {
        'host': audio_identifier_host,
        'access_key': audio_identifier_access_key,
        'access_secret': audio_identifier_access_secret,
        'recognize_type': ACRCloudRecognizeType.ACR_OPT_REC_AUDIO,
        'debug': False,
        'timeout': 10  # seconds
    }

    re = ACRCloudRecognizer(config)
    res_str = re.recognize_by_filebuffer(file_buffer, 0, 10)
    res_dict = json.loads(res_str)

    status_code = res_dict["status"]["code"]
    if status_code == 0:
        # TO DO
        # create answer payload
        metadata = res_dict["metadata"]
        metadata_music_list = metadata["music"]
        check_answer = {}
        for i in range(0, len(metadata_music_list)):
            title = metadata_music_list[i]["title"]
            artists = metadata_music_list[i]["artists"]
            song = {'title': title, 'artists': artists}
            hashed_val = hashlib.sha1(json.dumps(song,  \
                        sort_keys=True).encode()).hexdigest()
            if check_answer.get(hashed_val) == None:
                check_answer[hashed_val] = i
                answer = song
        return answer
    else:
        status_msg = res_dict["status"]["msg"]
        err = {'error': status_msg}
        return err
コード例 #4
0
def recognize_music(full_path):
    re = ACRCloudRecognizer(config)
    result = json.loads(re.recognize_by_file(full_path, 0))
    if result['status']['code'] != 0:
        buf = open(full_path, 'rb').read()
        result = json.loads(re.recognize_by_filebuffer(buf, 0))
        if result['status']['code'] != 0:
            return 'UNKNOWN'
    data = result['metadata']['music'][0]
    return data['title'] + '-' + data['artists'][0]['name']
コード例 #5
0
def get_songs(tiktok_url):
    config = {
        'host': "identify-eu-west-1.acrcloud.com",
        'access_key': "8862724c406dc09588b45a0100a6ff14",
        'access_secret': "VUZkQ7vDytAxAcizRV1YzgwmZ12Mt57fyCmQkRf2",
        'timeout': 10
    }

    re = ACRCloudRecognizer(config)
    buf = get_mp3_bytes_code(tiktok_url)

    return re.recognize_by_filebuffer(buf, 0)
コード例 #6
0
ファイル: ACRAPI.py プロジェクト: smcclennon/SongID
    def hum(filePath):
        config = config_hum
        '''This module can recognize ACRCloud by most of audio/video file.
            Audio: mp3, wav, m4a, flac, aac, amr, ape, ogg ...
            Video: mp4, mkv, wmv, flv, ts, avi ...'''
        re = ACRCloudRecognizer(config)

        #recognize by file path, and skip 0 seconds from from the beginning of sys.argv[1].
        #re.recognize_by_file(filePath, 0, 10)
        logger.info('ACR: Processing request...')
        buf = open(filePath, 'rb').read()
        #recognize by file_audio_buffer that read from file path, and skip 0 seconds from from the beginning of sys.argv[1].
        data = re.recognize_by_filebuffer(buf, 0, 10)
        data = json.loads(data)
        logger.info('ACR: Processing complete!')
        return data
コード例 #7
0
def audio_file(audio):

    config = {
        'host': 'ap-southeast-1.api.acrcloud.com',
        'access_key': 'f1840ce5b0603e9db3ec8c526eea65e5',
        'access_secret': '1NfVJoxoREbGlO9HVqG4QNkSiMT86Lvs3Geogov9',
        'debug': True,
        'timeout': 30  # seconds
    }
    '''This module can recognize ACRCloud by most of audio/video file.
        Audio: mp3, wav, m4a, flac, aac, amr, ape, ogg ...
        Video: mp4, mkv, wmv, flv, ts, avi ...'''
    re = ACRCloudRecognizer(config)

    # recognize by file path, and skip 0 seconds from from the beginning of sys.argv[1].

    buf = open(audio, 'rb').read()
    # recognize by file_audio_buffer that read from file path, and skip 0 seconds from from the beginning of sys.argv[1].
    return re.recognize_by_filebuffer(buf, 1)
コード例 #8
0
ファイル: recognition_api.py プロジェクト: shinhaha/HARU
def recognize_music(music_file, host, key, secret):
    config = {
        'host': host.encode('utf-8'),
        'access_key': key.encode('utf-8'),
        'access_secret': secret.encode('utf-8'),
        'recognize_type': ACRCloudRecognizeType.ACR_OPT_REC_AUDIO, # you can replace it with [ACR_OPT_REC_AUDIO,ACR_OPT_REC_HUMMING,ACR_OPT_REC_BOTH], The SDK decide which type fingerprint to create accordings to "recognize_type".
        'debug':False,
        'timeout':10 # seconds
    }

    '''This module can recognize ACRCloud by most of audio/video file. 
        Audio: mp3, wav, m4a, flac, aac, amr, ape, ogg ...
        Video: mp4, mkv, wmv, flv, ts, avi ...'''
    re = ACRCloudRecognizer(config)

    #recognize by file path, and skip 0 seconds from from the beginning of sys.argv[1].
    #print re.recognize_by_file(music_file, 0, 10)

    buf = open(music_file, 'rb').read()
    #recognize by file_audio_buffer that read from file path, and skip 0 seconds from from the beginning of sys.argv[1].  print re.recognize_by_filebuffer(buf, 0, 10) 
    result = re.recognize_by_filebuffer(buf, 0, 10)
    return result
コード例 #9
0
import os
from acrcloud.recognizer import ACRCloudRecognizer
import urllib2
import sys

if __name__ == '__main__':
    config = {
        'host': 'identify-ap-southeast-1.acrcloud.com',
        'access_key': os.environ['ACR_KEY'],
        'access_secret': os.environ['ACR_SECRET'],
        'timeout': 20  # seconds
    }

    re = ACRCloudRecognizer(config)
    # print re.recognize_by_file(sys.argv[1], 0)

    buf = urllib2.urlopen(
        'https://s3.us-east-2.amazonaws.com/attendance-monitor/Selena+Gomez++The+Scene+-+Who+Says-%5BAudioTrimmer.com%5D.mp3'
    ).read()
    print re.recognize_by_filebuffer(buf, 0)
コード例 #10
0
ファイル: test.py プロジェクト: acrcloud/acrcloud_sdk_python
#-*- coding:utf-8 -*-

'''
    >>> python test.py test.mp3
'''

import os, sys
from acrcloud.recognizer import ACRCloudRecognizer

if __name__ == '__main__':
    config = {
        'host':'XXXXXXXX',
        'access_key':'XXXXXXXX',
        'access_secret':'XXXXXXXX',
        'debug':False,
        'timeout':10 # seconds
    }
    
    '''This module can recognize ACRCloud by most of audio/video file. 
        Audio: mp3, wav, m4a, flac, aac, amr, ape, ogg ...
        Video: mp4, mkv, wmv, flv, ts, avi ...'''
    re = ACRCloudRecognizer(config)

    #recognize by file path, and skip 0 seconds from from the beginning of sys.argv[1].
    print re.recognize_by_file(sys.argv[1], 0)

    buf = open(sys.argv[1], 'rb').read()
    #recognize by file_audio_buffer that read from file path, and skip 0 seconds from from the beginning of sys.argv[1].
    print re.recognize_by_filebuffer(buf, 0)

コード例 #11
0
import json

if __name__ == '__main__':
    config = {
        'host': 'identify-eu-west-1.acrcloud.com',
        'access_key': '945a4fef66492f6361dfb80ce4b00bb0',
        'access_secret': 'Dl7hpMntRyRBDl6UHNHyKoiGMIgXRn0gvpciDSFQ',
        'recognize_type': ACRCloudRecognizeType.
        ACR_OPT_REC_AUDIO,  # you can replace it with [ACR_OPT_REC_AUDIO,ACR_OPT_REC_HUMMING,ACR_OPT_REC_BOTH], The     SDK decide which type fingerprint to create accordings to "recognize_type".
        'debug': False,
        'timeout': 10  # seconds
    }
    '''This module can recognize ACRCloud by most of audio/video file.
        Audio: mp3, wav, m4a, flac, aac, amr, ape, ogg ...
        Video: mp4, mkv, wmv, flv, ts, avi ...'''
    re = ACRCloudRecognizer(config)

    #recognize by file path, and skip 0 seconds from from the beginning of sys.argv[1].
    song = json.loads(re.recognize_by_file("music1.mp3", 10, 20))
    title = song['metadata']['music'][0]['title']
    # print(json.loads(song))
    # print(title)
    artist = song['metadata']['music'][0]['artists'][0]['name']
    print(title + " by " + artist)

    #print("duration_ms=" + str(ACRCloudRecognizer.get_duration_ms_by_file("music1.mp3")))

    buf = open("music1.mp3", 'rb').read()
    # recognize by file_audio_buffer that read from file path, and skip 0 seconds from from the beginning of sys.argv[1].
    print(re.recognize_by_filebuffer(buf, 0, 10))
コード例 #12
0
ファイル: main.py プロジェクト: oskydan/tm_music
            '''This module can recognize ACRCloud by most of audio/video file.
            Audio: mp3, wav, m4a, flac, aac, amr, ape, ogg ...
            Video: mp4, mkv, wmv, flv, ts, avi ...'''
            re = ACRCloudRecognizer(config)

            # Use file from arguments and if there is no file, then record music from mic

            if len(sys.argv) > 1:
               buf = open(sys.argv[1], 'rb').read()
               flag = 0
            else:
                Record()
                buf = open("output.wav", 'rb').read()

            # Recognize by file_audio_buffer that read from file path or mic, and skip 0 seconds from the beginning.
            data_content = re.recognize_by_filebuffer(buf, 0)

            # Transform received json to object
            data = json.loads(data_content)

            # In case of success print information
            if data["status"]["code"] == 0:
                # Print Success message
                print(data["status"]["msg"])
                print()
                # Print recognised information about artist
                print("Artist:", data["metadata"]["music"][0]["artists"][0]["name"])
                print("Title:", data["metadata"]["music"][0]["title"])
                if "album" in data["metadata"]["music"][0]:
                    print("Album:", data["metadata"]["music"][0]["album"]["name"])
                if "label" in data["metadata"]["music"][0]: