AU Lab をスピーチプロセッサとして使うスピーチプロセッサ マイク入力の音質を改善したいという場合がときどきあるかもしれない。例えば 環境ノイズを減らしたい 聞きやすいように音量をある程度一定に保ちたい とか。 アナログでやろうとすると割と...cho45
スピーチプロセッサ
マイク入力の音質を改善したいという場合がときどきあるかもしれない。例えば
環境ノイズを減らしたい
聞きやすいように音量をある程度一定に保ちたい
とか。
アナログでやろうとすると割と高価な機材が必要だが、現代はDSPでなんとでもなる。
AU Lab
Mac には標準で AU (Audio Units) という機能があり、簡単なフィルタとかはこれでできる。AU はプラグインとなっており、使うためにはアプリケーションが必要。標準アプリケーションだと Garage Band で使えるが、AU だけ使いたいのに Garage Band というのは重すぎるしめんどうくさい。
しかし、実は Apple はAU Labというソフトウェアを提供しており、標準添付ではないのだが、これをインストールすると入力を AU を通して別のデバイスに出力というのが簡単にできる。
Perl でバイト数を制限しつつ、文字列を妥当なバイト列に変換したいuse strict; use warnings; use utf8; use Encode; sub encode_with_limit { my ($encoding, $str, $limit)...cho45
use strict;
use warnings;
use utf8;
use Encode;
subencode_with_limit{
my ($encoding, $str, $limit) = @_;
$encoding = Encode::find_encoding($encoding);
my $encoded = '';
for (my $i = 0; $i < length($str); $i++) {
my $chr = $encoding->encode(substr($str, $i, 1));
if (length($encoded . $chr) > $limit) {
last;
} else {
$encoded .= $chr;
}
}
$encoded;
}
use Test::More;
is encode_with_limit('UTF-8', 'あいうえお', 1), encode_utf8('');
is encode_with_limit('UTF-8', 'あいうえお', 2), encode_utf8('');
is encode_with_limit('UTF-8', 'あいうえお', 3), encode_utf8('あ');
is encode_with_limit('UTF-8', 'あいうえお', 4), encode_utf8('あ');
is encode_with_limit('UTF-8', 'あいうえお', 5), encode_utf8('あ');
is encode_with_limit('UTF-8', 'あいうえお', 6), encode_utf8('あい');
is encode_with_limit('UTF-8', 'あいうえお', 9), encode_utf8('あいう');
done_testing;
こうしたんだけど、もっと簡単にできないんだろうか…
#!/usr/bin/env perluse strict;
use warnings;
use utf8;
use Encode;
subencode_with_limit{
my ($encoding, $str, $limit) = @_;
$encoding = Encode::find_encoding($encoding);
my $encoded = $encoding->encode($str);
my $short = $encoding->decode(substr($encoded, 0, $limit), Encode::FB_QUIET);
$encoding->encode($short);
}
use Test::More;
is encode_with_limit('UTF-8', 'あいうえお', 1), encode_utf8('');
is encode_with_limit('UTF-8', 'あいうえお', 2), encode_utf8('');
is encode_with_limit('UTF-8', 'あいうえお', 3), encode_utf8('あ');
is encode_with_limit('UTF-8', 'あいうえお', 4), encode_utf8('あ');
is encode_with_limit('UTF-8', 'あいうえお', 5), encode_utf8('あ');
is encode_with_limit('UTF-8', 'あいうえお', 6), encode_utf8('あい');
is encode_with_limit('UTF-8', 'あいうえお', 9), encode_utf8('あいう');
done_testing;
LTspice は Linear Technology (半導体メーカー) が提供している回路シミュレーションソフトウェアであり、Windows 版と Mac 版がある。Mac 版しか触ってないが、検索すると Windows 版の画面ばっかり出てくる。UI は Windows 版と Mac 版で結構違う。