私はlinux初心者です。
C言語を使って、MIDI音源から音を出したいのですが、
どのようにすればよいのでしょうか?
詳しく教えてください(__)。
いいサイトなどがあれば教えてください。
ちなみに持っているMIDI音源はYAMAHAのQY70というものです。
OSはRedhat7.0を使っています。
どうぞよろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

QY70の場合、シリアル(TO HOST端子)接続とMIDI端子接続の2パターンがありますが、そのうちのどの接続にするかでデバイスドライバへのリクエストが異なると思います。



とりあえず、JFの文書を一読してみてはいかがでしょうか。

参考URL:http://www.linux.or.jp/JF/JFdocs/Sound-HOWTO.html
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qilink32について。'__setargv__'と'__turboFloat__'が未解決

WindowsXP+bcc32+ilink32でGLUTを使ったプログラムを書いています。
bccの設定はsetbcc.exe(http://www.cmagazine.jp/setbcc.html)を使いました。
opengl32.lib, glu32.lib, glut32.libはimplib.exe(http://blog.jyoken.net/?eid=478291)を使って作成しました。

以上の設定でbcc32付属のMakeを使ってmakeしたところ、
コンパイル後のリンクで以下のようなエラーが出てしまい困っています。
どなたか解決法を教えていただけないでしょうか?

よろしくお願いします。


---------------------
エラーの内容
---------------------
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
Error: 外部シンボル '__setargv__' が未解決(root が参照)
Error: 外部シンボル '__turboFloat' が未解決(root が参照)
---------------------

---------------------
使用しているMakefile
---------------------
CC= bcc32
LINKER= ilink32

SRCS= main.c callback.c Task.c Logger.c
OBJS= $(SRCS:.c=.obj)
TARGET= main.exe

CFLAGS= -wall -O2
LFLAGS=
LIBS= opengl32.lib glu32.lib glut32.lib

INCLUDE= -I"C:\borland\bcc55\Include"
LIB= -L"C:\borland\bcc55\Lib"


all: $(TARGET)

.SUFFIXES : .obj .c

.c.obj:
$(CC) $(CFLAGS) -c $(SRCS)

$(TARGET): $(OBJS)
$(LINKER) $(LFLAGS) $(LIB) $(OBJS),$(TARGET),,$(LIBS)
---------------------

WindowsXP+bcc32+ilink32でGLUTを使ったプログラムを書いています。
bccの設定はsetbcc.exe(http://www.cmagazine.jp/setbcc.html)を使いました。
opengl32.lib, glu32.lib, glut32.libはimplib.exe(http://blog.jyoken.net/?eid=478291)を使って作成しました。

以上の設定でbcc32付属のMakeを使ってmakeしたところ、
コンパイル後のリンクで以下のようなエラーが出てしまい困っています。
どなたか解決法を教えていただけないでしょうか?

よろしくお願いします。


---------------------
エラー...続きを読む

Aベストアンサー

BorlandのCコンパイラは、スタートアップルーチンを含むオブジェクトファイルは
ライブラリファイルの中にはアーカイブされていなくて、適切な
スタートアップ用.objファイルを別途指定してリンクしていたと思います
#bcc32.exeを使った場合はコンパイラドライバが自動でやってくれる。

質問にあるMakefileの内容を見た感じでは、そのOBJファイルを指定していませんので、
それが原因で解決できないシンボル名がでているのだと思います。
ということで、ilink32.exeでリンクする対象にそのスタートアップ用OBJファイルを
含めてやればよろしいかと。

C0なんとか.OBJという名前で、コンパイルオプションに応じていくつか
存在していたと思います。
#置かれている場所はライブラリファイルのあるディレクトリです。

QC/C++ の __LINE__ マクロを文字列化する方法

C/C++ プリプロセッサの定義済みマクロ __LINE__ の数値を
文字列化する方法がわかる方、いますか ?

# 演算子(マクロ?)を使ってもだめでした。
そもそも不可能なのでしょうか ?


printf("%d\n", __LINE__); // 行番号(数値) : OK

#define tostr(n) # n
printf("%s\n", tostr(__LINE__); // 文字列化して表示 : NG

# 「意味がない」という回答はカンベンしてください.。

Aベストアンサー

こんな感じでしょうか?

#define tostr(n) tostr_(n)
#define tostr_(n) #n
printf("%s\n", tostr(__LINE__));

VC++で/ZIオプションを付けた場合には、
"(__LINE__Var+行番号)"
という文字列になるので注意してください。

Q__gcクラスから、__nogcクラスの構造体を使おうとするとLNK2020エラーが出ます

NET 2003 C++ のマネージとアンマネージに関する質問です。

「__gc class」から、「__nogc class」の中に作った、「__nogc struct」構造体を使用しようとすると、「error LNK2020: 未解決のトークン」といったエラーになってしまい、
ビルドができません。
構造体を持つクラスの指定を「__gc class」に指定すると、ビルドが通るようになります。
これはどういった理由なのでしょうか?
マネージクラスから、アンマネージクラスの構造体は利用できないのでしょうか?

利用できるように改善する方法がございましたら、お教えいただけますと幸いです。
何卒よろしくお願いします。

Aベストアンサー

>B.hに、、__nogc struct Cの構造体の変数 *をstaticで宣言していたのですが、
>このstaticを外したところ、コンパイルが通りました。

クラスCのメンバ変数に struct Cのポインタ変数をもっていたということでしょうか。staticなメンバはコンストラクタの引数リストでなくグローバルな部分で初期化しなくてはならないのでそれが抜けていたのですかね。staticにする理由があるのであれば(異なるclass Cのインスタンス間で共通の変数を使いたい場合)その部分を見てみるのもよいかと思います。

Q__extension__

__extension__ unsigned long long _rand_next;

上記の表現の

__extension__

はどんな意味なのでしょうか?
opensslの
ソースコードをVC++2005でコンパイルしたいのです。

よろしくお願いします。

Aベストアンサー

「ここは標準Cの規格じゃなくて拡張された機能を使用しています」というコンパイラ制御用の指示です。無くてもプログラムは同じです。
付けないと long long型はCの標準規格にないので、コンパイラオプションによっては警告が出ます。もしVCでエラーになるなら消せばいいです。たくさんあるのなら、
#define __extension__
で空に置換でしょうか。

Qc言語の __FILE__ について

事前定義マクロの__FILE__で取得した文字列のchar型ですか?それともwchar_t型ですか? 
これは処理系に依存するのでしょうか?
ちなみに現在使用処理系はVisual c++ 2005 Express Editionです。

Aベストアンサー

文字列定数ですので基本的にはchar型の配列ですが、強引にwchar_t型の配列にすることも可能です。
例えば、

#define WIDEN(str) L##str

というマクロを用意して、

WIDEN(__FILE__)

と書けば、wchar_t型の配列になります。


人気Q&Aランキング

おすすめ情報