Ses kaydı, çağımızın teknolojik gelişmeleriyle birlikte dijital bir dönüşüm yaşamıştır. Eski zamanlarda, ses kayıtları CD'ler gibi fiziksel ortamlara kaydedilirken, bugün akıllı telefonlar gibi cihazlarda dijital olarak saklanmaktadır.
Ses kaydı, ses dalgalarının özel bir sayısal formata dönüştürülerek dijital belleğe kaydedilmesi işlemidir. Genellikle bu işlem için "Pulse Code Modulation (PCM)" adı verilen bir yöntem kullanılır.
"Pulse Code Modulation" diğer değişle "Darbe Kodu Modülasyonu" ve Demodülasyonu Nedir?
Darbe kodu modülasyonu, bir analog sinyali dijital bir sinyale dönüştürmek ve böylece değiştirilmiş bir analog sinyalin dijital iletişim ağı üzerinden iletilmesini sağlamak için kullanılan bir yöntemdir . PCM ikili formda olduğundan yalnızca iki olası durum yüksek ve düşük olacaktır (0 ve 1). Analog sinyalimizi demodülasyonla da geri alabiliriz. Darbe Kodu Modülasyonu işlemi, Örnekleme, Niceleme ve Kodlama olmak üzere üç adımda gerçekleştirilir. Diferansiyel darbe kodu modülasyonu (DPCM) ve uyarlanabilir diferansiyel darbe kodu modülasyonu (ADPCM) gibi iki spesifik darbe kodu modülasyonu türü vardır.
PCM, ses dalgalarının sürekli analog dalga formundan, kesikli bir sayısal formata çevrilmesini sağlar. Bu yöntem, ses kayıtları, telekomünikasyon ve dijital ses işleme gibi birçok uygulamada yaygın olarak kullanılır.
Konuştuğumuzda veya her hangi bir ses çıkardığımızda bunun ses dalgası Görsel[1] şeklinde yayıldığını biliyoruz.
Elektronik Cihazlarda Ses Kaydı: Sayı Sistemlerinin Rolü
Ses kaydı, elektronik cihazlarda sesi dijital formatta saklamak ve tekrar çalmak için kullanılan temel bir teknolojidir. Bu teknoloji sayesinde, sesleri kaydedebilir, saklayabilir ve kusursuz bir şekilde yeniden dinleyebiliriz. Ancak, bu işlem nasıl olur ve ses dalgaları nasıl sayılara dönüştürülüp belleğe Görsel[2] kaydedilir?
Ses kaydının temelini, sayı sistemleri oluşturur. Bilgisayarlar ve diğer elektronik cihazlar, ikili sayı sistemi (binary) temelinde çalışırlar ve ses kaydı da bu sisteme dayanır. İkili sayı sistemi, yalnızca iki rakam içerir: 0 ve 1. Her bir sayı, bu iki rakamın bir kombinasyonuyla temsil edilir.
Örneğin, günlük hayatta kullandığımız "1" rakamı ikili sayı sisteminde "0001" olarak temsil edilir. Benzer şekilde, "2" rakamı "0010," "6" rakamı ise "0110" gibi bir dizi "0" ve "1" ile ifade edilir. Bu ikili sayılar, bilgisayarların belleğine (hafızasına) kaydedilir.
Ses kaydı işlemi sırasında, analog ses dalgaları önce belirli aralıklarla örneklere bölünür.
Discrete Time Signal - Görsel[3], bir işaretin belirli zaman aralıklarında örneklenmiş ve sayısal değerlerle temsil edildiği bir tür işarettir. İkili sayı sistemi (binary) veya ondalık sayı sistemi (decimal) gibi bir sayı sistemi kullanılarak temsil edilir. Bu tür işaretler, genellikle bilgisayarlar ve dijital sinyal işleme sistemleri tarafından işlenebilen dijital sinyallerdir.
Yukarıda ki örnekte olduğu gibi
000 = 0,
001 = 1,
010 = 2,
011 = 3,
100 = 4,
...
şeklinde gidiyor. Bunlar bilgisayarda ilgili yerlere daha kompleks ve düzenli biçimde kayıt ediliyor. Ardından dinlenileceği vakit örnek ilgili çıktı verisi [Hoparlör] bu sinyalleri ilgili frekanslarda çalıştırıyor yani aslında sesimizin detaylı haritasını kaydetmiş oluyoruz ve sonra o haritayı bir coğrafyacı [Hoparlör] okuyor.
Bu örnekler, analog sesin belli bir zaman dilimindeki yükseklik (genlik) değerlerini temsil eder. Her bir örnek, ikili sayı sistemi kullanılarak dijital bir değere dönüştürülür. Örnekleme hızı (sampling rate) ve bit derinliği (bit depth) gibi parametreler bu dönüşümün kalitesini belirler. Daha yüksek örnekleme hızı ve bit derinliği, daha yüksek ses kalitesi anlamına gelir.
Dönüştürülen bu dijital değerler, sayısal kodlama yöntemleri kullanılarak temsil edilir. Bu kodlama, ses dalgalarının yükseklik ve frekans değişikliklerini ifade eden bir sayısal formda saklanmasını sağlar.
Sonuç olarak, elektronik cihazlar ses kaydı yaparken analog ses dalgalarını ikili sayı sistemi kullanılarak Görsel[3] - Görsel[4] dijital formatta saklarlar. Bu sayılar, bilgisayar belleği içinde muhafaza edilir Görsel[2] ve daha sonra ses çalma cihazları veya hoparlörler Görsel[5] tarafından alınıp ses dalgalarına dönüştürülerek kusursuza yakın bir şekilde tekrar dinlenir. Bu sayısal işlem sayesinde, ses kaydı yüksek kalitede saklanabilir ve paylaşılabilir hale gelir, bu da günlük yaşamımızda müziği ve sesi keyifle deneyimlememizi sağlar.
Biz Yapalım Kısmı:
#Peki sizler ile beraber neden kendi sesimizin haritasını #oluşturmayalım ?
#Oluşturduğum kodu paylaşmak isterim:
from pydub import AudioSegment
import wave # kütüphanaler
import numpy as np
import matplotlib.pyplot as plt
def convert_mp3_to_wav(mp3_path, wav_path):
audio = AudioSegment.from_mp3(mp3_path)
audio.export(wav_path, format="wav")
def plot_waveform(audio_path):
wave_file = wave.open(audio_path, 'r')
sample_width = wave_file.getsampwidth()
frame_rate = wave_file.getframerate()
num_frames = wave_file.getnframes()
num_channels = wave_file.getnchannels()
audio_data = wave_file.readframes(num_frames)
audio_array = np.frombuffer(audio_data, dtype=np.int16)
# Eğer iki kanallı ise, kanalları birleştir
if num_channels == 2:
audio_array = audio_array.reshape(-1, 2).mean(axis=1)
time = np.arange(0, num_frames) * (1.0 / frame_rate)
plt.plot(time, audio_array, linewidth=0.5)
plt.xlabel('Time (s)')
plt.ylabel('Amplitude')
plt.title('Audio Waveform')
plt.show()
# MP3 dosyasını WAV formatına dönüştürüyoruz
mp3_path = 'a.mp3' # ilk a.mp3 diye ses dosyası oluşturdum
wav_path = 'a.wav'
convert_mp3_to_wav(mp3_path, wav_path)
# Dönüştürülmüş WAV dosyasının ses dalgasını çizdirmek için #kullanıyoruz
plot_waveform(wav_path)
# Çıktı:
ses kaydının dijital evrimi
Ses Kaydının Gizli Dünyası - Yazılım
Yardımcı kaynak:
Gerçekten iyi bir yazıydı.