반응형

개발자 1225

C# Audio Tutorial 1 - Wave File with NAudio

Naudio 사용법 잘 설명한게 없는데 이 튜토리얼 좋네요~ 나중에 블로그로 포스팅 할 예정. C# Audio Tutorial 1 - Wave File with NAudio 소스제공 : Sample code and a demo wave file are available on my website.http://www.giawa.com/tutorials C# Audio Tutorial 2 - MP3/WAV File with NAudio C# Audio Tutorial 3 - Convert MP3 File to Wave File C# Audio Tutorial 4 - Custom WaveStream Object C# Audio Tutorial 5 - EffectStream Part 1 C# Audio Tutor..

개발자/C# 2013.03.26

배열로부터 평균, 중간, 최소, 최대, 편차, 표준편차값 등을 계산하는 클래스

예전 신호처리 관련 개발할때 어디서 가져온 코드. 주어진 배열로부터 평균, 중간, 최소, 최대, 편차, 표준편차값 등을 계산하는 클래스 ArraySummary.java 참고하세요~ //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // This file is part of dLife // Copyright (c) 2010 Grant Braught. All rights reserved. // // dLife is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as publishe..

개발자/Java 2013.03.26

audacity 를 사용해서 리코더 음원을 분석하는 중

공개 프로그래인 audacity 를 사용해서 리코더 음원을 분석하는 중프로그램~ http://audacity.sourceforge.net/SVN repositary 제공 : svn checkout http://audacity.googlecode.com/svn/audacity-src/trunk/ audacity-read-only 퐁당퐁당.mp3 불러들이면 이런 파형을 볼 수 있다. 리코더 연주는 좀 특이한 파형을 볼 수 있다.이 시점에서 노이즈도 제거해주고 등등 처리를 해줄 수 있고. 아니면 그냥 분석으로 직행.어느 일정부분을 선택하여 메뉴의 [분석] - 스펙트럼 플롯을 실행하면 이런 파형~ FFT를 거친 화면 이겠지.가장 앞 부분의 최대 주파수에 커서를 들이대면 피크 : 546 Hz 이고 크기가 -13...

개발자/Android 2013.03.22

안드로이드 악기 앱 개발을 위한 AudioTrack 사용하기

개발중인 악기 앱 개발을 위해 소리를 각종 소리를 만들고, 합성하고, 분석하는 방법을 포스팅. 아래 코드는 합성된 소리를 재생한다. 먼저 Layout 파일을 보면 스타트, 스톱을 실행하는 버튼 2개를 배치한다. 코드를 살펴보면 onCreate 에서 버튼 등록하고 리스너를 등록해준다. @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_audio_main); startSound = (Button) this.findViewById(R.id.StartSound); startSound.setOnClickListener(this);..

개발자/Android 2013.03.13

안드로이드 일정한 톤으로 사운드 생성 하고 플레이 -

오늘 블로그에 Syntax Highlighter를 적용 기념으로 코드를 포함한 포스팅 ~ 요즘 음악, 악기 관련 앱 검토중이라서 안드로이드에서 어떻게 소리를 만들고 재생하는지 보고있다. 아래는 주파수에 따른 (여기서는 1500Hz)에 맞는 사인파형을 만들어 내고, 만들어진 데이터를 16Bit PCM 데이터 형식으로 변환하여 플레이 한다. 주파수를 바꾸면 소리의 톤이 틀려진다. 여기서는 onResume 에 구현했지만 그냥 onCreate 에 구현해도 된다. xml 파일을 사용하지 않는다. 소리만 확인하는 정도이니 어떻게 만들어도 상관 없다. setContentView(R.layout.activity_sound_main); 여기 xml 파일만 맞추어 준다. 여기가 구현코드~ package com.soried..

개발자/Android 2013.03.13

XML(Extensible Markup Language) 에 대한 10가지 관점

XML : Extensible Markup Language에 대한 10가지 관점 XML, XLink, Namespace, DTD, Schema, CSS, XHTML 등 ... 만약 XML을 새로이 접하게 된다면, 이와같은 용어는 매우 어렵게 느껴질것이다. 이 요약은 XML의 초보자들에게 기본적인 개념에 대하여 10 가지를 제공 함으로써 나무를 통하여 숲을 볼 수 있도록 하기 위한것이다. 1. XML은 구조적인 데이타를 위한것이다 스프레드 시트, 주소록, 형상 파라미터, 비지니스 트랜잭션, 그리고 기술 도면 등 구조를 가지는 데이타는 사물을 포함한다. XML은 텍스트 포맷을 설계하기 위한 규칙(가이드 라인이나 관례라고 생각할 수 있다)들의 집합이며, 이러한 규칙을 통하여 데이타를 체계화한다. XML은 프로..

개발자/Algorithm 2013.03.12

안드로이드 AudioRecoder 쓸때 에러메시지 - 퍼미션 줘야 됨.

AudioRecord 사용하실때 보통 초기화를 아래처럼 시키고 int bufferSize = AudioRecord.getMinBufferSize(frequency,channelConfiguration, audioEncoding); AudioRecord audioRecord = new AudioRecord(MediaRecorder.AudioSource.MIC, frequency,channelConfiguration, audioEncoding, bufferSize); 이후 진행을 하는데 아래와 같은 메시지가 나올경우 01-30 15:11:46.699: E/AudioRecord(4366): AudioFlinger could not create record track, status: -101-30 15:11:4..

개발자/Android 2013.02.28

한 프로젝트 다른 패키지의 액티비티 실행할때 매니패스트에 경로입력

하나의 프로젝트에 여러 패키지가 설정되어 있을경우다른 패키지의 액티비티를 살행하면 에러나면서 폰이 중단되는 현상이 발생~ 매니패스트에 액티비티 기술하는 부분에서 패키지 경로까지 입력했더니 잘 됨. 패키지 명이 com.soriedu.customrecorder에서 실행되는 액티비티를 다른 패키지 파일에서 불러올땐 매니패스트 파일에 반드시 아래처럼 경로까지 기술해야 함~

개발자/Android 2013.02.26

애자일 선언 - 애자일 소프트웨어 개발 원칙들

애자일 선언은 애자일 소프트웨어 개발의 토대를 강화하는 원칙을 발표한 것이다. 초안은 2001년 2월 11일에서 13일까지 유타의 워새치산맥에 있는 스노우버드 스키 리조트 라운지에서 만들어졌다. 여기에서 기존의 무거운 방법론보다 가벼운 대체방법론들의 필요성에 대해 토의하고자 Extreme Programming, Scrum, DSDM, AdaptiveSoftware Development, Crystal, Feature Driven Development, Pragmaticprogramming 같은 다양한 새 방법론의 대표자들이 만났다. 정보출처 : http://gyumee.egloos.com/1021784 Manifesto for Agile Software Development애자일 소프트웨어 개발에 대한 ..

개발자 2013.02.15

언제 리팩토링 (Refactoring)을 해야 하는가 ?

켄트 백이 제안한 냄새론에 따라 아래와 같은 느낌의 냄새가 나면 리팩토링을 수행한다. 중복된 코드 - Duplicated Code긴 메소드 - Long Method커다란 클래스 - Large Class긴 인수의 리스트 - Long Parameter List스위치 명령문 - Switch Statements병렬적인 상속구조 - Parallel Inheritance Hierarchies추측에 근거한 일반화 - Speculative Generality임시필드 - Temporary Field설명문 - Comments 코드 자체가 할 말을 하게 하면 된다.

개발자/Algorithm 2013.02.13

안드로이드 스트링 비교시 주의 할 점~ 알파벳 첫글자 비교등과 같은...

String 내용을 비교할땐 반드시 equals 사용 1. 주소값 비교 String s1 = new String(“Hello”)String s2 = new Sttring(“Hello”) if(s1==s2) 정답 : ==을 이용한 비교는 내용비교가 아닌 주소를 비교하므로 False이다 2.내용비교 String s1 = new String(“Hello”) String s2 = new String(“Hello”) if(s1.equals(s2)) 정답 : True “equals()”를 이용한 비교는 내용을 비교하므로 True 단 equals()를 이용한 내용비교는 Wrapper클래스와 String클래스만 해당된다 3.주소값 비교2 StringBuffer s1 = new String(“Hello”) StringB..

개발자/Android 2013.01.10

안드로이드 리스트뷰에 사전식 인덱스를 Seekbar 로 구현하기

소프트웨어 개발은 손이나, 키보드로 하는게 아니라 머리와 툴로 하는것이다. 음악용어 사전을 만들다가 보니 사전처럼 인덱스가 필요하다. 안드로이드에서 기본으로 지원하는 SectionIndexer 를 이용하려고 보니 좀 복잡하고 리스트 어댑터부터 다시 만들어야 하는것 같아서 다른 방법을 적용하기로 하고 Seekbar 를 사용하기로 함. 안드로이드에서 기본으로 지원하는 SectionIndexer 를 이용하시려는 분은 참고하세요~ http://www.androidpub.com/97392 SectionIndexer - 리스트에서 첫 글자 시작되는 곳으로 가기 구현할 화면을 미리 설계해보면 상단에 씨크바가 위치하고 아래가 리스트 뷰이다. 초기에만 리스트 전체를 보여주고 씨크바를 이동할 경우 전체가 출력되는 중에 해..

개발자/Android 2013.01.07

잘 만든 midi 파일 생성 프로그램과 미디파일 분석 문서

피아노 앱을 만들려고 midi 파일도 들여다 보고, 좀 더 좋은 소리를 내려면 어떻게 해야하나 연구도 하고, 안드로이드에서 악기 앱은 어떤식으로 구현하는지 보고 있네요. 보통의 악기 앱들은 midi 파일을 불러다가 출력하여 소리를 내도록 되어 있는거 같습니다. 그것도 동적으로 미디 파일을 생성하는것이 아니라 프로그램이 시작시 모든 음과 소리를 파일로 만들어 두고 사용자의 제스처에 반응하도록 만드는 방식으로요. 올려드리는 파일은 java 로 작성된 실제 미디 파일을 만들어 루트 디렉토리에 test1.mid 라는 파일을 생성해줍니다. 이 파일을 안드로이드에서 연주하면 물론 아주 좋은 소리 잘 나옵니다. MIDI 파일 구조에 대해 조금은 아셔야 하지만 우선 미디파일을 생성하는 방법만 알아두셔도 앞으로 공부하는..

개발자/Android 2013.01.03

안드로이드에서 쓸 수 있는 핵심 제스처 설명

제스처 제스처는 사용자가 제공된 스크린 객체를 조작하여 앱과 상호작용하는 방법입니다. 아래는 안드로이드에서 쓸 수 있는 핵심 제스처 표입니다. 터치 선택한 항목의 기본 기능을 작동합니다. 조작법눌렀다, 뗍니다 롱 프레스 데이터 선택 모드로 들어갑니다. 하나 이상의 항목을 선택할 수 있고 컨텍스트 액션 바를 통해 데이터를 조작할 수 있습니다. 컨텍스트 메뉴를 보여주기 위해서는 롱 프레스를 쓰지 마세요. 조작법누르고, 기다렸다, 뗍니다 스와이프 넘친 컨텐츠를 스크롤하거나 같은 계층의 뷰 사이를 이동합니다. 조작법누르고, 움직이고, 뗍니다 드래그 뷰 내의 데이터를 고쳐 배열하거나 컨테이너로 데이터를 옮깁니다. (예: 홈 화면의 폴더) 조작법롱 프레스 후, 움직이고, 뗍니다 더블 터치 컨텐츠를 확대합니다. 또 ..

개발자/Android 2012.12.17

상대 레이아웃을 사용하여 이미지와 텍스트로 안드로이드 버튼 만들기

drawableLeft, drawableRight, drawableTop, drawableBottom : 당신이 단지에 대한 이미지와 텍스트로 기본 버튼을 만들려면, 당신은 표준 안드로이드 버튼 제어 및 다음 속성 중 하나를 사용할 수 있습니다.이 같은 버튼을 얻으려면 : /> 유사한 방법으로 당신은 텍스트 상단이나 하단 이미지 오른쪽에 버튼을 만들 drawableRight, drawableTop, drawableBottom 속성을 사용할 수 있습니다. 당신은 두 개 이상의 줄에 텍스트를 나눌 \ N (라인 피드) 문자를 사용할 수 있습니다 두 줄의 텍스트를 갖고 싶어합니다.이와 같은 버튼의 경우 : /> 스타일에 단추가. DrawablePadding 속성이 Gravitiy 속성이 왼쪽이나 날라가 텍스트..

개발자/Android 2012.12.13
반응형