部落格 > BLOG

KKBOX 音樂搜索模組上線

olami     2018-05-22 20:41

OLAMI 智能對話系統 (IDS) 的 KKBOX 音樂搜索模組正式上線了!千萬首曲庫的語音/語意搜索一步搞定!


OLAMI 與 KKBOX Open API 團隊深度合作,提供音樂應用產品開發者一站式的自然語言音樂搜索服務及 API,輕鬆實現音樂搜索語意解析並取得 KKBOX 音樂資料!


精彩回顧:https://tw.olami.ai/blog/article/72


線上說明文件:


KKBOX 音樂搜索模資料解析程式碼範例 (以 OLAMI Java Client SDK 為例):


// 您所取得的語意解析結果
NLIResult nliResult;

// 檢查回傳資料中是否包含 KKBOX 音樂資訊並提取
if (nliResult.getType().equals(IDSResult.Types.KKBOX.getName())) {
	ArrayList<KKBOXData> dataArray = nliResult.getDataObjects();
	for (int x = 0; x < dataArray.size(); x++) {
		// 提取相關資料
		dataArray.get(x).getID();       // 音樂 ID
		dataArray.get(x).getDuration(); // 音樂長度 (毫秒)
		dataArray.get(x).getArtistID(); // 歌手 ID
		dataArray.get(x).getArtist();   // 歌手名稱
		dataArray.get(x).getAlbumID();  // 專輯 ID
		dataArray.get(x).getAlbum();    // 專輯名稱
		dataArray.get(x).getURL();      // 音樂資訊網址 (可能是試聽網址)
		// 取得音樂資訊相關圖片 (例如專輯封面)
		if (dataArray.get(x).hasPhotos()) {
			KKBOXDataPhoto[] photoArray = dataArray.get(x).getPhotos();
			for (int i = 0; i < photoArray.length; i++) {
				photoArray[i].getWidth();  // 圖片寬度
				photoArray[i].getHeight(); // 圖片高度
				photoArray[i].getURL();    // 圖片網址
			}	
		}
	}
}

音樂操作資料解析程式碼範例 (以 OLAMI Java Client SDK 為例):


// 您所取得的語意解析結果
NLIResult nliResult;

// 檢查回傳資料中是否包含音樂操作指令並提取
if (nliResult.getType().equals(IDSResult.Types.MUSIC_CONTROL.getName())) {
	// Get all of MusicControlData into ArrayList.
	ArrayList<MusicControlData> dataArray = nliResult.getDataObjects();
	for (int x = 0; x < dataArray.size(); x++) {
		// 檢查是否針對某個索引值進行操作 (通常發生以列表模式播放歌曲)
		if (dataArray.get(x).hasIndex()) {
			dataArray.get(x).getIndex(); // 對於音樂列表要操作的歌曲索引值
		}
		// 提取操作指令
		dataArray.get(x).getCommand();
	}
}

SDK 與程式碼範例下載:

Java Client SDK

Android Client SDK


Chatbot 搜歌效果示意圖:

Copyright © 2017 威盛電子股份有限公司. All rights reserved   |   意見反饋