Настройка на MIDI възпроизвеждане в Debian GNU
Настройване на MIDI възпроизвеждане на Debian GNU/Linux
С M > Музика в PrBoom ). След това поставих допълнителни семпли, за да подобря качеството на възпроизвеждане на музика в Doom и да накарам онези инструменти да звучат, чиито семпли не бяха включени в софтуерния секвенсер tim > MIDI музика - подобряване на звука). Тогава си купих използвана звукова карта Creative SoundBlaster Live 5.1! и настройте неговия хардуерен секвенсер.
Може би някой ще се изненада и няма да разбере защо имам нужда от остаряла използвана звукова карта? Обяснявам - предимството на тази звукова карта е, че има собствена памет от 32 мегабайта. Можете да заредите фърмуер с ефекти или звукови филтри в тази памет или можете да заредите проби. Съвременните звукови карти, първо, често вече нямат хардуерни MIDI секвенсори, защото MIDI на компютрите отдавна е излязъл от мода и второ, те използват директен достъп до RAM на компютъра за своите нужди. От една страна, това може да е добре, защото звуковата карта може да използва проби, чийто общ обем е ограничен само от количеството RAM на компютъра, а от друга страна, това не е много добро, т.к. в същото време звуковата карта губи автономност и става силно зависима от честотната лента на шината.
Понякога искам да играя стари DOS игри, които се изпълняват в DosBox в режим на частична емулация. В по-старите игри искам да чувам тази MIDI музика, която е създадена специално за играта и е вградена в нея. Но тъй като компютърът ми е стар, изчислителната мощност на процесора понякога не е достатъчна, за да емулира едновременно частично Dos средата и да синтезира звука със софтуерен MIDI секвенсер. В такива случаи звукът започва да заеква и играта се забавя. Има три изхода: 1.откажете да бъдете естетични и не слушайте музика в стари игри или дори изобщо не ги играйте, 2. купете мощен компютър, който е изпълнен с допълнителни разходи и допълнителни проблеми, 3. купете подходяща звукова карта и в същото време научете нещо ново за настройката на хардуерни MIDI секвенсори.
Дори имах възможност да изпробвам MIDI клавиатура (с USB интерфейс), която ми даде приятел. Интересно е, че беше определено и започна да работи веднага - не трябваше да инсталирам никакви драйвери за това, не трябваше да правя никакви настройки. Току-що инсталирах Rosegarden (аналог на Cakewalk за Linux) и клавиатурата работи чудесно с него.
Всички тези мои експерименти бяха придружени от допълнения към wiki страницата, чието съдържание ще дам сега.
1. Списък на секвенсорите
Можете да намерите списъка с налични MIDI секвенсери, като използвате следната команда:
Тази команда произвежда следното за мен:
Порт Име на клиент Име на порт
14:0 Midi през Midi през порт-0
16:0 SB на живо! 5.1 Dell OEM [SB0228] EMU10K1 MPU-401 (UART)
17:0 Emu10k1 WaveTable Emu10k1 Порт 0
17:1 Emu10k1 WaveTable Emu10k1 Порт 1
17:2 Emu10k1 WaveTable Emu10k1 Порт 2
17:3 Emu10k1 WaveTable Emu10k1 Порт 3
20:0 CA0106 CA0106 MPU-401 (UART)
Хардуерният MIDI секвенсер има 17:0, 17:1, 17:2, 17:3 портове. Допълнителните му характеристики могат да бъдат намерени чрез следната команда:
Което трябва да даде нещо като следната информация:
Адреси: 17:0 17:1 17:2 17:3
Разпределени гласове: 0
Размер на паметта: 134217728
Налична памет: 134213632
Разпределени блокове: 1
Заключени инструменти: 0
Заключени проби: 0
2. Плахост на софтуерния секвенсер
С отсъствиехардуерни MIDI секвенсери (секвенсори, налични директно на звуковата карта), можете да инсталирате софтуерен MIDI секвенсер:
# apt-get време за инсталиране
Заедно с timidity ще бъде инсталиран набор от семпли (иначе наричани Gravis Ultra Sound Patches или за кратко GUS patchs) freepats.
3. Подобрени проби в плахост
Примерният набор, инсталиран от freepats, не е пълен или с високо качество, така че можете да инсталирате допълнителен набор от корекции от fluidsynth:
# apt-get инсталирате fluid-soundfont-gm fluid-soundfont-gs
Във файла /etc/timidity/freepats.cfg добавете следните редове (добавих в началото):
И рестартирайте секвенсера:
4. софтуерен секвенсер на fluidsynth
Има алтернативен софтуерен MIDI секвенсер, наречен fluidsynth. Можете да го инсталирате със следната команда:
# apt-get инсталирайте fluidsynth
Секвенсерът fluidsynth няма начален скрипт, така че за да го стартирате, трябва да напишете прост начален скрипт или да го стартирате ръчно по следния начин:
$ fluidsynth -a alsa -i /usr/share/sounds/sf2/FluidR3_GM.sf2 -i /usr/share/sounds/sf2/FluidR3_GS.sf2 -m alsa_seq -r 44100 -s
5. Хардуерен секвенсер
Ако вашата звукова карта има хардуерен M >snd-emu10k1-synth :
Ако зареден модул се появи в изхода на lsmod, тогава вашата звукова карта има хардуерен MIDI секвенсер и трябва да заредите семпли в звуковата карта, за да го използвате.
За да заредите семпли в звукова карта, трябва да инсталирате пакета awesfx:
# aptitude инсталирайте awesfx
Можете да заредите проби от пакетите fluid-soundfont-gm и fluid-soundfont-gs с помощта на командите:
$asfxload -N/usr/share/sounds/sf2/FluidR3_GS.sf2
Първата команда зарежда семпли вместо съществуващите, а втората добавя семпли към съществуващите.
Файлът FluidR3_GS.sf2 е много голям и не всяка звукова карта ще го дъвче. Ако картата няма достатъчно памет за зареждане на пробите, ще се генерира грешка:
sfxload: няма останала памет
Този файл може да бъде поставен в същата директория като примерните файлове на грипния пакет >/usr/share/sounds/sf2/), след което може да бъде зареден с командата:
внимание! За автоматично зареждане на модул на ядрото при зареждане на системата, добавете модула snd-emu10k1-synth към файла /etc/modules.
6. Избор на секвенсер по подразбиране
За настройка M >
/.bashrc следните редове:
ALSA_OUTPUT_PORTS="17:0 17:1 17:2 17:3"
Предполага се, че черупката по подразбиране на потребителя е bash. Настройките влизат в сила, когато потребителят влезе. За да приложите временно настройките по подразбиране (до края на потребителската сесия), можете да изпълните тези команди директно от командния ред.
7. Възпроизвеждане на музика
Музиката може да се възпроизвежда с помощта на всеки плейър, който поддържа MIDI възпроизвеждане, като pmidi: