[表示 : 全て 最新50 1-99 101- 201- 301- 2chのread.cgiへ]
Update time : 08/10 22:34 / Filesize : 74 KB / Number-of Response : 328
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

サウンドプログラミング5



1 名前:デフォルトの名無しさん [2009/01/11(日) 13:43:21 ]
音のプログラミング処理について語りましょう

各エフェクタの組み合わせとか、
プログラミング外の話題はDTM板の方がいいよ

サウンドプログラミング4
pc11.2ch.net/test/read.cgi/tech/1185340076/

サウンドプログラミング3
pc11.2ch.net/test/read.cgi/tech/1145573675/

サウンドプログラミング2
pc8.2ch.net/test/read.cgi/tech/1091054082/

サウンドプログラミング
pc5.2ch.net/tech/kako/996/996171508.html

41 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 21:57:16 ]
>>40
DCT自体は可逆だぜ。
速度やらサイズやらのために細かい部分を捨てることが多いだけで。

42 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 22:05:29 ]
>>41
可逆なのは無限に加算したときだけじゃないの
普通は切り捨てるからそこで音質落ちるんだよ
程度問題だけど人間の耳で分からないレベルで
気にならなければOKでしょ

43 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 22:10:14 ]
音にDCTしてもなぁ…

44 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 23:33:43 ]
>>42
扱うのはデジタルデータなんだから無限に加算する必要なんざねーよ。

45 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 23:39:15 ]
てことは、かなり細かく分割して周波数領域に
変換するってこと?

46 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 00:00:59 ]
ウェーブレットでやれ。

47 名前:デフォルトの名無しさん [2009/01/17(土) 08:36:00 ]
WDM Kernel StreamingをASIOでラッパーするドライバを作ってみた

AsioKs
fanzo.real-sound.net/iCubicProject/

48 名前:デフォルトの名無しさん [2009/01/19(月) 18:19:02 ]


49 名前:デフォルトの名無しさん mailto:sage [2009/01/21(水) 10:51:49 ]
DNAはやくリリースされないかな



50 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 11:24:36 ]
DirectNoteAccess?

51 名前:デフォルトの名無しさん mailto:sage [2009/01/24(土) 16:08:40 ]
ディレイとエコーの違いが分からない orz
ディレイは少し前の入力値を、現入力値に加算
エコーは少し前の出力値を、現入力値に加算
という理解で合ってるのかな・・・

52 名前:デフォルトの名無しさん [2009/01/25(日) 15:10:53 ]
エコー=リバーブ?

53 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 16:15:46 ]
エコーはこだまだろ
やほーーー、yahoo...

54 名前:デフォルトの名無しさん mailto:sage [2009/01/25(日) 19:40:15 ]
ディレイもエコーも同じだよ

55 名前:デフォルトの名無しさん [2009/01/25(日) 23:34:17 ]
俺も>>54と同じ意見。 ディレイ=エコー=やまびこ、で、リバーブが風呂場で音が響く感じ。

56 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 09:08:59 ]
俺の認識では、エコー=風呂場の響き だな。 

57 名前:55 [2009/01/26(月) 11:14:09 ]
>>56
じゃあ、リバーブはどう認識してるの?w

58 名前:55 [2009/01/26(月) 11:18:52 ]
エコー
* (ギリシア*kh*)ギリシア神話のニンフ。ヘラの怒りを買って他人のことばを繰り返すことしかできなくなる。ナルキッソスを恋したがその愛を告げられず、苦悩の果てに声だけ残り、こだまになったという。
* (英echo)
1 こだま。やまびこ。
2 残響。

国語大辞典では、↑だそうだよ。
>>56の風呂場でヤッホーと叫ぶと、2、3秒してからヤッホーが戻ってくるのか?w

59 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 11:32:25 ]
リバーブと風呂場は残響というか壁の反響音だよな



60 名前:55 [2009/01/26(月) 11:54:09 ]
だから、教会やコンクリートの部屋や洞窟の複雑な反射音を小さな機械で再現しようとしたのがリバーブなんだよ、ばか。

61 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 12:08:53 ]
ディレイは純粋に遅らせるだけ ドライとの合成は別問題
リバーブは残響
リバーブの実装方法の中にはディレイを用いるものもある

62 名前:55 [2009/01/26(月) 12:09:42 ]
だから、ディレイ=エコー=やまびこのプログラムは簡単だと思う。
パラメーターは、原音にたいし、何秒後に何回返すか、音質をどう変化させていくか、音量をどう変化させていくか、
ぐらいしかないと思う。
リバーブは、原音にたいし、0.01秒後ぐらいから反射が始まって、全体的にワオ〜ンという音を作らなければならないから難しいと思う。俺は全然わからないw

63 名前:55 [2009/01/26(月) 12:24:27 ]
仮にリバーブが出来たとしても、リバーブをかけた時に、聞く人が心地よくなければダメだからむずかしい。
リバーブの製品でも「これ風呂場リバーブじゃん」ってバカにされるからね。

64 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 13:17:53 ]
スプリングエコーって言うのあるじゃん。
あれは山びこじゃなくて、風呂系の響きだよな。

65 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 18:57:13 ]
風呂場で聞けばいいじゃないのもう

66 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 01:24:59 ]
おまいらちょっとはググったらいんでないか
エコーはフィードバックディレイだ
リバーブはディレイタイム(レベルも?)のばらばらな
無数のディレイを加算して再現したりしなかったり
いろんな方法があるみたい
>>64
スプリングリバーブは、昔アナログのころ
バネのある空間に音を飛ばして戻ってきた
音をリバーブとして(ry


67 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 17:16:01 ]
バネのある空間って何だ

68 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 23:30:42 ]
gomente.blog.so-net.ne.jp/2007-10-08

69 名前:デフォルトの名無しさん mailto:sage [2009/01/30(金) 11:49:27 ]
等ラウドネス曲線を扱ったプログラミングがしたいのですが、
調べた限りグラフばかりで、グラフから読み取るのは精度的にも問題ありそうなので、
周波数毎のゲインの数値データが欲しかったりします。

1) Web等で数値データとして配布されていますか?
2) もしなければ下記の仕様書の購入を検討するのですが、
そもそも仕様書自体には数値データは含まれているのでしょうか?
ISO226:2003 www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=34222



70 名前:デフォルトの名無しさん mailto:sage [2009/01/30(金) 23:58:53 ]
>>69
でかい本屋で立ち読みできるからいってみたら?


71 名前:デフォルトの名無しさん mailto:sage [2009/01/31(土) 21:20:01 ]
>>71
なるほど、その手が。
ありがとうございます。早速行ってみます。

72 名前:デフォルトの名無しさん [2009/02/06(金) 15:52:38 ]
あげ

73 名前:デフォルトの名無しさん mailto:sage [2009/02/06(金) 21:11:17 ]
>>72
そんなさがってた?

74 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 22:06:58 ]
うん、もう海底まじかだったよ

75 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 22:54:44 ]
>>6
それはドゥレイだろ!

76 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 21:47:30 ]
>>75
超遅レス乙

77 名前:デフォルトの名無しさん [2009/02/13(金) 12:54:22 ]
再生速度の変更ってどうやればいいですか?



2 3 4 5ってデータがあったら
2 2 3 3 4 4 5 5にしたらいいんですか?これで再生速度50%?

78 名前:デフォルトの名無しさん mailto:sage [2009/02/13(金) 17:46:22 ]
>>77
やってみるといいよ

79 名前:デフォルトの名無しさん mailto:sage [2009/02/13(金) 21:19:47 ]
>>77
こんなん

23456789   ←6〜9をフェードアウト
   23456789←2〜5をフェードイン



80 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 01:21:02 ]
波形はそのままでサンプリングレートを下げるだけ

81 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 10:09:26 ]
それだと音程も下がるよね

82 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 13:11:10 ]
補完すればいいんじゃね

83 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 00:00:50 ]
>>77
ttp://toragi.cqpub.co.jp/Portals/0/backnumber/2009/01/p202.pdf

84 名前:デフォルトの名無しさん [2009/02/17(火) 03:00:39 ]
すみません質問ですが、Mpeg-4の規格のドキュメントってどこかにないでしょうか。
mp4の音と映像を分離したいと思っているのですが。

85 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 07:44:34 ]
ttp://www.apple.com/jp/quicktime/technologies/mpeg4/

86 名前:デフォルトの名無しさん mailto:sage [2009/02/17(火) 10:55:52 ]
mp4のdemuxくらいなら俺だったらmp4boxのソースを参照しちゃうな
ライセンスはLGPLになるが

87 名前:デフォルトの名無しさん mailto:sage [2009/02/20(金) 23:08:07 ]
>>83
おー、それ買ってみた
今度よもと

88 名前:デフォルトの名無しさん mailto:sage [2009/03/08(日) 12:03:38 ]
ImageMagickの音版みたいなツール群ってありませんか?

89 名前:デフォルトの名無しさん mailto:sage [2009/03/08(日) 14:55:07 ]
具体的に、何ができることを期待している?



90 名前:デフォルトの名無しさん mailto:sage [2009/03/08(日) 15:16:16 ]
>>89
ノーマライズしたり無音部分を取り除いたり
簡単な帯域通過フィルタができたりするコマンドラインツールです

91 名前:デフォルトの名無しさん mailto:sage [2009/03/08(日) 16:45:41 ]
>>90
つ sox

92 名前:デフォルトの名無しさん mailto:sage [2009/03/08(日) 18:43:41 ]
>>91
まさにこんなやつです!
さんくす

93 名前:デフォルトの名無しさん [2009/03/08(日) 22:10:08 ]
winXP, VC++2005 でサウンド入出力プログラムを作っています.
SDK,低レベルAPIを使っています.
入力,出力共にマルチバッファリングを行っているのですが,
入力と再生の間に,バッファ数に従う遅延が生じてしまいます.
体感では,(1バッファに録音する秒数 * 用意したバッファ数)秒
の遅延が生じていると思われます.

リアルタイムに近い動作を実現したいため,
1バッファに録音する秒数(RecSEC)を短くしています.
現在の設定では RecSEC = 0.005 [sec/buffer] です.
バッファ数が少ないと音声がブツブツと途切れてしまいますが,
バッファ数を増やす事で解決しました.

これで遅延量が少ない動作が実現できたと思っていたのですが,
RecSEC = 0.1 として実行してみたところ,約0.1[sec]の遅延を期待していたのですが
約(0.1*バッファ数)[sec] という大きな遅延となってしまいました.

ソースコードをアップしましたので,解決方法をご教授願います.
waveInStart の実行位置を変えてみる等色々とやってみましたが
よくわかりませんでした.

pass: sagehoge
ttp://www2.uploda.org/uporg2074476.txt.html

アルゴリズムによる遅延を解消したいです.
よろしくお願いします.

94 名前:デフォルトの名無しさん mailto:sage [2009/03/08(日) 22:57:41 ]
>>93
遅延云々以前に入力と出力を同期させてないように見える

バッファ単位の入力完了イベントでたった今読み取ったバッファを
出力にまわす、という処理をしなくてはならないのに、
入力と出力を同時に走らせてタイミングは運にまかせてるから
録音よりも再生が先行してたまたまバッファまるまる1周分の遅れ
が生じているのでは

waveXXXは使ったことないので推測でしかないが

95 名前:デフォルトの名無しさん mailto:sage [2009/03/09(月) 10:37:27 ]
InバッファとOutバッファを共有したいのは分かるが
別々に用意してコピーする方がいいかもしらん

96 名前:デフォルトの名無しさん mailto:sage [2009/03/09(月) 15:32:05 ]
別に分けた所で割り込み間隔が短いと負荷時にあっさり逆転する。
まー、デバイスによるのかもしんないけど、
waveIn/waveOut系は互いに同期取ってるわけでも無いし保証も無かったと思うから
一番短い理論上可能な「1バッファ分のレイテンシ」すら難しいと思うよ。

97 名前: ◆0uxK91AxII mailto:sage [2009/03/09(月) 15:47:17 ]
>>93
頭が悪すぎてハナシにならない。

98 名前:デフォルトの名無しさん mailto:sage [2009/03/09(月) 15:56:28 ]
コテハンでいきなり罵倒か。NG対象にしてくれといわんばかりだな

99 名前:デフォルトの名無しさん mailto:sage [2009/03/09(月) 19:07:47 ]
基地外参上ってアピールしてるんだろ



100 名前:93 mailto:sage [2009/03/09(月) 22:03:47 ]
>>94
私自信 wave*** を使い始めたばかりなので
(それが免罪符だとは考えていませんが)
よく分かりません.検討致します.

>>95
ありがとうございます.
それは何故でしょうか?

>>96
「1バッファ分」が理想的ですが,
用意したバッファ分のレイテンシとなる事が避けられたら満足です.

>>97
解決策が分かるのですね.
お暇な時にアドバイスをお願いします.



101 名前:デフォルトの名無しさん mailto:sage [2009/03/10(火) 09:12:54 ]
WinXPで音楽のテンポを変更する処理を実装したいです。
音楽が入ったWAVファイルの音程を変えずにテンポを変えたいです。
普通はどのように実装するものでしょうか?
WAVEFORMATEX のサンプリングレートを変更するとテンポは変わりますが音程も変わってしまいます。


102 名前:デフォルトの名無しさん mailto:sage [2009/03/10(火) 09:29:10 ]
タイムストレッチとかそのへんのキーワードでぐぐってみれば

103 名前:デフォルトの名無しさん mailto:sage [2009/03/10(火) 10:02:28 ]
音程を変えずにテンポ変えるのって難しいよね

104 名前:デフォルトの名無しさん mailto:sage [2009/03/10(火) 10:19:24 ]
単純に考えればテンポを下げるときは波形データを間引きし
テンポを上げるときは波形データを2倍した後間引きするとか
音質は保証の限りではないが

105 名前:デフォルトの名無しさん mailto:sage [2009/03/10(火) 10:19:28 ]
floor13.sakura.ne.jp/book03/book03.html
nis-ei.eng.hokudai.ac.jp/~aoki/laboratory04.html

106 名前:デフォルトの名無しさん mailto:sage [2009/03/10(火) 11:07:13 ]
スレ毎に同じ質問が繰り返されてる気がするw
テンプレ化か、FAQとサンプルソースのwikiとかあった方がいいのかねぇ

107 名前:デフォルトの名無しさん mailto:sage [2009/03/10(火) 13:11:15 ]
テンプレが増えてきたら、wikiあると便利だろうね

108 名前:デフォルトの名無しさん mailto:sage [2009/03/10(火) 13:30:21 ]
スレ毎どころかスレ内でも繰り返してるぞ
>>101>>77-83 と同じだろ

109 名前:デフォルトの名無しさん mailto:sage [2009/03/10(火) 13:36:56 ]
だな。ろくに知りもしないのに見当違いの回答しちゃう人が混ざってる点も同じ



110 名前:デフォルトの名無しさん mailto:sage [2009/03/10(火) 16:13:23 ]
じゃ正しいソースください

111 名前:デフォルトの名無しさん mailto:sage [2009/03/10(火) 21:11:14 ]
>>101
タイムストレッチはここの説明が分かりやすいかもな。
実装したことないけどw作ったらUPよろw

音声再生速度変換 : もっとゆっくりしゃべって!
blogs.msdn.com/windows_multimedia_jp/archive/2009/03/04/9458418.aspx

112 名前:デフォルトの名無しさん mailto:sage [2009/03/10(火) 21:21:39 ]
>>110
つ105

113 名前:デフォルトの名無しさん mailto:sage [2009/03/10(火) 23:43:39 ]
>>105って
200Hzの音を2倍速にするとき
10msに一度30万ステップの自己相関するん?

リアルタイムだと厳しそうね

114 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 21:04:04 ]
???

115 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 22:19:07 ]
>>113
そうしないと元の音との互換性が低くなるだろ

116 名前:デフォルトの名無しさん mailto:sage [2009/03/12(木) 02:24:19 ]
>>113
ディレイっぽく聞こえるのを低減させるために
オーバーラップさせる時間を周期性としてる

周期性を求めるのに自己相関使ってるのは
FFTに比べ低音を考慮したときの精度がいいからとか
実装が楽だからとかじゃね

117 名前:デフォルトの名無しさん mailto:sage [2009/03/16(月) 01:30:58 ]
>>101
それって結構難しいのよ
論文読むのがいいかなぁ…

118 名前:デフォルトの名無しさん mailto:sage [2009/03/16(月) 07:28:37 ]
ttp://nis-ei.eng.hokudai.ac.jp/~aoki/laboratory04.html
7.実験6:再生速度の制御
↑で十分じゃん

119 名前:デフォルトの名無しさん mailto:sage [2009/03/16(月) 18:55:07 ]
聴いた感じでは十分とは言いがたい



120 名前:デフォルトの名無しさん mailto:sage [2009/03/16(月) 19:06:41 ]
単音ならまだしも
音楽となるとMIDIのようなソースレベルでテンポを変えないと無理だろ

121 名前:デフォルトの名無しさん mailto:sage [2009/03/16(月) 19:11:06 ]
そこをなんとかするのがサウンドプログラミング

122 名前:デフォルトの名無しさん mailto:sage [2009/03/16(月) 19:19:35 ]
適当な区間ごとに離散フーリエ変換で周波数解析して
それを合成すればなんとかなるかもしらん

123 名前:デフォルトの名無しさん mailto:sage [2009/03/16(月) 22:40:16 ]
>>122
それはむずかしい

un4seenってとこのライブラリ
たしかオープンソースの再生速度変更が
けっこう優秀。
WMPより優秀と思う

124 名前:デフォルトの名無しさん mailto:sage [2009/03/20(金) 13:20:45 ]
サウンドプログラマーな先輩方にお聞きしたい。
WaveTone(ttp://www.vector.co.jp/soft/win95/art/se421780.html)
↑このソフトはどういった変換でスペクトル算出しているのか見当つきますでしょうか。

当方、FFTで似たようなプログラムを組んでみたのですが、低音域の周波数分解能があまりに悪く、
実用とはほど遠い結果になりましたので、先輩方のお知恵をお貸し頂きたいです。
何卒よろしくお願い申し上げます。

125 名前:デフォルトの名無しさん mailto:sage [2009/03/20(金) 14:42:06 ]
FFTのポイント数を増やすのはダメ?
ゼロ詰めしたりフレーム長を増やしたりしてね.

126 名前:デフォルトの名無しさん mailto:sage [2009/03/21(土) 12:18:51 ]
>>124
・FFT結果から山を見つけて頂点を補完
・各音階に属する周波数成分で平均化(画像縮小アルゴリズムの面積平均法みたいな感じ?)
サイトの画像見る限りでは低音の精度は粗いからFFT後になんか処理してると思われ

127 名前:デフォルトの名無しさん mailto:sage [2009/03/23(月) 00:42:11 ]
ローパスフィルタで分けてから低音域だけ取り出すとか

128 名前:デフォルトの名無しさん mailto:sage [2009/03/27(金) 00:26:38 ]
>>123
みつからないけどどこ?

129 名前:デフォルトの名無しさん [2009/03/27(金) 05:51:08 ]
すみませんタイム(ピッチ)シフトを実装したいのですが、
質問させてください。

速度とともにピッチが変更されてもかまわないのですが、
たとえば98%遅くするなど、単純な整数比ではない場合はどう実装すればよいのでしょうか。

アップサンプリング/ダウンサンプリングの手法ではこれは実現できないのでしょうか?
80%〜120%の間で、速度を変更したいです。
よろしくお願いします。




130 名前:デフォルトの名無しさん mailto:sage [2009/03/27(金) 07:37:39 ]
>>128
ttp://www.un4seen.com/
ttp://www12.plala.or.jp/mojo/Delphi/delphi6-Z.html

タイムストレッチはたしかbass_fx

>>129
>>118でも見れ
98%の速度にするには、100×nサンプル再生した後
2×nサンプル戻った位置から再生する

131 名前:デフォルトの名無しさん mailto:sage [2009/03/27(金) 12:56:11 ]
ピッチも変わっていいならTimidityのソースを見てみたら?

132 名前:デフォルトの名無しさん mailto:sage [2009/03/28(土) 21:46:56 ]
ほんとは間引く前にローパスフィルタだっけ?
あれかけないとノイズがでることがある

133 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 23:28:05 ]
いらない

134 名前:デフォルトの名無しさん mailto:sage [2009/04/08(水) 02:00:47 ]
FIRフィルタをそのまま実装するのと、
同じ係数で短時間FFTしてオーバーラップするのとは
同じ事でしょうか? 異なる場合は、どのような点が異なるのでしょうか?

135 名前:デフォルトの名無しさん [2009/04/08(水) 18:02:31 ]
>>134
infoshako.sk.tsukuba.ac.jp/InfoRes/jdoc/MATLAB5/jhelp/toolbox/signal/fftfilt.html

136 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 02:53:22 ]
>>135
ありがとうございますー

137 名前:デフォルトの名無しさん mailto:sage [2009/04/15(水) 00:57:20 ]
VSTでイコライザを作ってます。
RBJ Audio-EQ-Cookbook見ながらピーキングフィルタを使ってシングルバンドのEQらしきものは実装できました。
これをLOWとHIGHの2バンドにしようとしてるのですがうまくいきません。
この場合、どんなふうにコードを書けばいいのでしょうか?


138 名前:デフォルトの名無しさん mailto:sage [2009/04/15(水) 01:30:12 ]
ピーキング2つって意味ならIIRフィルタ2つ作ってに直列に通す

トンコロ的な、2~3バンドで全体を調整できるようなものにしたいなら
シェルビングタイプ2つにして直列に通す

139 名前:デフォルトの名無しさん mailto:sage [2009/04/15(水) 22:35:18 ]
>>138
ありがとうございます。
ピーキング2つを並べてLOW,HIGHの順でやってるんですが、
LOWの効きがシングルのときよりかなり弱く(効いてない?)なってしまうんです。
「直列」っていうのをちゃんとプログラミングできてないんですかね・・・



140 名前:デフォルトの名無しさん mailto:sage [2009/04/20(月) 13:53:01 ]
ASIO対応の録音再生ソフトって、素人では作れないですか?


141 名前:デフォルトの名無しさん mailto:sage [2009/04/20(月) 14:02:52 ]
そんなことないでしょ、どうしてそう思った?






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<74KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef