Skip to content

Make Processing

조회 수 517 추천 수 0 댓글 2
?

단축키

Prev이전 문서

Next다음 문서

+ - Up Down Comment Print
?

단축키

Prev이전 문서

Next다음 문서

+ - Up Down Comment Print

안녕하세요. 하다 막히는 부분이 있어서 가입후 질문 드립니다.


프로세싱화면상에 텍스트 입력이 실시간으로 화면처럼 나오고 텍스트 입력후 enter키를 누르게 되면 


키값에 맞게 음이 순차적으로 나오는 작업을 하고있는데 


텍스트 부분은 pfont를 사용해 화면상에 나오게 했는데 


minim과 연동해서 정해진 키값을 갯수에 상관없이 저장했다가 enter입력이 들어오면 

(예을 들어 '나비'라고 입력했을경우' ㄴㅏㅂㅣ' 라는 키값에 맞게 '도파미솔' 이런식으로 음악이 재생되게 하려고 합니다)


미님으로 지정된 mp3파일을 순차적으로 재생하려고 합니다.


pfont으로 화면상에 텍스트를 구현하고


minim을 이용해서 지정된 키값이 input되면 mp3파일이 재생되는건 했는데 


둘을 연동시키는 방법을 모르겠습니다ㅠㅠ



  • profile
    smileblue 2016.05.28 00:49
    안녕하세요~~ 우선 프로세싱에서 한글입력을 받는 부분은 상당히 어려운 것으로 알고 있습니다. 2.0 에서는 자바의 텍스트 필드를 지원 했었는데 3.0 으로 바뀌면서 렌더러 자체도 바뀌게 되었습니다. 그래서 렌더러 밑에 텍스트 필드가 나와서 시각적으로 가려지게 됩니다...해결 방법이 있으면 공유해주세요..ㅎㅎ 그리고 한글을 입력 받고서 그것을 자음 모음 으로 분해(?)하기위해서는 http://hanpsy.tistory.com/2 을 참고하셔서 초성 중성 종성을 분해하는 알고리즘이 필요합니다. 그리고 분해한 자음 모음대로 원하시는 사운드와 싱크를 시키면 될것 같습니다... 프로세싱이 한글 지원을 조금씩 하고 있지만 기본 사항이 아닌 텍스트 필드 같은 부분은 조금 힘든것이 사실입니다. 외부에서 TXT 파일을 로드하거나 xml파일을 이용한 입력 방법을 개인적으로는 추천 드리고 싶습니다..화이팅!!!!
  • ?
    jeremy 2016.05.30 14:08
    답글 감사합니다! 현재 코딩 이렇게 진행됬어요! 역시 한글 자모부분이 막혀서 그걸 해결하는 방법이 필요할거 같네요 ㅠㅠ

    import ddf.minim.*;

    Minim minim;
    AudioPlayer s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14;

    PFont font;
    int num = 500;
    char t[] = new char[num];
    int key_num = 0;
    int text_w_gap = 20;
    int text_h_gap = 30;
    int ypos = 50;
    int xpos = 10;
    int val;
    int notetime = 265;
    //730 notetime for Clapton Style Blues Shuffle Backing Track (A)
    // for play
    int startTime;
    int iForPlaySong=0;

    boolean playSong=false;

    void setup() {
    size(500, 400);
    font = createFont("whiteday10-48.vlw", 14);
    textFont(font, 32);
    minim = new Minim(this);

    s1 = minim.loadFile("1.mp3");
    s2 = minim.loadFile("2.mp3");
    s3 = minim.loadFile("3.mp3");
    s4 = minim.loadFile("4.mp3");
    s5 = minim.loadFile("5.mp3");
    s6 = minim.loadFile("6.mp3");
    s7 = minim.loadFile("7.mp3");
    s8 = minim.loadFile("8.mp3");
    s9 = minim.loadFile("9.mp3");
    s10 = minim.loadFile("10.mp3");
    s11 = minim.loadFile("11.mp3");
    s12 = minim.loadFile("12.mp3");
    s13 = minim.loadFile("13.mp3");
    s14 = minim.loadFile("14.mp3");
    }

    void draw() {
    background(0);

    // ------------------

    if (playSong) {
    //for (int i=0; i<key_num; i++) {
    if ( millis()>startTime+notetime) {
    if (iForPlaySong < key_num) {
    println("play " + t[iForPlaySong]);
    playNote(t[iForPlaySong]);
    iForPlaySong++;
    startTime=millis();
    }


    }
    // }//for
    }
    //if
    else // ------------------
    {
    for (int i=0; i<key_num; i++) {
    text(t[i],
    (xpos+(i*text_w_gap))%width,
    ypos+( (int(xpos+(i*text_w_gap))) / width * text_h_gap));
    }
    if (key_num >= num) {
    key_num = 0;
    }
    }
    }

    void keyPressed() {
    if (key==8) {
    key_num--;
    } else if (key==RETURN||key==ENTER) {
    println("Here 11111111111111111111111");
    playSong=true;
    startTime=0;
    //playNote(t[iForPlaySong]);
    //iForPlaySong++;
    } else {
    t[key_num] = key;
    key_num++;
    }
    println("pressed " + int(key) + " " + keyCode);
    }

    void playNote(char val) {
    if (val=='q') {
    s1.play();
    if (s1.position() > notetime )
    {
    s1.rewind();
    }
    }
    if (val=='w') {
    s2.play();
    if (s2.position() > notetime )
    {
    s2.rewind();
    }
    }
    if (val=='e') {
    s3.play();
    if (s3.position() > notetime )
    {
    s3.rewind();
    }
    }
    if (val=='r') {
    s4.play();
    if (s4.position() > notetime )
    {
    s4.rewind();
    }
    }
    if (val=='t') {
    s5.play();
    if (s5.position() > notetime )
    {
    s5.rewind();
    }
    }
    if (val=='a') {
    s6.play();
    if (s6.position() > notetime )
    {
    s6.rewind();
    }
    }
    if (val=='s') {
    s7.play();
    if (s7.position() > notetime )
    {
    s7.rewind();
    }
    }
    if (val=='d') {
    s8.play();
    if (s8.position() > notetime )
    {
    s8.rewind();
    }
    }
    if (val=='f') {
    s9.play();
    if (s9.position() > notetime )
    {
    s9.rewind();
    }
    }
    if (val=='g') {
    s10.play();
    if (s10.position() > notetime )
    {
    s10.rewind();
    }
    }
    if (val=='z') {
    s11.play();
    if (s11.position() > notetime )
    {
    s11.rewind();
    }
    }
    if (val=='x') {
    s12.play();
    if (s12.position() > notetime )
    {
    s12.rewind();
    }
    }
    if (val=='c') {
    s13.play();
    if (s13.position() > notetime )
    {
    s13.rewind();
    }
    }
    if (val=='v') {
    s14.play();
    if (s14.position() > notetime )
    {
    s14.rewind();
    }
    }
    // ---------------------------
    if (val=='y') {
    s1.play();
    if (s1.position() > notetime )
    {
    s1.rewind();
    }
    }
    if (val=='u') {
    s2.play();
    if (s2.position() > notetime )
    {
    s2.rewind();
    }
    }
    if (val=='i') {
    s3.play();
    if (s3.position() > notetime )
    {
    s3.rewind();
    }
    }
    if (val=='o') {
    s4.play();
    if (s4.position() > notetime )
    {
    s4.rewind();
    }
    }
    if (val=='p') {
    s5.play();
    if (s5.position() > notetime )
    {
    s5.rewind();
    }
    }
    if (val=='h') {
    s6.play();
    if (s6.position() > notetime )
    {
    s6.rewind();
    }
    }
    if (val=='j') {
    s7.play();
    if (s7.position() > notetime )
    {
    s7.rewind();
    }
    }
    if (val=='k') {
    s8.play();
    if (s8.position() > notetime )
    {
    s8.rewind();
    }
    }
    if (val=='l') {
    s9.play();
    if (s9.position() > notetime )
    {
    s9.rewind();
    }
    }
    if (val=='b') {
    s10.play();
    if (s10.position() > notetime )
    {
    s10.rewind();
    }
    }
    if (val=='n') {
    s11.play();
    if (s11.position() > notetime )
    {
    s11.rewind();
    }
    }
    if (val=='m') {
    s12.play();
    if (s12.position() > notetime )
    {
    s12.rewind();
    }
    }
    if (val=='.') {
    s13.play();
    if (s13.position() > notetime )
    {
    s13.rewind();
    }
    }
    if (val=='?') {
    s14.play();
    if (s14.position() > notetime )
    {
    s14.rewind();
    }
    }
    }
    //

Q&A

질문하는 공간입니다. 회원이면 누구나 질문/답변 할 수 있습니다.

List of Articles
번호 제목 글쓴이 날짜 조회 수
297 회피게임 만드는중인데 질문이 있어요! WONILISM 2016.05.29 203
296 혹시 프로세싱 과외 해주실 분 안계시니요? Rk22 2017.06.08 217
295 혹시 이미지를 좀 늦게 뜨게 한다든지 그 이미지만 지정해서 클릭하게 하는 법이 있을까요?? 2 치킨 2015.04.20 491
294 한글폰트에 대해서 질문입니다. 3 김재현 2012.10.30 4476
293 한글 주석을 다는데 질문이 있습니다~. 2 file bong 2015.01.25 580
292 한 번 더 질문 드릴게요 4 file 유구르트 2012.12.20 7005
291 필터 이미지를 넣는 부분에서 문제가 . 4 file 조아진 2012.06.06 8278
290 핀볼 관련 소스 없을까요 ㅜㅜ? 1 프로세씩 2014.04.12 1435
289 프로세싱을 학교에서 배우는 학생입니다 ㅠ , ㅠ 2 file 조온마 2016.10.20 214
288 프로세싱을 이용해서 안드로이드, 아두이노를 연동하고싶습니다. 4 Riemeo 2013.11.18 4313
287 프로세싱을 이용한구게임을 만들고 있는데요, 어캐해야될지를 모르겟네용 ㅠ 1 spdrofl 2014.12.07 611
» 프로세싱을 이용한 사운드와 텍스트 기반 작업 질문입니다. 2 jeremy 2016.05.27 517
285 프로세싱으로 전구 컨트롤이 가능할까요? 4 giwon16 2016.10.29 190
284 프로세싱으로 웹캠을 실행시킨 뒤, brightness를 이용하여 다른 영상이 켜지도록 하고 싶은데요 1 dyeun96 2015.05.15 449
283 프로세싱으로 애니메이션을 구현해야 하는데요.. 고단비 2017.09.09 345
282 프로세싱으로 실시간 영상을 불러오는것이 가능한가요? 1 아톰9006 2015.12.01 485
281 프로세싱으로 사진을 보여주고 싶은데요. 백그라운드만 뜨고 사진이 안나와요 ㅠㅠ 3 Wrio 2015.10.21 415
280 프로세싱으로 맵핑을 시도하는 중에.. 질문있습니다ㅠㅠ 3 gbip10 2015.03.09 588
279 프로세싱으로 interactive 3D 개체 만들기 2 2016.10.03 288
278 프로세싱오류 1 yoon 2015.12.06 419
Board Pagination ‹ Prev 1 2 3 4 5 6 7 8 9 10 ... 15 Next ›
/ 15

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소

Designed by sketchbooks.co.kr / sketchbook5 board skin

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Copyright (c) 2012 Make Processing. All Right Reserved.

smileblue

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소