ttymidi будет действовать как устройство ALSA и печатать вывод или читать ввод из файла. Предполагается, что этот файл является последовательным устройством, но / dev / stdout также работает - его можно затем передать в программу. Если вы хотите закодировать устройство самостоятельно, код ttymidi, вероятно, проще, чем, скажем, робость, поэтому вы можете использовать это в качестве примера.