인공지능 블록
인공지능(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) { |