Bu makalenin farklı dillerde bulunduğu adresler: English Castellano Deutsch Francais Nederlands Portugues Russian Turkce Arabic
Convert to GutenPalm
or to PalmDoc
tarafından Philip de Groot
Yazar hakkında:
Doktorasını Nijmegen Üniversitesi'nde Mp3 dosyalarının düzenlenmesi
Uzun mp3 kayıtlarının yapılması(24 saat)
Mp3 kayıtlarının kalitesi
Mümkün olduğunca küçük mp3 dosyaları oluşturmak
Mp3 kaydı yapmada standart bir script
Bu yazı için görüş bildiriminde bulunabilirsiniz
Gerçek zamanlı mp3 kayıtı, bölüm 2
Çeviri : Celalettin Altınpınar
Özet:
Bu konu radyo yayınlarından mp3 kayıtı konusundaki ilk yayının devamı niteliğindedir . Bir önceki yazıda, bir mp3 dosyasının büyüklüğü konusu ele alınmıştı, örnegin 12 saat için 650 MB veya 24 saat gerçek CD kalitesinde müzik elde etmek için 1.3 gigabyte (128 kbit/s; üç boyutlu). Bu kadar büyük dosyaları nasıl kullanmalı? Daha uzun plaklar yapmak veya müzik dosyalarını daha iyi sıkıştırmak mümkün mü ? Mp3 plakları aynı zamanda kaliteli de olur mu ? Yukarıdaki soruları cevaplandırma konusunda yoğunlaşacağız.
Mp3 dosyalarının düzenlenmesi
Varsayalım ki 24 saatlik güzel bir kayıt yapıyoruz, örnegin Eigties top 300: Loostad radyo'su tarafından yayın, ve bu dosyayı daha küçük parçalara bölerek daha kullanışlı hale getirmek istiyorsunuz. Bu bölme işlemi sırasında reklamları ve haber yayınlarını kaldırmak istiyorsunuz. Bunu en iyi şekilde nasıl yaparsınız. Yöntemlerden biri:
Mp3 biçimindeki dosyaları wave biçimine çevirin.
Wave-düzenleyici kullanarak 'kes ve yapıştır' işlemi daha iyi yapılabilir.
Düzenlenmiş wave biçimindeki dosyayı tekrar mp3 biçimine çevirin.
Bu işlem, mp3 biçimli dosyaların aynı mp3 algoritması olarak yeniden biçimlendirilmesi kalite kaybına neden olur şeklindeki genel görüşün aksine kalite kaybına neden olmaz. Fakat uygulamada birkaç problem ortaya çıkıyor:
650 MB'lık bir mp3 dosyasını wave biçimine çevirirken 6.5 gigabyte büyüklügünde bir dosya meydana gelir. (sıkıştırma oranı yaklaşık 10). Gerekli olan işlemci ve zaman konusuna değinmek bile istemiyorum !
Biçim depiştirme işlemi sırasında, 650 MB'lık dosyanın aslı kalır. Wave biçimine donüştürülmüş dosyayı düzenlerken diskinizde biraz daha boş boş alana gereksinim duyarsınız.Eğer tüm dosyayı bir saatlik parçalara bölmek istiyorsanız 2*6.5=13 gigabyte'lık bir alan gerekecek!
Kısacası mp3 dosyasını başka dosya türüne çevirmeden düzenleme yapan bir programa gereksinimimiz var! Böyle programlar var fakat, linux için değil(şimdilik). Bu türden birçok Windows programı mevcut. Fakat bunların çoğunun büyük bir problemi var: 650 MB'lık mp3 dosyasını idare edemiyorlar! Bu işi yapan bir program meraklısı iseniz 'Mann'in mp3 düzenleyicisi' adresinde mevcut. Ben bu programı Windows98 altında kullandım . Grafiksel arayüzde istenilen parçanın başlangıç ve bitişi mp3 dosyasının aslından gösterilebilir. Bu parçayı başka bir dosyaya 'trim' komutuyla kopyalayabilirsiniz. Bu program 'bağış yazılım' olarak bulunmakta yani bu program için para ödemek zorunluluğunuz yok. Sadece nazikce eğer program isteklerinizi karşılıyorsa para ödemeniz isteniyor. Bu programın iki dezavantajı var: program 650 MB bir dosyada çok yavaş ve sadece çok küçük sabit birimlerle çalışıyor!!! Son saatin başını araştırırken ,örneğin 24 saatlik mp3 kaydıyla çalışırken, çok zaman alıyor ve çok yoğun disk işlemleri yapıyor. Fakat istenilen parçanın kopyalama işlemi çok hızlı olarak yapılabilir(mp3 kalitesinden hiç bir kayıp olamadan). Yinede herzaman son kopyaladığım mp3 parçasını mp3 düzenleyicisine yükleyerek kontrol ederim, Eğer yükleme işlemi gerçekleşirse kopyalanan dosyalarda bir sorun yoktur. Bu düzenleyiciyi ilk defa kullanırken yoğun disk işlemleri sırasında kopyala butonuna bastım ve sonuçta zarar gören mp3 dosyalarını yeniden çalıştıramadım ! Size bir fikir vermesi açısında 650 MB 'lık dosyayı düzenlemek kabaca 1 saatimi aldı.(bu bazen çok cansıkıcı olabilir)!
Uzun mp3 kayıtlarının yapılması(24 saat)
24 saatlik radyo yayınından kayıt yapmak problem değil. Dosya mantıklı bir büyüklükte kalır(örnegin 24 saat için 1.3 gigabyte) ve kolayca bilgisayara kaydedilebilir. Fakat örneğin bir haftalık bir yayın kaydı yapılırken problemin boyutu değişir. Bu problemle Noel ve yeniyıl sırasında 'Alltimes Top 2000' yayını yapan (144 saat müzik!) Alman ulusal ve yerel radyo istasyonu: Radio 2'in yayını ile karşılaştım. Benim sabit disk'im eski ve tüm bu kayıtları almak için yetersizdi. Bundan dolayı bu problemi çözmem gerekiyordu. İşte size çözüm:
Tam olarak bir CD'ye kaydedilebilecek 700 MB'lık bir boş dosya oluşturun (80 dakikalık CD).
Bu boş dosya uzerinde linux ext2 dosyasistemini oluşturun.
Bu dosyada (tam ifadesiyle: bu şekilde), kullanılabilir ayrı bir Linux diski kurun.
12 saatlik mp3 kaydını bu bölüm üzerinde yapın (128 kbit/s; stereo; yaklaşık 670 MB).
Bu parçayı eski haline getirin, ikinci parçayı kurun, bu parça uzerine kayıta devam edin.
İlk parçayı CD'ye kaydedin. (CD yazıcısını kullanarak). Gerçek zamanlı mp3 kayıtı sırasında bilgisayarımda hata oluşmadı., bir Pentium II 450 MHz (grafiksel arayüz çalışmıyor).
CD başarılı bir şekilde oluşturuldu, mp3 dosyalarını silin (bölümün içindekini; bölümün kendisini değil!). Bu bölüm yeni kayıt için kullanılabilir.
Aynı işlemi kayıt bitene kadar devam edin.
Yukardaki işlemleri uygulayarak tüm Top2000'i kaydetmeye çalıştım ve hiçbir sorunla karşılaşmadım ! 12 adet yedek CD kullandım ve bunlar bir daha kullanılamayacak. Fakat bu tür başarılı kayıt yapmak içinde biraz harcama yapmanız gerekiyor. Bunların hepsi nasıl oldu? CD-Burning-Howto 'yu okuyarak bir fikir edindim ve gerekli işlemler basamakları aşağıda açıklandı:
Ayrı bir kısımda 4 adet bölüm oluşturdum. Tesadüfen 2.9 gigabyte boş alanım vardı.
Ayrı ayrı image_1, image_2, imega_3 ve image_4 adında 4 bölüm oluşturdum.
dd if=/dev/zero of="image_1" bs=1024k count=700
Bu komutu tüm bölümler için tekrarladım. Bu bölümleri oluşturmak biraz zaman alır !
Bu bölümlerde Linux ext2 dosya sistemi oluşturun:
shell> /sbin/mke2fs -b 2048 image_1
Boş dosya özel bir alet değil.
Devam etmek istiyormusunuz? (e,h) e
Hatırlatma: Ext2 dosya-sistemi disk alanının birazını kullanır, bundan dolayı 700 MB'tın tümü kayıt için uygun degildir!
Bölümü kurmak için, loopback aletine gereksiniminiz var. Bu da çekirdeğin loopback aletini desteklemesini gerektirir (veya loopback aletini standart olarak kullanılabilir hale getirmek).
mount -t ext2 -o loop=/dev/loop1 image_1 /mnt
/mnt-dosyası yolu ile bölüme ulaşabilirsiniz . Şimdi bu bölümü kullanarak istediğiniz kayıtı yapabilirsiniz!
Kurduğunuz bölümü eski haline getirin ve CD'yi oluşturun:
umount /mnt
cdrecord -v speed=2 dev=0,1,0 -data image_1
'dev=0,1,0' komutunun kullandığınız sistemin ayarlarına göre değiştiğini unutmamak gerekiyor. (cd record -scanbus komutu bunun ne olacagı konusunda ipucu verecektir). Bölüm CD'ye kopyalanırken diğer bölüme mp3 kaydı devam ediyor(umarım)
Oluşturulan CD'nin test edilmesi:
mount -t ext2 /dev/scd0 /cdrom
Herşey yolunda giderse, kopyalanmış mp3 dosyasını /cdrom dosyasının içinde görebilirsiniz.Çekirdek 2.4.0 dan 2.4.2 ye kadar bir sorunla karşılaştığımı vurgulamak istiyorum. Bu bölümleri CD'ye aktaramadım(ext2 dosya sistemi ile beraber) ve loopback aleti ile ilgili bir sorunla karşılaştım.Çekirdek 2.4.3'te tüm bu sorunlar çözüldü ve herşey doğru olarak yerine getirildi (çekirdek 2.2.x iken olduğu gibi).
Bu yaklaşımın faydası mp3 CD'si oluştururken kullanılan işlemcinin, yogunluğunu altmak şeklindedir. Bölümler zaten oluşturuldu! Tüm bu işlemleri script kullanarak otomatik olarak yapabilirsiniz:bölümün oluşturulması, mp3 kaydına başlanması,mp3 kaydının bitirilmesi,12 saatten sonra bölümün tekrar eski haline getirilmesi,ikinci bölümün oluşturulması ve böylece mp3 kaydına devam edilmesi. CD'leri elle yakarken problemler ortaya çıktı (bir zamanlar yanıltıcı ortama göre doğru olan). 4 kısım: 3 ayrı bölüm oluştururken CD yanma problemleri ile karşılaştım.(bu problemlerin çözümü 36 saatimi aldı). Kullandığım script şöyle:


#!/bin/sh
echo "loading modules for sound support..."
modprobe -k snd-card-sb16
modprobe -k snd-pcm-oss
modprobe -k snd-mixer-oss
echo "setting mixer..."
amixer set Line 31 unmute capture; amixer set Master 31; amixer set PCM 31
cd /where/ever/you/stored/the/images/
for i in 1 2 3; do
	for ii in 1 2 3 4; do
	echo "mounting image_$ii on /mnt ..."
        mount -t ext2 -o loop=/dev/loop1 image_$ii /mnt
        echo "starting mpegrec ..."
        mpegrec -b 128 -x -mj -o /mnt/top2000_$ii.mp3
	echo "umount /mnt"
        umount /mnt
	done
done

Tüm bunları grafiksel arayüz kullanmadan bash komut satırında yaptım. Ses kartını elle yükledim, bunun yanında OSS emulatörü(ALSA sürücüsünü tam olarak kullanmak için) ve mixer sürücüsü(tabi bunu /etc/conf.modules'in içindeyken pre-install/post-install kullanarakta yapabilirsiniz) kullandım. 4'üncü sıra doğru olarak mixer ayarlarını yapar: 'line-in' kayıtlı kaynaktır ve ses sonuna kadar açıldı. Bu ayarları yaptıktan sonra script bölüm oluşturma ve eski haline getirme işlemini yapar. 'mpegrec' seçeneği ile ilgili olarak: '-mj' birleştirilmiş steryo kayıtlarını gösterir. Bu seçeneği kulanarak daha küçük mp3 dosyası oluşturmayı umuyordum(670-680 MB alana sığmalı). Bu yanlış görünüyor, fakat normal yada birleştirilmiş mp3 dosyaları kullanmak sorun teşkil etmez. Ben yeni kayıt yaparken normal steryo kullanırım. 'mpegrec' programının 12 saat sonra durması gerekiyor.Bu görevi yerine getirmesi için kaynak kodundaki 24 saati 12 saate değiştirdim. Ne yazıkki bu yaklaşım işe yaramadı: program 12 saatten sonra kayda devam etti! 12 saatten sonra kayıt işlemini yarıda kesmek zorunda kaldım(bunu zararsız atlatamazsınız...). Script kalan kısmı dikkate alıyordu. 'mpegrec' ile ilgili başka birşey anlamadım. Kaynak kodu uzerinde dikkatli olarak çalışmalıyım.
Hatırlatma:
CD oluştururken CD yazıcısının yeni sürümü(cdrecord-1.9) bazı problemlere sebep oldu. Bir önceki sürüm(cdrecord-1.8.1)'da hiçbir problem oluşmadı. Bu problemi CD yazıcısının daha gelişmiş bir yazılımını yükleyerek(Philips CDD 3610 için 3.02 sürümü yerine 3.09 sürümü yüklenerek) çözdüm. CD yanma probleminin çekirdek 2.4.3'ten kaynaklandıgını düşünüyordum, fakat yanlış olduğu ortaya çıktı!
Mp3 kayıtlarının kalitesi
Bir önceki sayfama koyduğum etkileşimli Konuşan sayfa yoluyla mp3 kaydıyla ilgili bilgilerin olduğu bir yörenin kısayolunu aldım. Özellikle 'lame' programına yoğunlaşılarak mp3 kalitesi ve mp3-bitrate ile olan ilişkisi çok güzel açıklanmış. Adresi şöyle: http://www.r3mix.net/.
Önemli noktaların özetlenmesi:
128 kbit/s'lik olan örnekleme oranı gerçek CD kalitesinde VERMEZ. Bir dinleme paneli 128 kbit/s'lik tüm dosyaları başarıyla bulabilir. Radyo yayınları CD kalitesinde olamdığı için 128 kbit/s'lik örnekleme oranı yeterli olandan daha fazladır.Bundan dolayı radyo yayınlarından kayıt yaparken bu durum problem teşkil etmez!!!
256 kbit/s'lik örnekleme oranı GERÇEK CD kalitesini verir. Başka bir deyişle, 256 kbit/s'lik bir mp3 akımı ile gerçek CD'yi birbirinden ayırmak mümkün değildir. Buna rağmen yinede bazı sıkıştırma bozulmaları gözlenir. Fakat bunu, müziğe hangi yönden bakacağını bilenler farkedebilir.
Lame programında bir değişken bitrate(VBR) ile kayıt tavsiye edilir. 192 kbit/s(önceki yazılarımda acayip alarak nitelendirdiğim)'lik sabit bitrate başlangıç değeri için iyi bir değerdir. Şarkını zorluğuna göre örnekleme oranı azaltılır yada arttırılır. İkinci yararı bahsedilen filtrelerin hiçbirini kullanmadan 256 kbit/s'lik kayda göre daha iyi mp3 dosyaları vermesidir. Philips CD kayıt teknikleri geliştirirken bu filtreleri belirtmiştir!
Aşağıda anlatılanların hepsi bu yörede ayrıntılarıyla anlatılmakta!
Mümkün olduğunca küçük mp3 dosyaları oluşturmak
Aşağıda bir okuyucu tarafından bulunmuş bir script var. (ileti yoluyla gönderilen).Script şöyle:


#!/bin/bash

echo "record $1 named ($3) for $2 seconds"
aumix -f ~/.aumixrc
/usr/bin/yes x | /usr/bin/radio $1 >/dev/null 2>/dev/null
sox -V -r 44100 -c 2 -t ossdsp -w -s /dev/dsp -t wav - 2>/dev/null |
lame - ~/$3.`/bin/date "+%H%M.%m-%d-%y"`.mp3 --resample 16 -b 8 -a -m
       m -h --lowpass 4 --highpass .12 --voice&
sleep $2
kill -9 $!
# copy the output to a different direcory. If you want you can
# replace cp by rcp or scp and copy it to a different computer:
cp $3.*`/bin/date "+.%m-%d-%y"`.mp3 /tmp/outputdir

Bu scriptin amacı 3.5 gigabyte'lık bir disk alanına gereksinimi olan anlaşılır radyo kayıtlarını almaktır. Anlaşılırdan kastedilen birinin kaydedilen insan sesini tanımlayabilmesidir.Tabi müzik kalitesi çok kötü! Scrip'teki ilk sıra mixer'in ayarlarını yapar ve bir radyo kartı ve 'sox'u başlatır. Şimdi anlatacağımız hileler 'lame' seçeneklerinde gizli:
--resample 16 -b 8 -a -m m -h --lowpass 4 --highpass .12 --voice
--resample 16 Çıktı dosyasındaki örnekleme sıklığını 44 kHz'den 16 kHZ yeniden tanımlar.
-b 8 Örnekleme oranını 8 kbit/s olarak yeniden kurar.
-a Steryo akımlarını tek kayıt olarak birleştirir.
-m m Tek mp3'ü yeniden biçimlenmeye zorlar.
-h Yüksek kalitede mp3 biçimi kullanma seçeneği (daha yavaş).
--lowpass 4 4 kHz'lik değerde altgeçer filtresi kurar. 4 kHz'den yüksek tüm sinyaller(sıklıklar) çıkarılır.
--highpass .12 .12 kHz'lik değerde üstgeçer filtresi kurar.120 kHz'den düşük tüm sinyaller(sıklıklar) çıkarılır.
--voice İnsan sesi için en iyi sıkıştırma yöntemlerini kullanır.
İnsan sesi çok sıkıştırılabilir bir özellikte olsa da bu pek istenmez. Şimdi en azından seçenekler mevcut!
Mp3 kaydı yapmada standart bir script
Bu script konuşan sayfa yoluyla gönderildi (Herkesin bu bilgiden faydalanabilme olanağından memnunum!). Bu bir önceki ve şimdiki yazıda kullanılan etkileşimli sayfanın geniş faydalarından biri.Herkes deneyimlerini gönderebiliyor, problemle karşılaştıklarında ziyaretçilerden yardım isteyebiliyor, kısacası burada toplanmış çok büyük miktardaki bilgiden herkesin faydalanması mümkün oluyor(umarım). 'mp3_record' olarak adlandırılan script aşağıdaki gibi:

#!/bin/sh
 /usr/local/bin/mpegrec \
 -l 5400 \
 -x '--preset fm \
 --tt "Computers in Your Life" \
 --tl "Open Line with Tom Wieble" \
 --ta "Tom Wieble" --ty `date +%Y` \
 --tg "Speech" \
 --tc "Copyright (c) 1997 - `date +%Y` WOSU" -c' \
 -o open_line_`date +%d%b%y`_`date +%H%M`.mp3
'-l 5400' seçeneği kayıt zamanını 90 dakika olarak kurar. '-x' seçeneğinden sonra gelen ve doğrudan 'lame'(4'ten 9'a kadarki sıralar ) ve '-o' seçeneğine bağlanmış olan seçenekler dosyayı 'data_and_time.mp3' olarak kaydeder. Bu satırları herkes istediği gibi uyarlayabilir. Bu amaçla 'lame' seçeneklerini incelemek faydalı olacaktır. Varolan ayarlar aşağıdaki tabloda açıklanıyor:
--preset fm Lame programı bazı standard ayarları tanır.'fm' radyo yayınlarından yapılan kayıtları ifade eder.Fakat 128 kbit/s'lik sabit örnekleme orananıyla karşılaştırdıgımda kayıt kalitesinden hoşlanmıyoru. Bu 'lame'deki filtrelere başvurmamın ana sebebi.
--tt "Hayatınızda bilgisayarın yeri" '--tt' kaydın başlığını tanımlar (en fazla 30 karakter).
--tl "Tom Wieble'la dizini başlatın" '--tl': albüm, veya: asıl kaynak (en fazla 30 karakter).
--ta "Tom Wieble" --ty `tarih +%Y` '--ta': sanatçı (en fzla 30 karakter).
--tg "Konuşma" '--tg': tarz (isim yada numara).
--tc "Üretim (c) 1997 - `tarih +%Y` WOSU" -c" '--tc': göruşler (ek bilgi; en fazla 30 karakter).
Kısaca, kayıt tarihi ve zamanını ve tüm bilgileri içeren mp3 dosyası oluşturmanın iyi bir yolu. Herşeyi scripte yazmak biraz zaman alıyor fakat tüm bunları mümkün olduğunu görmek güzel!
Bu yazı için görüş bildiriminde bulunabilirsiniz
Her yazı kendi görüş bildirim sayfasına sahiptir. Bu sayfaya yorumlarınızı yazabilir ve diğer okuyucuların yorumlarına bakabilirsiniz.