# 開發進度(week 3) ###### tags: `JUCE` * Student : P76101152朱俊霖 * JUCE環境設定  * 簡單run JUCE視窗介面  * 控制波形 * PluginProcessor.cpp(processBlock) → SynthVoice.cpp(renderNextBlock) * Sine波 ```cpp= void SynthVoice::renderNextBlock (juce::AudioBuffer <float> &outputBuffer, int startSample, int numSamples) { if (tailOff > 0.0) { for (int i = startSample; i < (startSample + numSamples); i++) { float value = std::sin(currentAngle) * level * tailOff; outputBuffer.addSample(0, i, value); outputBuffer.addSample(1, i, value); currentAngle += angleIncrement; tailOff *= 0.99; if (tailOff <= 0.05) { clearCurrentNote(); angleIncrement = 0.0; level = 0.0; break; } } } else { for (int i = startSample; i < (startSample + numSamples); i++) { float value = std::sin(currentAngle) * level; outputBuffer.addSample(0, i, value); outputBuffer.addSample(1, i, value); currentAngle += angleIncrement; } } } ``` * 三角波 : 將sin()改成arcsin(sin)即可 * 方波 : 使用正弦函數定義法,當sin為正,value=1;當sin為負,value=-1 * 鋸齒波 : 將sin()改為arctan(tan)即可
×
Sign in
Email
Password
Forgot password
or
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.