Deret Fibonacci : Kisah Musikal dengan Python
Deret Fibonacci adalah deret matematika menarik yang telah menangkap imajinasi matematikawan, ilmuwan, dan seniman selama berabad-abad. Urutan angka ini, yang dimulai dengan 0 dan 1, dan setiap angka berikutnya adalah jumlah dari dua angka sebelumnya, ditemukan terjadi di alam, seni, dan musik. Faktanya, banyak musisi dan komposer telah menggunakan deret Fibonacci untuk menciptakan karya musik yang indah dan rumit.
Salah satu penerapan deret Fibonacci yang paling menarik dalam musik adalah penciptaan apa yang dikenal sebagai "ritme Fibonacci". Ritme ini didasarkan pada deret Fibonacci, dengan setiap angka dalam deret mewakili ketukan dalam ritme. Misalnya, beberapa ketukan pertama dari ritme Fibonacci adalah:
1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144...
Untuk membuat ritme Fibonacci dengan Python, kita dapat menentukan fungsi yang menghasilkan daftar ketukan berdasarkan deret Fibonacci:
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)
Salah satu contohnya adalah penggunaan deret Fibonacci untuk membuat tangga nada pentatonik, yaitu tangga nada lima nada yang biasa digunakan dalam berbagai bentuk musik. Untuk membuat skala pentatonik Fibonacci, kita dapat menggunakan rumus berikut:
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)
Dengarkan keindahan mellow deret Fibonacci dalam musik oleh aSongScout :https://youtu.be/IGJeGOw8TzQ. Hanyutkan diri Anda dalam interaksi matematika dan musik yang memukau ini, karena setiap nada terungkap dengan ketepatan dan keanggunan angka.

![Apa itu Linked List? [Bagian 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































