인공지능 블록
인공지능(AI) 블록은 EntryJS에서 제공하는 고급 기능 블록 중 하나로, 사용자가 자신의 프로젝트에 인공지능 기술을 쉽게 통합할 수 있게 해줍니다. 이 블록들은 프로젝트에 AI의 강력한 기능을 추가하여, 예를 들어 이미지 인식, 음성 인식, 텍스트 분석 및 기계 학습과 같은 기능을 구현할 수 있습니다.
현재의 한계
수정과 추가를 위해 EntryJS 소스 코드를 직접 수정하고 빌드해야 한다는 점입니다.
추후 개선을 통해 외부에서 동적으로 인공지능 블록을 컨트롤 할수 있게 수정할 예정입니다.
공통
initOption으로 aiUtilizeDisable
값을 true
로 전달하면 인공지능 블록 기능이 동작하지 않습니다.
Entry.init(container, { |
또는 인공지능 블록을 추가 및 제거하려면 아래의 소스코드를 수정한 후 빌드해야 합니다.
src/class/AIUtilize.js
import '../playground/blocks/block_ai_utilize_audio'; |
인공지능 카테고리까지 제거하고 싶은경우 static.js에서 getAllBlocks
의 ai_utilize
항목을 제거하면 됩 합니다.
다른방법의 카테고리 및 블록 제거 방법은 핵심 API를 참고하시면 됩니다.
META DATA
기본적으로 블록마다 메타데이터를 가지게 됩니다. 개발하는 블록마다 다른 메타데이터를 가지기도 하시면 공통적으로 필요한 메타데이터가 있습니다.
프로퍼티 | 타입 | 설명 |
---|---|---|
name | string | 인공지능 블록의 이름 |
imageName | string | 인공지능 블록의 이미지 |
category | ‘general’|’video’|’audio’ | general=기본 video=비디오 감지 audio=오디오 감지 |
title | Lang | 인공지능 블록의 다국어 이름 |
titleKey | string | 인공지능 블록의 다국어 키 예) template.voice_title_text = window.Lang.template.voice_title_text |
descriptionKey | string | 인공지능 블록의 다국어 키 |
api | string | 해당 인공지능 블록을 호출할 api의 url |
팝업 관리
기본적으로는 팝업 aiUtilize의 기능으로 인공지능 블록을 팝업에 띄울수 있습니다.
블록 메뉴에서 인공지능 블록 불러오기
버튼 클릭시 openAIUtilizeBlockManager
이벤트가 발생하고 이때 popup.show 를 이용해 팝업을 띄울수 있습니다.
Entry.addEventListener('openAIUtilizeBlockManager', () => { |
번역
파파고를 이용하여 다른 언어로 번역할 수 있는 블록 모음입니다.
해당 블록을 사용하기 위해선 AI API 서버 구축이 필요합니다.
현재 엔트리에서는 AI API는 papago을 이용하고 있습니다.
각 블록의 func를 상황에 맞도록 수정해서 사용하면 됩니다.
get_translated_string
입력한 문자값을 선택한 언어로 번역 블록.
func(sprite, script) { |
check_language
입력된 문자값의 언어를 감지 블록.
func(sprite, script) { |
읽어주기
nVoice 음성합성 기술로 다양한 목소리로 문장을 읽는 블록모음 입니다.
해당 블록을 사용하기 위해선 AI API 서버 구축이 필요합니다.
현재 엔트리에서는 AI API는 clova를 이용하고 있습니다.
각 블록의 func를 상황에 맞도록 수정해서 사용하면 됩니다.
read_text
입력한 문자값을 설정된 목소리로 읽는 블록.
func(sprite, script) { |
read_text_wait_with_block
입력한 문자값을 읽어준 후 다음 블록을 실행하는 블록.
async func(sprite, script) { |
set_tts_property
선택한 목소리가 선택한 속도와 선택한 음높이로 설정하는 블록.
func(sprite, script) { |
사람 인식
카메라를 이용하여 사람의 신체를 인식하는 블록들의 모음입니다.
해당 블록은 API 구축이 필요하지 않습니다.
when_pose_landmarker
사람을 인식하면 아래에 연결된 블록들을 실행하는 블록.
pose_landmarker
사람 인식을 시작하거나 중지하는 블록.
draw_detected_pose
인식한 사람의 형태를 실행 화면에 보이게 하거나 숨기는 블록.
check_detected_pose
사람이 인식된 경우 ‘참’으로 판단하는 블록.
count_detected_pose
인식한 사람의 수 블록.
locate_to_pose
오브젝트가 선택한 사람의 신체 부위로 이동하는 블록.
locate_time_to_pose
오브젝트가 입력한 시간에 걸쳐 선택한 사람의 신체 부위로 이동하는 블록.
axis_detected_pose
입력한 순서의 사람의 선택한 신체 부위의 위치 블록.
사물 인식
카메라를 이용하여 사물을 인식하는 블록들의 모음입니다.
해당 블록은 API 구축이 필요하지 않습니다.
when_object_detector
사물을 인식하면 아래에 연결된 블록들을 실행하는 블록.
object_detector
사물 인식을 시작하거나 중지하는 블록.
draw_detected_object
인식한 사물의 위치와 순서를 실행 화면에 보이게 하거나 숨기는 블록.
check_detected_object
사물이 인식된 경우 ‘참’으로 판단하는 블록.
count_detected_object
인식한 사물의 수 블록.
is_detected_among_objects
선택한 사물이 인식된 경우 ‘참’으로 판단하는 블록.
손 인식
카메라를 이용하여 손을 인식하는 블록들의 모음입니다.
해당 블록은 API 구축이 필요하지 않습니다.
when_hand_detection
손을 인식하면 아래에 연결된 블록들을 실행하는 블록.
hand_detection
손 인식을 시작하거나 중지하는 블록.
draw_detected_hand
인식한 손의 형태를 실행 화면에 보이게 하거나 숨기는 블록.
check_detected_hand
손을 인식한 경우 ‘참’으로 판단하는 블록.
count_detected_hand
인식한 손의 개수 블록.
locate_to_hand
오브젝트가 선택한 손의 부위로 이동하는 블록.
locate_time_to_hand
오브젝트가 입력한 시간에 걸쳐 선택한 손의 부위로 이동하는 블록.
axis_detected_hand
입력한 순서의 손에서 선택한 부위의 위치 값 블록.
is_which_hand
입력한 순서의 손이 선택한 손이라면 ‘참’으로 판단하는 블록.
get_which_hand
입력한 순서의 손이 오른손인지, 왼손인지를 반환하는 블록.
is_which_gesture
입력한 순서의 손이 선택한 모양이라면 ‘참’으로 판단하는 블록.
get_which_gesture
입력한 순서의 손이 어떤 모양인지를 반환하는 블록.
얼굴 인식
카메라를 이용하여 얼굴을 인식하는 블록들의 모음입니다.
해당 블록은 API 구축이 필요하지 않습니다.
when_face_landmarker
얼굴을 인식하면 아래에 연결된 블록들을 실행하는 블록.
face_landmarker
얼굴을 인식하면 아래에 연결된 블록들을 실행하는 블록.
draw_detected_face
인식한 얼굴의 형태를 실행 화면에 보이게 하거나 숨기는 블록.
check_detected_face
얼굴이 인식된 경우 ‘참’으로 판단하는 블록.
count_detected_face
인식한 얼굴의 수 블록.
locate_to_face
오브젝트가 선택한 얼굴의 부위로 이동하는 블록.
locate_time_to_face
오브젝트가 입력한 시간에 걸쳐 선택한 얼굴의 부위로 이동하는 블록.
check_detected_gender
선택한 얼굴이 선택한 성별이면 ‘참’으로 판단하는 블록.
check_compare_age
선택한 얼굴의 나이가 입력한 수식에 해당한다면 ‘참’으로 판단하는 블록.
check_detected_emotion
선택한 얼굴이 선택한 감정이면 ‘참’으로 판단하는 블록.
axis_detected_face
입력한 순서의 얼굴 중 선택된 얼굴 부위의 위치값 블록.
get_detected_face_value
입력한 순서의 얼굴의 성별/나이/감정의 추정값 블록.
음성 인식
마이크를 이용하여 음성을 인식하는 블록들의 모음입니다.
해당 블록을 사용하기 위해선 AI API 서버 구축이 필요합니다.
현재 엔트리에서는 AI API는 clova를 이용하고 있습니다.
각 블록의 func를 상황에 맞도록 수정해서 사용하면 됩니다.
check_microphone
컴퓨터에 마이크가 연결되어 있는 경우 ‘참’으로 판단하는 블록.
async func(sprite, script) { |
get_microphone_volume
마이크에 입력되는 소리의 크기 값 블록.
async func(sprite, script) { |
speech_to_text_convert
마이크를 통해 녹음된 음성을 인식하는 블록.
async func(sprite, script) { |
timed_speech_to_text_convert
입력한 시간 동안 마이크를 통해 녹음된 음성을 선택한 언어로 인식하는 블록.
async func(sprite, script) { |
set_visible_speech_to_text
인식한 음성을 실행 화면에 보이게 하거나 숨기는 블록.
func(sprite, script) { |
speech_to_text_get_value
사람의 목소리를 문자로 변환한 값 블록.
func(sprite, script) { |