[완료] 우분투 미디 재생

아주가끔은의 이미지


우분투에서 미디파일을 재생하려 합니다.료

떠돌아 다니는 미디파일중 하나를 다운받아 더블클릭해서 재생을 시도하니 KMid 프로그램이 실행 되면서 다음과 같은 메시지를 보여 주는군요.

Could not opens /dev/sequencer.

Probably there is another program using it.

다른 프로그램이 미디를 쓸리 만무하고 우선 /dev/sequencer 디렉토리를 확인 해보니까.

sequencer 라는 디렉토리 자체가 없군요.

미디파일을 재생하기 위해서는 이다음에 어떤 절차가 필요한가요?

ganadist의 이미지

universe 에 보면 timidity라는 패키지가 있습니다.

이것을 설치한 후에 다음 파일을 설정합니다.

/etc/default/timidity

파일에 보면 다음이 주석처리 되어 있습니다.

#TIM_ALSASEQ=true

이부분의 주석을 제거한 후 timidity 서비스를 시작합니다.

/etc/init.d/timidity start

참고로 다음 부팅시에는 자동으로 시작됩니다.

다음 명령어로 alsa sequence에 timidity가 등록되어 있는지 확인하기 바랍니다.

$ cat /proc/asound/seq/clients 
Client info
  cur  clients : 4
  peak clients : 4
  max  clients : 192
 
Client   0 : "System" [Kernel]
  Port   0 : "Timer" (Rwe-)
  Port   1 : "Announce" (R-e-)
    Connecting To: 15:0
Client  14 : "Midi Through" [Kernel]
  Port   0 : "Midi Through Port-0" (RWe-)
Client  15 : "OSS sequencer" [Kernel]
  Port   0 : "Receiver" (-we-)
    Connected From: 0:1
Client 128 : "TiMidity" [User]
  Port   0 : "TiMidity port 0" (-We-)
  Port   1 : "TiMidity port 1" (-We-)
  Port   2 : "TiMidity port 2" (-We-)
  Port   3 : "TiMidity port 3" (-We-)
  Output pool :
    Pool size          : 500
    Cells in use       : 0
    Peak cells in use  : 0
    Alloc success      : 0
    Alloc failures     : 0
  Input pool :
    Pool size          : 1000
    Cells in use       : 0
    Peak cells in use  : 0
    Alloc success      : 0
    Alloc failures     : 0

----
데스크탑 프로그래머를 꿈꾸는 임베디드 삽질러

아주가끔은의 이미지

$ sudo /etc/init.d/timidity start

* Starting TiMidity++ ALSA midi emulation...
ALSA lib seq_hw.c:457:(snd_seq_hw_open) open /dev/snd/seq failed: No such file or directory
error in snd_seq_open [ ok ]

$ cat /proc/asound/seq/clients
cat: /proc/asound/seq/clients: No such file or directory

라고 나옵니다.

뭔가 빠진것이 있나요?

xein@ubuntu610:/dev/snd$ ls
controlC0 midiC1D0 pcmC0D0c pcmC0D1p pcmC1D0c timer
controlC1 midiC1D1 pcmC0D0p pcmC0D2c pcmC1D0p

그리고 timidity 라는건 소프트 신스 인가요?

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
RME 9636/52, JV-80, Yamaha O3D, DA-30MKII, US-122MKII, Roland SC-55

http://blog.obbli.net

ganadist의 이미지

alsa드라이버 중 미디 관련 커널 모듈이 적재가 안된 것 같습니다.

우분투를 사용하신다면 자동으로 적재가 되어야 하는데 이상하네요.

다음 명령으로 미디관련 커널 모듈이 적재되었는지 확인해보세요.

$ lsmod |grep seq
snd_seq_dummy           4996  0 
snd_seq_oss            36480  0 
snd_seq_midi            9984  0 
snd_rawmidi            27264  1 snd_seq_midi
snd_seq_midi_event      8960  2 snd_seq_oss,snd_seq_midi
snd_seq                59120  7 snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_seq_midi_event
snd_timer              25348  3 snd_rtctimer,snd_pcm,snd_seq
snd_seq_device          9868  5 snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_rawmidi,snd_seq
snd                    58372  13 snd_intel8x0,snd_ac97_codec,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_seq_oss,snd_rawmidi,snd_seq,snd_timer,snd_seq_device

그리고 timidity는 사운드 폰트를 이용해서 midi를 pcm 데이터로 변환해주는 도구입니다.

timidity의 기능 중 하나가 alsa의 미디 장치 에물레이션입니다. 저렇게 등록한 다음, 리눅스에서 실제 미디 장치인 /dev/sequence 에 midi데이터를 전송하면 timidity가 해당 데이터를 해석해서 pcm데이터를 생성한 것을 사운드 카드로 출력하게 해줍니다.

----
데스크탑 프로그래머를 꿈꾸는 임베디드 삽질러

아주가끔은의 이미지

제가 해본 결과는 아래와 같습니다.

$ lsmod |grep seq
snd_seq_device 9868 1 snd_rawmidi
snd 58372 16 snd_ice1712,snd_hda_intel,snd_hda_codec,snd_ak4xxx_adda,snd_cs8427,snd_ac97_codec,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_timer,snd_i2c,snd_mpu401_uart,snd_rawmidi,snd_seq_device

미디관련 커널 모듈이 어떤건지는 잘 모르겠습니다.

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
RME 9636/52, JV-80, Yamaha O3D, DA-30MKII, US-122MKII, Roland SC-55

http://blog.obbli.net

JN의 이미지

혹시나 해서 적는 겁니다만, /dev/sequencer 쪽을 손보기 전에 timidity 로 직접 midi 파일을 재생해 보시기 바랍니다. 주관적인 판단이지만, 썩 만족스럽지 못한 품질로 재생될 수도 있습니다. 어떤 미디 파일은 좋은 소리를 들려 주었는가 하면, 어떤 파일은 그렇지 못했습니다. 미디란 것의 특성상 이건 뭐 당연한 일이겠지만, 어쨓든 괞찮은 패치 셋(이 용어가 맞는지 잘 기억이 안남, 사운드 폰트라고 해도 될듯하군요)을 구성하기가 힘들었던 걸로 기억합니다. 이렇게 했을 때, 만족스러울 경우에 /dev/sequencer 쪽도 시도해 보는 것이 좋을 거 같습니다.

두 분 대화에 이걸 확인할 수 없어서 적었는데 어쩌면 기우일지도 모르겠습니다.

daybreak의 이미지

리눅스에서 VST Instruments를 올릴 방법이 없고,
MOTU의 미디 인터페이스를 올릴 방법도 마땅치 않아보이고,
하드 레코딩용 오디오 인터페이스를 올리기도 마땅치 않아보이고,
Cubase SX까지는 아니더라도 쓸만한 프로그램이 있어야 하겠는데 이것도 없고,
리눅스에서 도는 패치 에디터.. 생각하면 머리에 쥐나고.... 해서
리눅스로 못가고 있지요.

"이 바닥은 원래 그러니 없으면 직접 만들어 쓰세요" 라고 하실 분들께...
이거 한사람이 만들 분량은 한참 초과했고..
열댓명 붙어도 좀 힘들겠네요. ;)

Scarecrow의 이미지

http://www.rosegardenmusic.com/
"the closest native equivalent to Cubase® for Linux" – Sound on Sound

http://ubuntuforums.org/showthread.php?t=379195

시그너쳐: ./configure --prefix=/usr; make; sudo checkinstall

daybreak의 이미지

Sounddiver나 MusicQuest에 필적할만한 패치에디터는 있나요?

아주가끔은의 이미지

timidity는 소프트신스 인듯 하군요.

http://kldp.org/node/22634 에서 보고 timidity 의 사용법을 알았습니다. 그런데 이거만으로는 rosegarden 같은 시퀀서 프로그램을 돌릴 수 없는것 같은데요, timidity 를 이용하든 컴퓨터의 GM midi 를 사용하든 상관없습니다.
시스템과 연결되어서 편집이 가능한 방법은 없을까요?

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
RME 9636/52, JV-80, Yamaha O3D, DA-30MKII, US-122MKII, Roland SC-55

http://blog.obbli.net

JN의 이미지

rosegarden 을 쓰기 위해서는 /dev/sequencer 가 제대로 잡혀 있어야 합니다.

아주가끔은의 이미지

어떻게 잡습니까?

리얼텍 ALC880 칩셋과, ESP1010, RME9652 를 쓰고 있습니다.
일단 가볍게 리얼텍 ALC880 칩셋을 잡아보는 방향으로 말씀좀 해주시겠습니까?

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
RME 9636/52, JV-80, Yamaha O3D, DA-30MKII, US-122MKII, Roland SC-55

http://blog.obbli.net

JN의 이미지

일단 mp3 재생이나 timidity에서 직접 미디 파일을 재생하는 것이 가능하다면 사운드 칩셋은 제대로 잡힌 것입니다.

위에서 적으신 lsmod의 결과를 보면 snd_seq, snd_seq_midi_event, snd_seq_midi 같은 모듈이 올라와 있지 않습니다. 이걸 기초로 해서 문제가 무엇인지 찾아보세요.

제 생각에 배포판에서 제공한 커널을 사용하신다면 분명히 이 모듈들이 포함되어 있을 텐데, 혹시 커널을 직접 빌드하셨다면 빌드옵션을 다시 조정하신 후에 빌드해 보시기 바랍니다. 커널 빌드에 힌트가 되는 용어들은 이미 다 나왔다고 봅니다. :)

그런데 timidity를 써서 /dev/sequencer를 이용하는 것은 퍼포먼스가 상당히 떨어집니다. 뭐 제 컴퓨터의 사양이 오래된 것이기에 그런 것이기는 합니다. 또한 /usr/share/doc/freepats/README.gz 를 읽어보시면 아시겠지만 빠진 패치셋들이 상당히 많습니다. 혹시 잠깐 맛배기로 구경하시려는 것이 아니라면 무언가 실제로 써먹기에는 아직 무리가 있습니다.

아주가끔은의 이미지

우분투 하우투에서 찾은 하드웨어 MIDI설정법입니다.

https://help.ubuntu.com/community/MidiHardwareSynthesisSetup?highlight=%28midi%29

아래명령을 터미널로 입력하고

sudo modprobe -a snd-seq snd-seq-device snd-seq-midi snd-seq-oss snd-seq-midi-event

미디를 재생하니 /dev/sequencer 라는 에러메시지는 나타나지 않는데요.

재생하는데.... 소리가 안납니다.

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
RME 9636/52, JV-80, Yamaha O3D, DA-30MKII, US-122MKII, Roland SC-55

http://blog.obbli.net

Scarecrow의 이미지

http://www.ferventsoftware.com/index.php

오디오 프로그램들로 꾸며진 리눅스 배포판입니다.
상용제품이지만 홈페이지에 보니 demo를 다운받을 수 있고 LiveCD형태인듯 하더군요.
즉 받아다가 CD로 꾸워 한번 돌려보기에는 좋을 듯 합니다.
전 장비가 없어서 직접 해 보진 않았습니다.

가지고 계신 장비를 얼마나 잘 잡아주는지 테스트도 될 것이고
만약 인식에 성공한다면 그 배포판의 설정정보를 어찌어찌 알아내서 적용시켜보는 방법도 있을 듯합니다.
그리고 리눅스에는 어떤 종류의 오디오 프로그램이 있는지 알아보는 것으로도 활용할만 하겠구요.

시그너쳐: ./configure --prefix=/usr; make; sudo checkinstall

JN의 이미지

일단 지금 상황에는 링크하신 문서보다는
https://help.ubuntu.com/community/MidiSoftwareSynthesisHowTo
이 문서가 더 상관있는 문서입니다.

정말이지 칭찬이 나올 정도로 잘 정리되어 있군요. 우분투 Good 입니다. :) 전 사실 전에 데비안에 안주한 이후 너무 정이 든 탓에 옯겨가고 있지는 않지만, 우분투 정말 칭찬해 줄 만합니다.

aplaymidi -l 이나 cat /proc/asound/seq/clients 명령으로 Timidity 가 나온다면 제대로 설정된 걸로 보아도 무방하다고 생각합니다. alsa나 timidity에서 잘 지원해주는 것이라서 특별히 안 되는 이유를 모르겠습니다. aplaymidi 로도 미디파일 재생이 되지 않나요? 혹시 해서 kmid 패키지를 깔아 보았는데, 메뉴에서 midi setup들어가서 Timidity를 선택해 주었더니 잘 재생되더군요.

아 그런데 제가 윗글에서 팻치셋이 없는 둥 하면서 만족스럽지 않을 거라는 둥 헛소리를 지껄여 놨는데, timidity 가 진짜 soundfont를 지원하는군요. 전 사운드폰트 하는 소리가 팻치셋을 개념적으로 표현하는 소리인줄 알았는데, 그게 아니었습니다. 정말이지 고정관념이라는 것이 무섭군요. 링크된 문서에서 소개된 Unison.sf2 를 다운받아서 설정한 후에 재생해 보았는데, freepats 보다 훨씬 좋습니다. freepats가 지지부진한 원인의 하나인 듯 싶습니다. 다른 사운드 폰트도 찾아본다면 좀더 맘에 드는 소리를 얻을 수도 있을 듯 합니다.

그런데 제 컴퓨터 사양으로는 간신히 실시간으로 재생하는 수준이군요. 이걸 써서 /dev/sequencer설정하고 resegarden 사용하고 할려면 PC 사양이 어느정도 받쳐줘야 할것 같습니다 :) timidity가 mid->wav 변환기능도 있으니까 변환해서 듣는 것은 괜찮을 거 같군요.

여튼 진짜 사운드폰트도 지원하고 하니까 적극 추천합니다. 특별이 안될 이유가 없으니까 계속 이것저것 검토해 보시기 바랍니다 :) 의외로 사소한 부분에서 실수가 있는 경우가 많습니다.

아주가끔은의 이미지

로젠가든 같은 제작툴과 미디를 연동시키는데 성공했습니다. 재생도 가능하네요.. 여기까지는 미디재생을 좋은 품질(?)로 해볼 수 있을것 같습니다. ALC880 칩셋의 성능을 못쓴다는게 조금 아쉽긴 합니다. 이것도 소프트신스의 개념과 비슷한데...

믹스다운은 CPU 사용율 때문에 쫌 심각하겠네요. 미디만의 레이턴시는 그다지 높아보이지 않는데, 오디오 소스까지 몇트랙 쓰면 퍼포먼스가 못따라갈지도..

이 스레드로 우분투에서 미디인터페이스 같은 것들을 연결하는데까지 가보려고 합니다.

관심있으신분은 글을 부탁드립니다.

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
RME 9636/52, JV-80, Yamaha O3D, DA-30MKII, US-122MKII, Roland SC-55

http://blog.obbli.net

Scarecrow의 이미지

메인보드에 박혀있는 내장사운드 말하는거 아닌가요?
그거 얘기하는게 맞으시다면 ALC880을 아무리 잘 리눅스에서 설정한다 해도
윈도우에서 듣던 그 소리를 얻지는 못할듯 합니다.

왜냐하면 그 사운드는 칩셋에서 제공되는 사운드가 아니고 윈도우에 포함되어 있는거거든요.
제 기억이 맞다면 아마 MS에서 사캔 모듈 라이센스 사다가
기본적인 것만 제공하는 거랄 수 있거든요.
그래서 제어판 들어가서 사운드 설정 쪽으로 잘 찾아보면 사캔 로고도 있을겁니다.(저작권 표시)

그러니까 timidity가 잘 돌아가고 있다면 ALC880은 이미 잘 설정되어 있다는 것이죠.
다른 장비쪽은 제가 소개해 드린 ALSA wiki를 참고하면 될 듯합니다.

시그너쳐: ./configure --prefix=/usr; make; sudo checkinstall

Scarecrow의 이미지

리눅스에서 low latency를 위해 사용되는 것으로 JACK이 있습니다.
http://en.wikipedia.org/wiki/JACK_Audio_Connection_Kit

우선 사운드장비의 설정문제는 ALSA가 관건일 것 같구요.
http://en.wikipedia.org/wiki/ALSA_%28Linux%29

정리하자면 사운드 관련한 설정은 아마
http://alsa.opensrc.org/Main_Page
에 잘 찾아보시면 원하시는 해답이 있을 듯도 합니다.

시그너쳐: ./configure --prefix=/usr; make; sudo checkinstall

익명사용자의 이미지

오디오 스테이션으로 개발중

OpenSuSE 10.2 에 JAD 설치
http://wiki.jacklab.net/index.php/3_Steps_to_JAD_for_Beginners

openSuSE Jack Audio 포럼
http://forum.jacklab.net

아주가끔은의 이미지

언제나올지는 모르지만.

http://ubuntustudio.org

조금 아쉽다면 커널을 바꿔야 한다는점이 걸리는군요. 수세 스튜디오를 조심스레 한번 설치해봤는데.. 데스크탑으로서 혼용이 힘들어지더군요.
저도 그렇고 대부분의 음악제작에 몰두하시는 분이 리눅스에 대한 지식이 없는 상태에서 현재 나와있는 참고문서를 그대로 활용하기란...

지금 있는것도 시간을 많이 요하던데.. ㅜ.ㅜ

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
RME 9636/52, JV-80, Yamaha O3D, DA-30MKII, US-122MKII, Roland SC-55

http://blog.obbli.net

MoonGate의 이미지

나중에 취미로 해볼만은 할 것 같습니다.. ㅎㅎㅎ

-----------------------------
-----------------------------
A See! 젠투가 최고, 젠투를 써!
Gentoo! War! Fight!
젠투가 모든 걸 해결해 줄거야!
-----------------------------

-----------------------------
A See! 젠투가 최고, 젠투를 써!
Gentoo! War! Fight!
젠투가 모든 걸 해결해 줄거야!
-----------------------------

jachin의 이미지

유럽에서는 미디 관련해서 리눅스 프로젝트나 개발되고 있는 프로그램이 꽤 되고 있는 것으로 알고 있어요... 국내에서도 오디오 엔지니어링을 위해 고군분투하는 개발자 분들이 계신다고 얘기는 들었지만... 이전에 만나본 분 외에 아직 직접 만나뵙질 못했네요. ( ' ')a
====
( - -)a 이제는 학생으로 가장한 백수가 아닌 진짜 백수가 되어야겠다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.