Fibonacci-Folge: Eine musikalische Geschichte in Python
Die Fibonacci-Reihe ist eine faszinierende mathematische Folge, die seit Jahrhunderten die Fantasie von Mathematikern, Wissenschaftlern und Künstlern anregt. Man hat festgestellt, dass diese Zahlenfolge, die mit 0 und 1 beginnt und jede nachfolgende Zahl die Summe der beiden vorherigen ist, in der Natur, in der Kunst und in der Musik vorkommt. Tatsächlich haben viele Musiker und Komponisten die Fibonacci-Folge genutzt, um wunderschöne und komplexe Musikwerke zu schaffen.
Eine der interessantesten Anwendungen der Fibonacci-Folge in der Musik ist die Schaffung des sogenannten „Fibonacci-Rhythmus“. Dieser Rhythmus basiert auf der Fibonacci-Folge, wobei jede Zahl in der Folge einen Schlag im Rhythmus darstellt. Die ersten Schläge eines Fibonacci-Rhythmus wären beispielsweise:
1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144...
Um einen Fibonacci-Rhythmus in Python zu erstellen, können wir eine Funktion definieren, die eine Liste von Schlägen basierend auf der Fibonacci-Folge generiert:
def fibonacci_rhythm(num_beats):
# Initialize the first two numbers in the sequence
fib_seq = [1, 1]
# Generate the Fibonacci sequence up to the desired number of beats
while len(fib_seq) < num_beats:
next_num = fib_seq[-1] + fib_seq[-2]
fib_seq.append(next_num)
# Return the list of beats
return fib_seq[:num_beats]
import winsound
# Generate a 13-beat Fibonacci rhythm
fib_rhythm = fibonacci_rhythm(13)
# Play the rhythm using simple sine wave tones
for beat in fib_rhythm:
frequency = 440 * (2 ** (beat / 12))
frequency = int(max(32,min(frequency,32767)))
duration = 200
winsound.Beep(frequency,duration)
Ein Beispiel ist die Verwendung der Fibonacci-Folge zur Erstellung einer pentatonischen Tonleiter, einer fünftönigen Tonleiter, die häufig in vielen Musikrichtungen verwendet wird. Um eine pentatonische Fibonacci-Tonleiter zu erstellen, können wir die folgende Formel verwenden:
scale = [0, 1, 3, 5, 8]
for i in range(5,21):
next_note = scale[-1] + scale[-2]
scale.append(next_note % 12)
from midiutil import MIDIFile
# Generate a Fibonacci pentatonic scale
scale = [0, 1, 3, 5, 8]
for i in range(5, 21):
next_note = scale[-1] + scale[-2]
scale.append(next_note % 12)
# Create a MIDI file with a Fibonacci melody
midi_file = MIDIFile(1)
# Add notes to the MIDI file based on the Fibonacci sequence
time = 0
for beat in fibonacci_rhythm(13):
note = scale[beat % 5] + (beat // 5) * 12
midi_file.addTempo(0,0,120)
midi_file.addNote(0, 0,note,time,1,127)
time += 0.5
# Write the MIDI file to disk
with open("fibonacci.mid", "wb") as output_file:
midi_file.writeFile(output_file)
Hören Sie sich die sanfte Schönheit der Fibonacci-Sequenz in der Musik von aSongScout an:https://youtu.be/IGJeGOw8TzQ. Verlieren Sie sich in diesem faszinierenden Zusammenspiel von Mathematik und Musik, während sich jede Note mit der Präzision und Eleganz der Zahlen entfaltet.

![Was ist überhaupt eine verknüpfte Liste? [Teil 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































