![[Top bar]](../../common/images/Topbar-tr.gif)
Convert to GutenPalm
or to PalmDoc |
![[Photo of the Author]](../../common/images/PhilipGroot.jpg)
tarafından
Yazar hakkında:
Yakında, Ph.D. sini chemometrics konusunda Nijmegen Universitesinde alacak. Linuxla çalışmaktan çok hoşlanıyor ve deneyimlerini düzgün bir temele dayanarak yazıyor.
İçerik:
|
Gerçek Zamanlı mp3 Kayıt Etmek
Çeviri : Miray Demirer
Özet:
Bu makaleler Linuxla nasıl müzik kayıt edebileceğimizi gösteriyor. LinuxFocus dergisinin Ocak 2001 'pahalı' olmayan WAV-biçim kullanılıyor. Bunun yerine daha az yer kaplayan mp3-biçimi ile kaydedilebilir. Bu biçimi kullanarak 24 saat CD özelliginde kayıtlar yapabilirsiniz.
GirişGenellikle, gerçek-zaman da wave biçimini mp3 biçimine doğrudan çevirmek olanaksızdır.İzlenmesi gereken yöntemlerden biri
- Öncelikle, wave dosyası bir kaydedici programla kaydedin.
- Sonra, wave dosyasını mp3 dosyasına mp3-encoder (ör:'Lame')kullanarak çevirin.
Wave dosyasını çabuk kaydetmek biraz fazla alan kaplayacaktır (Cd özelliğindeki 10 dakikalık bir stereo müzik için 100 MB). Böylece, bu biçimta kaydedilen müziğin saklama kapasitesini sınırlayacaktır.Mp3-encoder 100 MB lık bir wave dosyasını standart mp3 özelliğinde 10 MB a çevirebilecek kapasitededir (128 kbps, stereo). Bu özellik, 24 saat boyunca kesintisiz dijital kaydetmeyi sağlar.24 saat, 60*24 = 1440 dakika, sadece 1,4 GB (1440 MB) sabit disk alanı kullanmak!!! Bu özelliği Loostad radio tarafından gönderilen top 300 ün seksenini kaydetmek için kullandım (bazı ingiliz sayfaları da mevcuttur). Kaydederken sadece bir kere kesildi, mp3 kaydeden program 24 saat sonra otomatik olarak kapanıyor ve bu belgelenmiyor..., kaydedilmesi çok iyiydi! Size hangi yazılımı kullandığımı gösterip, gerçek-zaman mp3 kaydetmek için alternatif yollar anlatacağım. Ayrıca, kendi sayfamda bu makale için kullandığım yazılımlar mevcuttur (bağlantılar makalenin sonundadır).
|
Prosedür
Aşağıda, gerçek-zaman, stereo, ve CD özelliğinde mp3 kaydetmek için iki yöntemden bahsediliyor:
- Yazılım programı ile 'mpegrec' (mp3-encoder gerektiriyor 'Lame').
- Kaydedici program ile, ör: 'sox',burada çıktı mp3-encoder a taşınıyor ('sox | lame').
'Mpegrec', 'sox | lame' ile aynı işi yapar, ancak farklı çerçeveleri de açıklanmıştır. Kullanıcının başka birşeye ihtiyacı yoktur. Sadece 'Lame' i yükleyin! Size 'mpegrec' i kullanmanızı tavsiye ediyorum. Ancak, şunu unutmayın ki bu program 24 saat sonra kapanır!!! Ayrıca, kullanıcı tarafından belirlenen kaydetme süresi doğru şekilde kullanılmaz. Genellikle, süre daha kısadır!
Mpegrec in kullanılması
'Mpegrec' kullanmak çok kolay.Xterm de,'mpegrec -b 128 -o ./test.mp3' yazın ve işte gidiyorsunuz!
Farklı seçimlerin açıklanması:
-b |
Mp3 bithızı olara 128 kbps kullanın. 'mpegrec' de ilginç (ve çok yüksek) olan değer 192 dir. Hemen hemen bütün mp3 dosyalarının 128 kbps sabit bithızı vardır. |
-o |
Çıktının adı. Bu örnekte: ./test.mp3. Eğer bir çıktı tanımlanmamışsa, herşey standart çıktıya gönderilir ('stdout'). Genellikle, bu programın çalıştırılığı xterm dür. Bütün mp3 kodları bir dosyada saklanmak yerine, ekranınızda görünür... |
Dikkat:
Lütfen mixer-settings lerin doğru koyulup koyulmadığına dikkat edin. Eğer doğru değilse, hiç birşey kaydedilmeyecektir! Doğru kaydeden kaynak seçilmelidir ve ses ayarları en yüksekte olmalıdır.
'sox | lame' in kullanılması
Aşağıdaki komutu xterm de yazınız:
sox -t ossdsp -w -s -r 44100 -c 2 /dev/dsp -t raw - | lame -x -m s - ./test.mp3
Sağlanan seçimlerin açıklanması:
sox |
Kaydedici program: ses, ses kartının 'line-in' i kullanarak kaydedilir. |
-t ossdsp |
Ses girdileri OSS ses sürücülerinden kaynaklanır.Eğer standart ses desteği varsa, bu sürücüler Linux çekirdeğiyle beraber vardır. |
-w |
Örnek bit türü 16 bit uzun sözcüktür (eğer bunu anlamadıysanız: sıkılmayın çünkü önemli değil). |
-s |
'Örnek veri' doğrusal işaretlenmiştir (eğer bunu anlamadıysanız: sıkılmayın çünkü önemli değil). |
-r 44100 |
Örneklenmiş frekans 44100 Hz dir (CD özelliğinde). |
-c 2 |
2 kanaldan kaydedin (stereo). |
/dev/dsp |
Bu ses örnekleyici bir alet:kaydedilen veriyi dağıtan bir Linux cihazı. Bütün cihazlara, portlara, disklere ve diğerlerine '/dev'-directory i kullanarak girilir. '/dev/dsp' den linuxta wave-stream e girilebilir. Aslında, şu komutu kullanarak ses dosyanızı almanız bile mümkün: 'cat /dev/dsp >test.wav' (sadece mixer-setting ler doğruysa çalışır!!!). |
-t raw |
Çıktı 'ham' veridir (değişmemiş, doğrudan ses kartından). |
- |
'-' ile gösterilen standart çıktıyı kullanın. |
lame |
Şifre edici program:kaydedilen ses mp3 değişmesi için 'lame' e yollanır. |
-x |
'Girdinin byte değiştirmesini zorlayın'.Bu seçimin kesin fonksiyon olduğunu bilmiyorum, ama bu olmadan da prosedür işleyemez (önce bunu buldum!). |
-m s |
Stereo mp3 dosyası gibi şifreleyin.Standart, 'lame' 'joint-stereo' gibi şifre eder: Sadece iki ses kanalı arasındaki FARKLAR şifre edilir. Sonuç olarak, daha yüksek bir sıkıştırma elde edilir, ama mp3 özelliği daha zayıftır. |
- |
Girdi 'stdin' dir.Bu şimdiki örnek için doğrudur. |
./test.mp3 |
Son mp3 dosyasının ismi. |
The mixer
Doğru mixer-setting önemlidir. The mixer kaydedici kaynağı belirler.Standart,KDE-mixer aşağıda verilmştir:

Şekil 1:Standart KDE mixer-setting leri.
Şekil 1 mikrofonun şimdiki kaydedici kaynak olduğunu gösteriyor. Amacımız için, ses kartında 'line-in' bağlayıcısı kullanan bir bilgisayara harici bir kaynak bağlanır. Kaydedici kaynak 'line-in' olmalıdır. Eğer farenin oku, KDE-mixer ının line-in kanalında duruyorsa, sağa tıklama Şekil 2 deki menüyü gösterir:

Şekil 2: doğru kaydedici kaynağı işaretlemek.
Tabiki, 'RecSource' ses kartının 'line-in' inini kaydedici kaynak olarak göstermek için işaretlenmiştir. Aynı prosedürü kaydedici kaynak olarak mikrofonu kapatmak için deneyin: ilave bir ses istemeyeceksiniz!
Dikkat:
Eğer 'line-in' kaydedici kaynak olarak işaretlenmezse, 'line-in' den hiçbir ses elde edemeyeceksiniz ( kendiniz müziği duysanız bile)!!! 'line-in' i 'unmute' a ayarlamayı unutmayın. Şekil 2 bunu doğru olarak göstermektedir: 'line-in' sessize ayarlayınca, hemen 'unmuted' a dönecektir.

Şekil 3: The KDE-mixer doğru olarak kurulsun.
Güzel kaydetmek için önlemler
Siz genelde XWindows da çalışıyorsunuz ve that 'mpegrec' de XWindows da çalıştırılacak. Ancak bu aşağıdaki iki nedenden dolayı pek iyi bir fikir değil:
- XWindows birçok sistem kaynağı ister. Aynı şey sesin kaydedilmesi ve şifre edilmesi için de doğrudur. XWindows da, bu kaydedilen sinyalde karışıklıklara neden olabilir.
- Eğer bilgisayarınızı gerçek-zaman kaydedilmesi için kullanıyorsanız, başka işlemler için kullanmamalısınız. Eğer kullanacaksanız, XWindows u çalıştırmamalısınız.
Yukarıdaki görüşler gösteriyor ki kaydettiklerimiz grafiksiz ortamda en iyi şekilde elde edilecektir. Bu demektir ki Bash kabuğu böyle kullanılmalıdır (metin tabanlı kabuk). Bu bazı sonuçlara yaklaşır:
- Bash kabuğunun içinde ses desteğine ihtiyacınız olacaktır. Ses desteği genellikle, Xwindows açıksa başlatılır.
- Bash in içinden çalıştırılabilen bir karıştırıcıya ihtiyacınız olacak.(metin biçiminde).
Bu iki sorun da kolayca çözülebilir.Ses desteği aşağıdaki gibi çözülebilir:
'modprobe -k sb'
Bu komut benim ses kartımı kuran module 'sb' i yükler.(SoundBlaster AWE 64). Eğer hangi modülün kurulması gerektiğini bilmiyorsanız, '/etc/conf.modules' (SuSE) veya '/etc/modules.conf' (sizin dağıtımınıza bağlı) ın içine bakın.Benim için ses kartı bölümü aşağıda:
alias char-major-14 sb
pre-install sb /sbin/modprobe "-k" "adlib_card"
pre-install sb /sbin/modprobe "-k" "awe_wave"
options sb io=0x220 irq=5 dma=1 dma16=5 # mpu_io=0x330
options adlib_card io=0x388 # FM synthesizer
post-install sb /usr/bin/sfxload "/win98/Program Files/Creative/ctsnd/sfbank/synthgs.sbk"
Ses kartınız daima 'alias char-major-14' içinde tanımlanır (eğer OSS sürücüleri kullanılıyorsa). Bu satır 'sb' ile kapatılır, böylece 'modprobe -k sb' komutunun ses kartı servislerini başlattığı görülür.
Diğer problem ise, metin tabanlı bir karıştırıcı programla ses kartındaki 'line-in' i işaretlemektir. Ben 'aumix' programını kullanıyorum. Eğer Bash de 'aumix' komutu çalıştırılırsa, karıştırıcı interaktif biçimde başlar.Bu biçimde, koyulan değerleri değiştirebilir ve kontrol edebiliriz, bakınız Şekil 4.

Şekil 4: Metin yönlendiricili mixer 'aumix'.
Ok düğmeleriyle farklı kaydedici kaynaklar işaretleyebilirsiniz.'<' veya '>' düğmeleri ses (sol) veya denge (sağ).'+' ve '-' düğmeleri kullanılan işaretlenmiş kaynağın sesini arttırır ya da azaltır. 'm' kullanılan kaynağın sesini arttırır ya da azaltır.Eğer kullanılan kaynak kaydedici kaynak olarak işaretlenmişse, kırmızı 'R' ses kaynağının solunda gösterilir. Eğer kaynak 'playback' için kullanılıcaksa, yeşil 'P' görünür. 's' e basmak '~/.aumixrc'deki kullanılanları kaydeder. Bu kullanılanlar tekrar başlayışta 'aumix -l' komutuyla kolayca çalıştırılır.
Yukarıdaki prosedürü otomatik hale getirmek için küçük bir script yazdım: './mrec test.mp3'. Bu script şu satırları içeriyor:
#!/bin/sh
if [ -z "$1" ]; then
echo "Usage: mrec mp3-output-file"
exit 0
fi
modprobe -k sb
aumix -l
mpegrec -b 128 -o "$1"
Ses başlatılıyor, 'line-in' kaydedici kaynak olarak işaretleniyor, ve 'mpegrec' hemen kaydederek başlıyor.
Mpegrec i kurmak
Bu makale için kullanılan 'mpegrec' yazılımını bulunabilir. yaptım.'mpegrec'ile ilgili daha detaylı bilgiyi http://www.netwaysglobal.com/mpegrec/ bulabilirsiniz. Sadece kaynak dosyalar ve derlenmiş win32 versiyonları burada bulunabilir. Daha fazla ayrıntı için bir sayfa bulunmuyor, ama biraz daha bilgi burada.
'lame' dosyaları ve kurulum türleri burada.
Linux altında Kurulum
- dosyayı ör: '/usr/local' dizinine kopyalayın.
- Dosyayı açın:
- gunzip mpegrec-1.0.src.tar.gz
- tar -xvf mpegrec-1.0.src.tar
- 'cd mpegrec-1.0' yazın.
- 'make' yazın. Program derlenmiştir.
- 'make install' yazın. Program kuruldu ve kullanım için uygundur.
'lame' i kurun.
'lame' versiyonu, bu makalede yüklemek için mevcuttur . 'lame' anasayfası http://www.mp3dev.org/mp3/.
Linux Kurulumu
- 'tar' lanmış ve 'gzip'lenmiş dosyayı ör., '/usr/local' dizinine kopyalayın.
- Dosyayı açmak:
- gunzip lame3.70.tar.gz
- tar -xvf lame3.70.tar
- 'cd lame-3.70' yazın.
- 'Makefile'ı ihtiyacınıza göre değiştirin.Aşağıdaki satırlar değişecektir:
# remove these lines if you dont have GTK, or dont want the GTK frame analyzer
GTK = -DHAVEGTK `gtk-config --cflags`
GTKLIBS = `gtk-config --libs`
# Comment out next 2 lines if you want to remove VBR histogram capability
BRHIST_SWITCH = -DBRHIST
LIBTERMCAP = -lncurses
'#' olmayan satırların artık '#'^le yapılması gerekir.Bunlara ihtiyacınız olmayacak! need th
- 'lame' i derlemek için 'make' yazın./bin-directory to /usr/local/lame-3.70/lame den 'lame' i her yerde çalıştırabilmek için sembolik bir bağlantı oluşturulmalıdır. 'Lame' çalıştırılmak için hazırdır.
Sox un Kurulumu
'Sox' kaydetmeye, değiştirmeye veya ses yapmaya yarayan bir programdır.Örneğin, yankı bir ses dosyasına eklenebilir.Daha fazla bilgi için 'sox' un kaynak sayfalarını okuyun ('man sox') .'sox' un yapabileceği değişimler: wave dosyasını .au dosyasına çevirin (the standart SUN audio biçim) ve tersini yapın. Bu olasılık bazen kullanışlıdır! Bu makale için kullanılan 'sox' >burada bulun< ve anasayfası http://home.sprynet.com/~cbagwell/sox.html.
Linux Kurulum
- 'tar' lanmış ve 'gzip'lenmiş dosyayı ör., '/usr/local' dizinine kopyalayın.
- Dosyayı açmak:
- gunzip sox-12.17.tar.gz
- tar -xvf sox-12.17.tar
- 'cd sox-12.17' yazın.
- './configure'yazın. Birkaç kurulanlar işaretlenir ve 'Makefile' yaratılır.Bu 'Makefile' sizin sisteminiz için özeldir!
- 'make' yazın.bu 'sox' u derleyecektir.
- 'sox'u kurmak için 'make install' yazın.'Sox' kullanımınız için hazır.
Diğer Problemler
İki problem daha buldum:
- 'cron' mp3 kaydetmesini engelleyen ağır bir 'find'-process ile başlıyor.
- Standart OSS çekirdek ses sürücüleri sorun yaratıyor.Bazı mp3 dosyaları küçük parçalar halinde gürültüler içerebiliyor (hatta kulaklar için zararlı olanlardan).Wave dosyalarının da hangi wave kaydedicisi olduğu önemli değilken, böyle sesler içerdiği görülüyor Böylece bu, mp3 sifre edici ('lame') sorunu olmadığı görülüyor.
Cron
Bu genel bir SuSE problemidir. Kaynak dosyaları güncellemek ve log dosyalarını silmek için ağır bir işlem yürütülür.Bu işlem çok yararlıdır,ancak mp3 kaydetmek için çok fazla güç kullanır.Ben kaydedilirken 'cron'un ismini değiştirdim, böylece bulunamadı ve çalıştırılamadı. Kaydedildikten sonra 'cron' tekrar isimlendirilir! 'cron' un adını değiştirmek için bu komutu kullanın:
mv /usr/sbin/cron /usr/sbin/cron.backup
Başka Linux dağıtımları için 'cron' un yerinin farklı olması olasıdır.Yerini şu komutla bulabilirsiniz:
which cron
Lütfen 'cron' un başka işlerde lazım olup olmadığını araştırın.Linux makinesinde bu sorun olmayacaktır.
Ses sürücüsü problemi
Bu problem alternatif Alsa ses sürücülerikullanarak çözülmüştür. Bu sürücüleri kurmakta yararlanılıcak talimatları Alsa belgelerini kullanarak bulabilirsiniz(driver/utilities dosyalarında yoktur). Sorun çıkmadıkça, bu sürücüleri kullanmayınız.
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.
2001-03-17, generated by lfparser version 2.9