Organo della Pieve: anche la melodia sull'organo (registro principale), senza il flauto che sembrava un theremin
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018ks2K99uqCZjAxvy7Rdj1R
This commit is contained in:
Binary file not shown.
+5
-3
@@ -1,6 +1,6 @@
|
|||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
"""La musica dentro la Pieve (assets/audio/pieve.mp3), sintetizzata da zero: un organo morbido (canne di flauto,
|
"""La musica dentro la Pieve (assets/audio/pieve.mp3), sintetizzata da zero: un organo morbido (canne di flauto,
|
||||||
poche armoniche) con una melodia lenta originale sopra otto accordi in fa maggiore. Dura un giro intero e ricomincia
|
poche armoniche) con una melodia lenta originale, sul registro principale, sopra otto accordi in fa maggiore. Dura un giro intero e ricomincia
|
||||||
sullo stesso accordo, così il loop non si sente; il riverbero della chiesa lo aggiunge ffmpeg.
|
sullo stesso accordo, così il loop non si sente; il riverbero della chiesa lo aggiunge ffmpeg.
|
||||||
python3 tools/organo.py # scrive assets/audio/pieve.mp3 (serve ffmpeg)
|
python3 tools/organo.py # scrive assets/audio/pieve.mp3 (serve ffmpeg)
|
||||||
"""
|
"""
|
||||||
@@ -58,8 +58,10 @@ for c, (bass, voices) in enumerate(CHORDS):
|
|||||||
for v in voices:
|
for v in voices:
|
||||||
pipe(at, CHORD, hz(v), 0.045, 1.2, 1.8, wrap=True)
|
pipe(at, CHORD, hz(v), 0.045, 1.2, 1.8, wrap=True)
|
||||||
for m, note in enumerate(MELODY):
|
for m, note in enumerate(MELODY):
|
||||||
# La melodia su un flauto un po' più chiaro, con un vibrato appena accennato.
|
# La melodia su un altro registro dello stesso organo, il principale: più armoniche, nessun vibrato, note staccate.
|
||||||
pipe(m * BEAT, BEAT * 0.92, hz(note), 0.055, 0.35, 0.9, partials=((1, 1.0), (2, 0.18), (3, 0.05)), vibrato=0.004, wrap=True)
|
# (Su un flauto a onda pura col vibrato sembrava un theremin: Andrea, 25 ottobre.)
|
||||||
|
pipe(m * BEAT, BEAT * 0.86, hz(note), 0.04, 0.12, 0.7,
|
||||||
|
partials=((1, 1.0), (2, 0.55), (3, 0.32), (4, 0.18), (5, 0.1), (6, 0.06)), wrap=True)
|
||||||
|
|
||||||
peak = max(abs(x) for x in buf) or 1
|
peak = max(abs(x) for x in buf) or 1
|
||||||
with tempfile.TemporaryDirectory() as tmp:
|
with tempfile.TemporaryDirectory() as tmp:
|
||||||
|
|||||||
Reference in New Issue
Block a user