Crasmax  |  Vatan Bilgisayar
site logo
  • HOŞGELDİNİZ
  • BLOG
  • ÇALIŞMALAR
  • HAKKIMDA
  • İLETİŞİM
Homepage > Blog > Kodlama > Ses (3) : La'yı Üreten Grammy de Alır
2 Ekim 2018  |  By AÖ In Blog, Kodlama

Ses (3) : La’yı Üreten Grammy de Alır

ses-3

Bir önceki Ses (2) : Abracadabra yazısında sadece matematiksel fonksiyonları kullanarak herhangi bir enstrüman veya ses üreteci olmadan La sesini (4. oktavdaki A4 sesi) üretmiştik. Bir notayı üreten, bir çok notayı, o halde bir şarkıyı üretebilir. Şarkıyı üreten de Grammy ödülünü kapar.

Yiğitcan Akçelik’in ses ve müzik bilgisi ile yan yana gelince aşağıdaki tek sesli müzik üreteci yazılımı ortaya çıktı.

 


import numpy as np
import matplotlib.pyplot as plt
import wave
import struct

sample        = int(48000/8)
sampling_rate = 48000.0
pi            = 22/7
amplitude     = 16000
channel       = 1
data_size     = 2
song_name     = input('Şarkının adını giriniz: ')
song          = input("Şarkının notalarını giriniz: ")
i             = 0
x             = len(song)

sound_file = wave.open(f'{song_name}.wav', 'w')
sound_file.setparams(( channel,
data_size,
int(sampling_rate),
sample,
'NONE',
'not compressed' ))

frekans = {'C':65.41,'C#':69.30,'D':73.42,'D#':77.78,'E':82.41,'F':87.31,'F#':92.50,'G':98.00,'G#':103.83,'A':110.00,'A#':116.54,'B':123.47}

while (i<x):
j=1
if song[i+1]=='#':
note = song[i:i+2]
j=2
else:
note = song[i]

octave = 2**(int(song[i+j])-1)
beat   = int(song[i+j+1])

print(note)
wave = [ np.sin( 2 * pi * octave*frekans[note] * x/sampling_rate) for x in range(12000*beat) ]

for s in wave:
sound_file.writeframes(struct.pack('h', int(s * amplitude)))
i = i+j+2

sound_file.close()

kodlama ses sinyal işleme

Article by AÖ

Previous StoryCrasmax : Ayşenaz’la Hayalimiz
Next StoryLa Tomatina

Related Articles:

  • ses-2
    Ses (2) : Abracadabra
  • ses-1
    Ses (1) : Sesin ABC'si

Comments: no replies

Join in: leave your comment Cancel Reply

(will not be shared)

SEARCH

banner the journal

CATEGORIES

  • Blog (13)
    • Beğendiklerim (3)
    • Görmek Gerek (2)
    • İş İle İlgili (1)
    • Kodlama (4)
  • Genel (4)

RECENT POSTS

  • Başkaları İçin Ağaçlar 16 Ocak 2021
  • İki Tatlı Reçel : Passion Fruit Reçeli 8 Ağustos 2020
  • Lipsoz Buğulama 25 Temmuz 2020
  • Kırlangıç Buğulama 15 Temmuz 2020
  • Bir ustanın ayak izlerinde : Venedik 11 Kasım 2019

ARCHIVES

  • Ocak 2021 (1)
  • Ağustos 2020 (1)
  • Temmuz 2020 (2)
  • Kasım 2019 (1)
  • Kasım 2018 (1)
  • Ekim 2018 (4)
  • Eylül 2018 (1)
  • Ağustos 2018 (1)
  • Haziran 2018 (1)

CALENDAR

Ocak 2021
P S Ç P C C P
 123
45678910
11121314151617
18192021222324
25262728293031
« Ağu    

TAG CLOUD

BaşkalarıİçinAğaçlar buğulama crasmax gezi iş kodlama kırlangıç lipsoz passion fruit python reçel ses sinyal işleme ticaret TreesForOthers türkçe yemek tarifi şehir

Text Widget

Vivamus luctus urna sed urna ultricies ac tempor dui sagittis. In condimentum facilisis porta. Sed nec diam eu diam mattis viverra. Nulla fringilla, orci ac euismod semper, magna diam porttitor mauris, quis sollicitudin sapien justo in libero. Vestibulum mollis mauris enim. Morbi euismod magna ac lorem rutrum elementum. Donec viverra auctor lobortis. Pellentesque eu est a nulla placerat dignissim. Morbi a enim in magna semper bibendum.

About Us

In condimentum facilis porta. Sed nec diam eu diam mattis viverra. Nulla fringilla, orci acerty euismod semper, magna diamert porttitor mauris, quis sollicitudin sapien justo in libero. Mei iriure dignissim ad, prompta.

Latest Posts

  • Başkaları İçin Ağaçlar 16 Ocak 2021
  • İki Tatlı Reçel : Passion Fruit Reçeli 8 Ağustos 2020
  • Lipsoz Buğulama 25 Temmuz 2020

Etiketler

BaşkalarıİçinAğaçlar buğulama crasmax gezi iş kodlama kırlangıç lipsoz passion fruit python reçel ses sinyal işleme ticaret TreesForOthers türkçe yemek tarifi şehir

Archives

  • Ocak 2021 (1)
  • Ağustos 2020 (1)
  • Temmuz 2020 (2)
  • Kasım 2019 (1)
  • Kasım 2018 (1)
  • Ekim 2018 (4)
  • Eylül 2018 (1)
  • Ağustos 2018 (1)
  • Haziran 2018 (1)
Copyright ©2018 ThemeFuse. All Rights Reserved