Звук в TuxGuitar – призываем на помощь демона
Есть такая неплохая бесплатная программа – TuxGuitar, представляющая из себя редактор табулатур для гитар. Но с запуском под Ubuntu есть одна большая проблема – часто нет звука. Рекомендации из сети помогали мало, поэтому на помощь был призван демон, который и решил вопрос.
Не будем спорить о том, насколько это хороший инструмент и в чём он отстаёт от GuitarPro – это программы разного уровня (хотя и для одной и той же задачи), соответственно, возможности тоже разные. Главный плюс TuxGuitar – лицензионная чистота и бесплатность.
Для начала рассмотрим, почему в этой программе может не воспроизводится звук. Основная причина в том, что программа работает через MIDI-порт, а современные звуковые карты на аппаратном уровне MIDI уже не поддерживают – при нынешних мощностях формирование MIDI-звука вполне можно переложить на драйвер, упростив схему. Но, как это часто бывает, нормальный драйвер есть только под буржуйскую ОС, а мы говорим о пингвинах. Как же быть?
В сети часто встречается рекомендация установить пакет timidity, запускать его до TuxGuitar, настраивать коммутацию каналов, после чего запускать непосредственно приложение, выбирать нужный порт для звука и пользоваться. Я не спорю, может, и есть любители подобных изысканных удовольствий, но я к ним не отношусь, так что такой вариант устраивать может только в одной случае – при отсутствии любой иной альтернативы. Поэтому, как говорил один товарищ, «мы пойдём не таким путём».
При поиске в репозиториях Ubuntu был найден пакет, который и решил проблему – timidity-daemon, который является ничем иным, как системной службой, отвечающей за воспроизведение MIDI. Устанавливаем его:
sudo apt install timidity-daemon
По ходу установщик предложит также установить и timidity – соглашаемся, выбора всё равно нет. После установки запускаем TuxGuitar, заходим в настройки (F7), выбираем раздел «Песня» (последний) и устанавливаем MIDI-порт, выбрав TiMidity Port 1 (128:1). Жмём «OK», соглашаемся с применением изменений сразу, пробуем запустить воспроизведение – всё работает. Если нет звука, попробуйте выбрать иной порт, у меня на двух ноутбуках разных производителей заработал именно указанный.
Да, у такого способа есть и минус – служба будет работать постоянно, вися в памяти и съедая часть ресурсов, но эта часть незначительна, а отсутствие танцев с бубном при настройках вполне окупает такие «расходы».
tuxguitar не издает звук
У меня работает, только я кручу из qsynth саундфонтами.
Вот это каша. Так JSA, timidity или fluidsynth?
Может, если идей не будет, выведешь через alsa или jack в отдельно запущенный fluidsynth с нужным soundfont’ом?
флюид. остальное на всякий случай
Че-то мне кажется, что тебе оно мешает. Если отдельный fluidsynth, то удостоверься в том, что 1) он издает звуки, 2) tuxguitar шлет MIDI и 3) шлет именно ему.
fluidsynth: warning: Failed to pin the sample data to RAM; swapping is possible.
и кстати tuxguitar стал плохо закрываться
зачем jsa? tuxguitar-fluidsynth ставь и лезь в нему в настройки
(qsynth:2561): Gtk-CRITICAL **: IA__gtk_widget_get_direction: assertion ‘GTK_IS_WIDGET (widget)’ failed
Если сформулируете вопрос, то попытаюсь завтра на него ответить.
Сначала неплохо было бы найти логи qsynth
А вопрос таков если кратко сформулировать — Как заставить таксгитар в убунту воспроизводить нормальный миди-звук такой как в винде?
Как в том файле. А тот который по умолчанию используется в убунту там барабаны какие-то не те и электруха звучит через ж.. Короче нужно классическое нормальное миди-звучание (GM)
tux guitar hero ))))
сначала конпиляешь, а потом (может быть) играешь))))
на вот так вот гитаре играешь
oblepiha_pie ★ ( 17.10.15 12:25:42 MSK )
Последнее исправление: oblepiha_pie 17.10.15 12:33:09 MSK (всего исправлений: 2)
Кажется, решил проблему sudo apt-get install fluid-soundfont-gm fluid-soundfont-gs
а зачем так усложнять? чем не устроил плагин для fluidsynth?
О. Сильное колдунство по ссылке, спасибо. С этим фонтом у меня зазвучали духовые и прочее (считай, всё, что не гитара и не ударные). Дефолтный их почему-то упорно игнорировал.
Еще бы теперь заставить его чтобы звук всегда шел не зависимо от того открыт браузер или как. Ну то есть с доступом к устройству решить вопрос.
sudo apt-get install fluid-soundfont-gm fluid-soundfont-gs
как-то я полагал, что ты их поставил, но заюзать не смог. а ты их даже и не поставил O_o.
Гы, и правда, молчит. Если сначала открыть tuxguitar, потом youtube — воспроизведение ролика не начнётся, пока tuxguitar не закрою. Не сталкивался раньше с такой фигнёй.
Обнаружил что если запускать timidity -iA -Os то подключение из таксгитар происходит и все ништяк. теперь вопрос как сделать чтобы по умолчанию timidity запускался в таком режиме.
чтобы по умолчанию timidity запускался в таком режиме
$ systemctl status timidity ● timidity.service - LSB: start and stop timidity Loaded: loaded (/etc/init.d/timidity) Active: active (running) since Пн. 2015-10-19 20:21:43 MSK; 13min ago Docs: man:systemd-sysv-generator(8) Process: 663 ExecStart=/etc/init.d/timidity start (code=exited, status=0/SUCCESS) CGroup: /system.slice/timidity.service └─791 /usr/bin/timidity -Os -iAD
В системе инициализации поменять ключи, с которыми запускается timidity. Если systemd (вдруг), то как-то так.
В linux tuxguitar нет звука
В этой статье мы обсудим установку в linux tuxguitar, с исправлением в tuxguitar отсутствия звука. По моему мнению пользователям Linux намного проще устанавливать программы, чем пользователям Windows. Tuxguitar присутствует в репозиториях почти всех популярных дистрибутивах Linux. Я устанавливал эту программу в Debian и Ubuntu.
За это я и люблю Linux, так как в каждом дистрибутиве присутствует база с адресами сервера, на котором находятся тысячи программ. В отличие от Windows, Линксоидам не приходиться где то искать в Интернете нужную программу. В Linux достаточно иметь всегда подключенный Интернет. Открыть любимый менеджер пакетов, в поиске набрать фразу искомого пакета (программы), отметить галочкой установку, ввести пароль от системы, тем самым подтвердить установку. И всё! Нужный пакет или программа теперь присутствует в Linux системе.
Вернемся к нашему тандему — linux tuxguitar
Если вы устанавливаете программу в менеджере пакетов, то проблем с установкой у вас не должно возникнуть. Там всё просто.
Я люблю устанавливать программы в терминале, потому что достаточно ввести одну команду и пакет установится автоматом, потянув за собой все необходимые зависимости.
Итак, для установки в linux tuxguitar необходимо иметь обновлённые репозитории. В Debian подобных дистрибутивах команды в терминале будут такими:
su ? становимся супер — пользователем
apt-get update ? обновляем репозитории
apt-get install tuxguitar ? собственно устанавливаем программу
В tuxguitar нет звука
Теперь самое главное. Чтобы Вы услышали звук из колонок при проигрывании файла в tuxguitar, необходимо установить ещё один пакет: timidity- программный синтезатор. Без него в tuxguitar нет звука (tuxguitar просто не выведет звук на колонки).
Ну или Ваш любимый менеджер пакетов.
Теперь мы готовы запустить наш бесплатный псевдо Guitar Pro. Ой… linux tuxguitar.
Сначала запускаем timidity в терминале от обычного пользователя.
Запускаем tuxguitar из menu. И идем во вкладку “инструменты” ? настройка или просто F7. На вкладке [песня] начинаем играться с MIDI портом. У меня заработал звук при выборе TiMidity port 0 [128:0].
Вот такая не хитрая операция. Конечно же, после перезагрузки операционной системы придётся вновь запускать в терминале timidity.
Удачи Вам в ваших творческих делах!
Наш твиттер: @instrumen_music
Приветствуется свободное распространение статьи с сохранением авторства и ссылки на сайт: пьесы для гитары.
Комментарии:
В linux tuxguitar нет звука: 4 комментария
СПАСИБО. Ваша инструкция меня спасла: уже реально отчаялся услышать от TuxGuitar хотя бы жалкий писк. Очень странно, что в настройках программы нет галочки «Автоапуск timidity».
Можно составить какой-то bash-скрипт чтобы запуск TiMidity и TuxGuitar выполнялся в одно касание? Ещё раз ОГРОМНОЕ ПИНГВИНЬЕ СПАСИБО!
Как сделать скрипт для запуска timidity и tuxguitar:
скрипт совершенно простой:
#!/bin/sh
konsole -e timidity -iA -Os
tuxguitar
Первая строка — директива, указывающая расположение консоли (терминала) (в kubuntu это /bin/sh). Что уточнить верное значение для своей системы надо просто найти где-нибудь в /sbin/ или /usr/sbin/ какой-нибудь скрипт и посмотреть его первую строку с этой директивой. (Хотя, кажется, она даже не обязательная.)
Вторая строка запускает терминал в отдельном окне, который, в свою очередь, запустит timidity (в чистом виде команда запуска терминала — «konsole», параметр «-e» означает, что дальше будет следовать команда, которую терминалу надо выполнить. Если у вас другой терминал (его название можно подглядеть в лаунчере), то используйте его, предварительно уточнив его опции командой типа «konsole —help»). Для чего так надо: во-первых, timidity должен быть запущен отдельным процессом, т.к. иначе пока он будет выполняться в текущем терминале, tuxguitar не запустится. Во вторых, запускать именно окно терминала нужно для того, чтобы потом завершить timidity именно закрытием этого окна. Иначе, если запустить его просто фоновым процессом, написав «/bin/sh timidity -iA -Os», то с каждым следующим запуском такой команды, экземпляры timidity в памяти будут множиться.
Третья строка обычным образом запускает tuxguitar. Сохраните скрипт, например с именем timidity_tuxguitar.sh в домашней директории (~), установите права на исполнение этого файла: Properties>Permissions> Is Exesutable из контекстного меню или в терминале
cd ~
sudo chmod 755 timidity_tuxguitar.sh
Первая строка — переход в домашнюю директорию.
Теперь можно запускать (находясь в домашней директории):
./timidity_tuxguitar.sh
или по абсолютному пути (user_name — ваше имя пользователя):
/home/user_name/timidity_tuxguitar.sh
# не забудьте подобрать подходящий порт timidity в tuxguitar’е при первом запуске. Как сделать удобно:
Чтобы скрипт не лежал где-попало, переместите его, например, в папку пользовательских консольных приложений /usr/sbin,
sudo cp timidity_tuxguitar.sh /usr/sbin/
Затем добавьте «ярлык» на этот скрипт в меню лаунчера. Для этого надо найти папку, в которой эти ярлыки вашего лулаунчера лежат (а точнее — это файлы *.desktop). Берём имя ярлыка tuxguitar.desktop, и ищем его, начиная с /usr/share или, крайнем случае, с корня файловой системы (/).
В kubuntu эта папка /usr/share/applications/.
Найдя, копируем его туда-же, только с другим именем, и открываем в текстовом редакторе (в данном случае — kate):
cd /usr/share/applications
sudo cp tuxguitar.desktop timidity_tuxguitar.desktop
sudo kate timidity_tuxguitar.desktop
#Текстовый редактор надо будет запустить от имени суперпользователя, иначе созранить изменения не получится.
Там букдет что-то такое:
[Desktop Entry]
Version=1.0
Name=tuxguitar
Comment=Edit, playback guitar tablatures
Comment[fr]=Edite, joue des tablatures de guitare
Comment[es]=Edita, reproduce tablaturas de guitarra
Exec=tuxguitar
Icon=tuxguitar
Terminal=false
Type=Application
Categories=AudioVideo;Audio;
MimeType=audio/x-tuxguitar;audio/x-gtp;audio/x-ptb;
#eof «$Id: tuxguitar.desktop,v 1.2 2008/03/22 23:32:25 rzr Exp $»
Ищем параметр Exec и меняем его значение на абсолютный путь к нашему скрипту,
и меняем параметр Name, иначе лаунчер посчитает его дубликатом и не отобразит в меню:
.
Name=timidity_tuxguitar
.
Exec=/usr/sbin/timidity_tuxguitar.sh
.
Так как все остальные параметры остаются неизменными, то значок, и расположение в разделе меню лаунчера будут те-же, что и у оригинального ярлыка tuxguitar.
Сохраняем. После этого можно завершить сеанс и зайти заново, чтобы лаунчер нашёл новый ярлык, и отобразил его в меню.
Всё выше описанное дословно справедливо для Kubuntu 15.10, и скорее всего, прочих её ближайших версий. Для других систем имена команд, приложений и путей в файловой системе могут быть иными — сверяйтесь с мануалами по своей системе
Спасибо за инструкцию.После перезагрузки запускается и программа и синтезатор. Заново запускать синтезатор не пришлось.