Login
Order Now
Support
Python Task on Musical Score Player

Python Task on Musical Score Player

  • 13th May, 2022
  • 15:10 PM

import numpy as np
import simpleaudio as sa
#item contain the symbol of the sheet music and it is encoded in the matriculation number i.e 'abdc'
#here a is pitch of sine wave which we want to generate 
#here b is the octave 
#here c is duration of note 
#here d is the augmentation of note duration 
#list is define so that the sound feels like a tune
item=["264 c 0 1",
      "275 c# 0 2",
      "297 D 0 1",
      "330 E 0 2",
      "352 F 0 1",
      "396 G 0 2",
      "440 A 0 1"]
for i in item:#used variable i to iterate over every string in item
    print(i)
    temp=i.split()#split the string into list 
    frequency = int(temp[0])  # Our played note frequency
    fs = 44100  # 44100 samples per second
    duration = int(temp[3])+int(temp[2])  #  duration+augmentation
    t = np.linspace(0, duration, duration * fs, False)# here we generate array with duration*sample_rate steps, ranging between 0 and duration
    note = np.sin(frequency * t * 2 * np.pi)# here we generate a sine wave
    audio = note * (2**15 - 1) / np.max(np.abs(note))# here we ensure that highest value is in 16-bit range
    audio = audio.astype(np.int16)# here we convert to 16-bit data
    play_obj = sa.play_buffer(audio, 1, 2, fs)# Play audio, here 1 specify number of channels
    play_obj.wait_done()# Wait for audio to finish before exiting
  

Share this post

assignment helpassignment helperassignment expertsassignment writing services