aboutsummaryrefslogtreecommitdiffstats
path: root/solo-tool-project/src/solo_tool
diff options
context:
space:
mode:
authorEddy Pedroni <epedroni@pm.me>2026-10-05 20:38:57 +0200
committerEddy Pedroni <epedroni@pm.me>2026-10-05 20:38:57 +0200
commit3c3fae1c29348c8b5674dac7ccdb30eab78668f6 (patch)
tree165365b9478d1c0f8ab47a9aaea13ad0a1d4daa3 /solo-tool-project/src/solo_tool
parentd75ed4040c331eee2643c28c6887bf0078fc3188 (diff)
Add metronome MVP
Diffstat (limited to 'solo-tool-project/src/solo_tool')
-rw-r--r--solo-tool-project/src/solo_tool/metronome.py11
1 files changed, 6 insertions, 5 deletions
diff --git a/solo-tool-project/src/solo_tool/metronome.py b/solo-tool-project/src/solo_tool/metronome.py
index d99e0b8..9c65357 100644
--- a/solo-tool-project/src/solo_tool/metronome.py
+++ b/solo-tool-project/src/solo_tool/metronome.py
@@ -2,13 +2,14 @@ import pyaudio as pa
from array import array
def _createClickSample(clickFrequency: int, samplingRate: int) -> array:
- clickDuration = 0.1 # seconds
+ clickDuration = 0.03 # seconds
sampleLength = int(clickDuration * samplingRate)
- fadeSamples = 10
- attackEnv = [i/fadeSamples for i in range(1, fadeSamples, 1)]
- releaseEnv = [i/fadeSamples for i in range(fadeSamples, 0, -1)]
- amplitudeEnv = attackEnv + [1.0] * (sampleLength - len(attackEnv) - len(releaseEnv)) + releaseEnv
+ fadeSamples = 50
+ amplitude = 0.8
+ attackEnv = [(i/fadeSamples) * amplitude for i in range(1, fadeSamples, 1)]
+ releaseEnv = [(i/fadeSamples) * amplitude for i in range(fadeSamples, 0, -1)]
+ amplitudeEnv = attackEnv + [amplitude] * (sampleLength - len(attackEnv) - len(releaseEnv)) + releaseEnv
cycleLength = (1 / clickFrequency) * samplingRate
from math import sin, pi