목록전체보기 (483)
음악, 삶, 개발
코드 class Arp : public juce::AudioProcessor { public : void prepareToPlay(double sampleRate, int maximumExpectedSamplesPerBlock) override { notes.clear(); // [1]: First, we empty the SortedSet of MIDI note numbers. currentNote = 0; // [2]: The currentNote variable temporarily holds the current index for the SortedSet of notes. lastNoteValue = -1; // [3]: The lastNoteValue variable temporarily hol..
코드 void transposeByInterval(juce::MidiBuffer& midiBuffer, int interval) { juce::MidiBuffer transposedMidi; for (const auto metaData : midiBuffer) { auto midiMessage { metaData.getMessage() }; if (midiMessage.isNoteOnOrOff()) { midiMessage.setNoteNumber(midiMessage.getNoteNumber() + interval); transposedMidi.addEvent(midiMessage, metaData.samplePosition); } } midiBuffer.swapWith(transposedMidi); ..
juce 의 Random 클래스로 객체를 생성후 습관적으로 앞에 const 를 붙였더니, 아래와 같은 에러가 발생하였다. 에러 메세지 : "the object has type qualifiers that are not compatible with the member function" 즉, "이 객체의 type 지정자는 멤버 함수와 호환되지않습니다" 그래서, juce::Random 앞에 const 를 제거했더니, 정상적으로 컴파일 되었다. 이 부분에 대해 의문이 생겨, 위 에러 메세지로 stackoverflow 에 검색을 해보았더니, 역시나, 나와같은 궁금증을 가진 사람이 있었고, 아래와 같은 답변이 있었다. 핵심은.. "You cannot call a non-const method with a const..
https://www.sourcetrail.com/blog/const_friend_or_foe_in_cpp/ https://www.studytonight.com/cpp/const-keyword.php https://www.cprogramming.com/tutorial/const_correctness.html https://docs.microsoft.com/en-us/cpp/cpp/const-cpp?view=vs-2019 https://dydtjr1128.github.io/cpp/2020/01/08/Cpp-const.html https://www.cppkorea.org/CppCoreGuidelines/Const/ https://m.blog.naver.com/PostView.nhn?blogId=taeil34..
CHANGING FREQUENCY AND AMPLITUDE IN TIME: ENVELOPES AND GLISSANDI ENVELOPES OF ACOUSTIC INSTRUMENTS ENVELOPES OF SYNTHETIC SOUNDS GLISSANDI TECHNICAL DETAILS • EXPONENTIAL AND LOGARITHMIC CURVES TEST WITH SHORT ANSWERS (30 words maximum)
FREQUENCY, AMPLITUDE, AND WAVEFORM frequency(주파수, amplitude(진폭) 및 waveform(파형)은 사운드의 세 가지 기본 매개 변수입니다. 이러한 각 매개 변수는 우리가 소리를 인식하는 방법에 영향을줍니다. 특히 : a) 낮은 음과 높은 음을 구별하는 능력 (frequency) b) 큰 소리와 부드러운 소리 를 구별하는 능력 (amplitude) c) 다양한 음색(timbre)을 구별하는 능력 (waveform) 소리의 물리적 특징, 음악적 매개 변수 및 지각 된 음질 간의 대응에 대한 표 (Bianchini, R., 2003에서 발췌)를 살펴 보겠습니다. FREQUENCY (주파수) 주파수는 소리의 피치를 결정하는 물리적 매개 변수입니다. 즉, 고음과 저음을..
SOUND SYNTHESIS AND SIGNAL PROCESSING 음악에서 컴퓨터를 사용함으로써 작곡가와 뮤지션은, 음향 악기로는 상상할 수 없는 정밀도와 자유로 사운드를 관리하고 조작할 수 있습니다. 컴퓨터 덕분에 이제 상상할 수있는 모든 방식으로 사운드를 모델링할 수 있습니다. 전통적인 악기로 작업하는 전통적인 작곡가는 소리를 사용하여 작곡하는 반면, 전자 작곡가는 소리를 직접 작곡한다고 말할 수 있습니다. 애니메이션 그래픽에서도 똑같은 일이 일어났습니다. 컴퓨터 덕분에 이제는 매우 사실적인 이미지와 영화 시퀀스를 만들 수 있으며, 다른 방법으로는 제작할 수 없었을 것입니다. 거의 모든 영화 특수 효과는 이제 컴퓨터로 제작됩니다. 육체와 피의 배우들과 화면을 공유하는 가상 개체를 찾는 것이 보편화되..
PREREQUISITES FOR THE CHAPTER (요구사항) - 컴퓨터 사용의 기본적인 기술 (컴퓨터 구동하기, 파일 및 폴더 관리하기, 오디오 포맷, etc..) - 음악 이론에 대한 최소한의 지식 (semitone, octave, rhythm, etc..) LEARNING OBJECTIVES (배울 주제) Knowledge - 소리 합성과 신호 처리에서 다루는 신호의 경로 - 소리의 주요 매개변수(parameter)들과, 이것들의 특성 - pitch 및 소리의 강도(intensity)가 디지털 방식으로 인코딩되는 방법 - 다양한 tuning 시스템에 따른 음악적인 interval - 오디오 파일 포맷 Skills - frequency 와 amplitude 의 변화들과, 이것들의 특성들을 묘사하는..
Introduction 이것은 디지털 합성 및 사운드 디자인에 전념하는 세 개의 e-book 시리즈 중 첫 번째입니다. 두 번째 볼륨에서는 dynamics processing, delay lines, reverberation 및 spatialization, digital audio 및 샘플 사운드, MIDI, OSC 및 실시간 합성을 포함하여 사운드 합성 및 신호 처리 영역의 다양한 추가 주제를 다룹니다. 세 번째 볼륨은 비선형 기술 (AM 및 FM 합성과 같은 non-linear), granular synthesis, analysis and resynthesis, convolution, physical modeling, micromontage, computer-aided composition 및 Max..
이상하게 들릴지 모르지만, 몇 년 전 저는 책과 기사를 읽고 컴퓨터로 소리를 만드는 방법을 배우는 데 많은 시간을 보냈고, 설명되는 합성 (synthesis) 기술이 실제로 어떻게 들릴지 상상하려고 했습니다. 이 연습이 제 상상력을 자극했다고 생각하지만, 디지털 기술을 배우는 데 중요한 부분인, 지각 경험 (perceptual experience)을 더 이상 빼앗길 필요가 없을 정도로 실시간 합성이 진행되어 기쁩니다. Alessandro Cipriani와 Maurizio Giri의 책은 직접 조작(manipulate)하고 경험할 수 있는 실시간 사운드 합성의 예를 사용하여 지각, 이론 및 실습을 명시적으로 통합하는 electronic sound에 대한 첫 번째 과정 중 하나입니다. 제 생각에는 소리에 대..