< HomePage | Снимки
<- Четвъртък, 29 Декември 2005 | Начална страница | Събота, 31 Декември 2005 ->
Петък, 30 Декември 2005

Целта на инструкциите дадени по-долу е да може възможно най-лесно да настройте прослушването на MIDI и KAR (караоке) файлове под Linux ако вашата дистрибуция не се е погрижила за това. За по-задълбочена информация около MIDI и изобщо поддръжката на звук под Linux, посетете сайта Linux-Sound.org.

MIDI файловете са нещо като петолиния с ноти плюс указания какъв вид инструмент да се използва за просвирването на нотите. KAR файлове са MIDI файлове с добавен текст, по който може да пеете като на караоке. За да чуете такива файлове, нещо трябва да преобразува нотите и желаните инструменти в звук. В идеалният вариант това се прави от т.н. банки с инструменти, които се зареждат в памета на вашата звукова карта, но тъй като като идеалният вариант излиза скъпичък на производителите на звукови карти, евтините карти нямат памет и възможност за зареждане на инструменти в тях. Затова се налага да се ползва софтуерен синтезатор на звуци.

Популярен софтуерен синтезатор за Linux е TiMidity. След като го инсталирате и сложите инструменти към него, може да го стартирате в режим в който той се представя за виртуална звукова карта, през която може да просвирвате MIDI файлове. За инсталация и настройка може да ползвате следните команди:

# Свалете си TiMidity++-2.13.2.tar.bz2 от http://timidity.sourceforge.net/
# Разархивирайте го
tar xjvf TiMidity++-2.13.2.tar.bz2
cd TiMidity++-2.13.2
# Конфигурирайте го и го инсталирайте
./configure --enable-audio=alsa,oss,arts --enable-server --enable-alsaseq
make
su -c "make install"

След като сте инсталирили TiMidity е необходимо да инсталирате инструментите, които ще бъдат ползвани. Това се прави със следните команди:

# Сваляте си свестни инструменти
wget http://www.djcj.org/LAU/timidity.tar.gz
# Слагате ги там където ги очаква TiMidity
su -c "tar xvzf timidity.tar.gz -C /usr/local/share/ ; \
chown -R 0.0 /usr/local/share/"

Готово! Вече може да слушате MIDI и KAR файловете стартирайки timidity file.mid. За да използвате някоя по-свястна програма за караоке като например KMid, ще трябва да пуснете timidity в режим на виртуална звукова карта. Това става с командата:

timidity -iA --background

или

su -c "timidity -iA --background --realtime-priority=20"

Разликата между първата и втората команда е, че първата може да стартирате като обикновен потребител, а втората изисква root права, заради повишаването на приоритета на TiMidity. По-добре използвайте втората команда, в противен случай най-вероятно просвирването на музика ще прекъсва, тъй като на софтуерния синтезатор няма да му стига отделеното процесорно време. Спокойно може да пуснете TiMidity при стартиране на машината, като добавите втората команда във файла /etc/rc.d/rc.local (или подобният във вашата дистрибуция).

Нека проверим дали вече имаме възмжност за просвирване на MIDI файлове. Това ще направим като запитаме ALSA за изходящите портове, използвайки командата aconnect -o. Ако всичко е наред и TiMidity работи като виртуална карта, би трябвало да видите нещо подобно:

client 128: 'TiMidity' [type=user]
0 'TiMidity port 0 '
1 'TiMidity port 1 '
2 'TiMidity port 2 '
3 'TiMidity port 3 '

Сега вече може да стартирате KMid, да отворите любимата си песен и да пеете с цяло гърло докато съседите не ви отстрелят с куршуми за едър дивеч.

С по-горните инструкции дори и да имате най-смотаната карта на света, ще може да просвирвате MIDI и KAR файлове. А ако имате свястна карта, като например Creative Audigy2? Я да видим дали тя поддържа зареждане на инструменти...изпълняваме aconnect -o и виждаме следното:

client 64: 'Audigy MPU-401 (UART)' [type=kernel]
0 'Audigy MPU-401 (UART)'
32 'Audigy MPU-401 #2'
client 65: 'Emu10k1 WaveTable' [type=kernel]
0 'Emu10k1 Port 0 '
1 'Emu10k1 Port 1 '
2 'Emu10k1 Port 2 '
3 'Emu10k1 Port 3 '

Ухаа, четири банки за инструменти! Пускаме Kmid, отваряме MIDI файл и чуваме оглушителна тишина? Какво става???

Много просто, имаме банки с инструменти и картата може да просвирва каквото има в тях, но в момента те са празни. За да ги инициализирате трябват файл(ове) с инструменти и програма за инициализация.

Програмата за инциализация се казва sfxload и е част от пакета awesfx. За да я инсталирате, изпълнете следните команди:

wget http://www.alsa-project.org/~iwai/awesfx-0.5.0d.tar.gz
tar xzvf awesfx_0.5.0b.orig.tar.gz
cd awesfx_0.5.0b
./configure
make
su -c "make install"

Сега ни трябват и инструменти, които да заредим. Стандартните идващи на CD-то на Creative, може да свалите и инсталирате /за да не търсите CD-то/ по следният начин:

wget http://www.alsa-project.org/~james/sound-fonts/8MBGMSFX.SF2
su -c "cp 8MBGMSFX.SF2 /usr/local/share/sounds ; \
chown 0.0 /usr/local/share/sounds/8MBGMSFX.SF2"

Сега остава просто да заредим инструментите в звуковата карта, изпълнявайки командата sfxload. След зареждането вече може да слушате MIDI файлове, използвайки възможностите на звуковата си карта.

И за финал, ето един сайт за сваляне на караоке изпълнения направен от братята руснаци и съдържащ доста песнички http://karaoke.kerma-nn.ru/.

Надявам се описанията да са ви били полезни.

[ Коментари: 8 ]
Коментари

Много благодаря,явно си разбил проблема отново.Пустите звукови карти/ямаха/,които стават,изчезнали от пазара в БГ и това е решението за много като мен,които се опитват да се отърват от "бозата",но жените им обичат да си пеят пред компютъра.

Написа Marin на 31-Dec-2005 16:52


Марич, като го борихме бяхме на || толкова да стане всичко, просто като компилирахме timidity не сме задали --enable-server :)

BTW: Ямахата май също няма звукови банки. Audigy-то е истината.

Написа Георги Чорбаджийски (www) на 31-Dec-2005 18:34


Ямахите са едни от първите евтини карти които имат GM midi (General Midi) съвместими XG банки вградени в тях. Тоест нямат в пълния смисъл банки, но имат вградени 127 инструмента на обща стойност окло 2 или 4 мегабайта. Разликата от по-новите системи, най вече лансирани от creative в карти от потребителски клас е именно че при Ямахите е вградено и неможеше да се сменя по лесен начин. По късно излезе нещо наречено Sound Fonts което, наподобява принтерските uploadable шрифтове. Sound Fonts са именно набор от семпли които могат да се наливат в банките и така всеки един от 127 midi инструмента да бъде подобряван или заменян, разбирасе колкото повече памет , толкова по добри семплите. Принципът е както при синтезаторите, евтините си имат вградени инструменти които немогат да се сменят по скъпите и добри поддържат семпли и General Midi командване. При Ямаха ако помна добре имаше накакъв стандард базиран на техните чипове нещо от сорта на XG, което превъзхождаше General Midi но като цяло беше същата работа. Тези неща ги пиша по памет, така че не твърдя че са 100% точни, но е такава идеята.

Написа Зденек на 03-Jan-2006 10:44


> Целта на инструкциите дадени по-долу е да може възможно най-лесно да настройте прослушването на MIDI и KAR (караоке) файлове под Linux ако вашата дистрибуция не се е погрижила за това.

Мдааа. Слакуеър ша знайш.

Написа ал_шопов на 03-Jan-2006 12:57


Мда, Slackware. За да научиш нещо. Иначе знаем, клик-клик и какви умници създава.

Написа Георги Чорбаджийски (www) на 03-Jan-2006 13:13


Готина статия на същата тема:

http://cgi.linuxfocus.org/English/September2002/article259.shtml

Написа Георги Чорбаджийски (www) на 08-Jan-2006 20:27


Жоро, не публикувай този коментар - това е начин да стигне до теб един проблем, който наблюдавам в РСС-а ти.
По някаква причина материалът, който коментирам, е с дата 31.12.2006 (!). Това го "изплюва" отгоре на целия поток (ако е сортиран по дата), и е малко досадно. Ето какво виждам в RSS-a за тоя item:
<pubDate>Sun, 31 Dec 2006 18:34:00 +0200</pubDate>

А знам че си човек, който държи на перфекционизма :) !

Поздрави!
Д.

Написа Дончо (www) на 17-Jan-2006 15:52


Дончо, мерси за bug report-а. Всъщност bug няма, софтуера прави каквото се иска от него :) Просто датата на файла в който е постинга, погрешка съм го сложил 2006-та вместо 2005-та. Освен него имаше още един объркан и той вече е ок.

Написа Георги Чорбаджийски (www) на 17-Jan-2006 17:44