日記/2007-01-13
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
] [
リンク元
]
開始行:
* Skype [#r11c8a25]
チャットで話題になったので,入れてみる.
以前入れていたのだが,ライブラリをアップデートしたら動か...
debian etch の場合は SuSE の rpm から alien で deb ファイ...
で,アドレス帳を見ると,以前使ってたときのものがそのまま...
が,Skype Test Call なんていう見慣れない宛先が登録されて...
その名のとおり,テスト用の自動応答の相手の接続である.
マイクの調整を兼ねて,かけてみる.
すると…
ミキサの入力ゲインがどんどん下がっていく.
入力のオーバフローを検出して Skype が勝手にレベル調整する...
で,下げるのはいいんだけど,まったく上げてくれないのは困...
というわけで,テスト先にはまったく音声は届かず.
というわけで,インストールしたはいいけどお蔵入り,かな.
* オシロスコープもどき [#re5669f9]
で,Skype がレベルを勝手に下げる,という結論に達するまで...
例えば
$ hexdump /dev/dsp
とか.
単に open して read しただけでは
:サンプリング周波数|8000Hz
:チャネル数|1
:出力形式|unsigned 8 bit 0x80 がゼロレベルで 0, 255 が最...
の出力が得られる.
これだとあまり直感的ではないので,ちょろちょろっとプログ...
#include <stdio.h>
#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <errno.h>
#include <stdlib.h>
#define COLS 79
#define ROWS 24
#define M 5
main ( int argc, char *argv[] )
{
int fd = 0;
if ( argc >= 2 ) {
fd = open ( argv[1], O_RDONLY );
if ( fd < 0 ) {
perror ( NULL );
exit ( -1 );
}
}
for (;;) {
int m;
unsigned char buf[COLS + 2], b[M];
memset ( buf, ' ', COLS );
buf[COLS] = '\n';
buf[COLS+1] = '\0';
if ( read ( fd, b, sizeof(b) ) < sizeof(...
return 0;
for ( m = 0; m < M; ++m ) {
int x;
x = b[m] * (COLS-1) / 255;
buf[x] = '*';
}
write ( 1, buf, sizeof(buf) );
}
return 0;
}
書きはじめると,ついついいろんな機能を付けようと凝りそう...
使いかたは
$ gcc osc.c -o osc
でコンパイルして
$ osc /dev/dsp
で実行.
終了行:
* Skype [#r11c8a25]
チャットで話題になったので,入れてみる.
以前入れていたのだが,ライブラリをアップデートしたら動か...
debian etch の場合は SuSE の rpm から alien で deb ファイ...
で,アドレス帳を見ると,以前使ってたときのものがそのまま...
が,Skype Test Call なんていう見慣れない宛先が登録されて...
その名のとおり,テスト用の自動応答の相手の接続である.
マイクの調整を兼ねて,かけてみる.
すると…
ミキサの入力ゲインがどんどん下がっていく.
入力のオーバフローを検出して Skype が勝手にレベル調整する...
で,下げるのはいいんだけど,まったく上げてくれないのは困...
というわけで,テスト先にはまったく音声は届かず.
というわけで,インストールしたはいいけどお蔵入り,かな.
* オシロスコープもどき [#re5669f9]
で,Skype がレベルを勝手に下げる,という結論に達するまで...
例えば
$ hexdump /dev/dsp
とか.
単に open して read しただけでは
:サンプリング周波数|8000Hz
:チャネル数|1
:出力形式|unsigned 8 bit 0x80 がゼロレベルで 0, 255 が最...
の出力が得られる.
これだとあまり直感的ではないので,ちょろちょろっとプログ...
#include <stdio.h>
#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <errno.h>
#include <stdlib.h>
#define COLS 79
#define ROWS 24
#define M 5
main ( int argc, char *argv[] )
{
int fd = 0;
if ( argc >= 2 ) {
fd = open ( argv[1], O_RDONLY );
if ( fd < 0 ) {
perror ( NULL );
exit ( -1 );
}
}
for (;;) {
int m;
unsigned char buf[COLS + 2], b[M];
memset ( buf, ' ', COLS );
buf[COLS] = '\n';
buf[COLS+1] = '\0';
if ( read ( fd, b, sizeof(b) ) < sizeof(...
return 0;
for ( m = 0; m < M; ++m ) {
int x;
x = b[m] * (COLS-1) / 255;
buf[x] = '*';
}
write ( 1, buf, sizeof(buf) );
}
return 0;
}
書きはじめると,ついついいろんな機能を付けようと凝りそう...
使いかたは
$ gcc osc.c -o osc
でコンパイルして
$ osc /dev/dsp
で実行.
ページ名:
-->