<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>橋本商会 &#187; sound</title>
	<atom:link href="http://shokai.org/blog/archives/tag/sound/feed" rel="self" type="application/rss+xml" />
	<link>http://shokai.org/blog</link>
	<description>なんか作ったりした記録を忘れないうちに書くblog</description>
	<lastBuildDate>Sun, 20 May 2012 10:50:20 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
<atom:link rel="hub" href="http://pubsubhubbub.appspot.com/" />
			<item>
		<title>wavファイルをRubyで編集する</title>
		<link>http://shokai.org/blog/archives/5408</link>
		<comments>http://shokai.org/blog/archives/5408#comments</comments>
		<pubDate>Thu, 18 Nov 2010 18:44:42 +0000</pubDate>
		<dc:creator>shokai</dc:creator>
				<category><![CDATA[未分類]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[sound]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[wav]]></category>

		<guid isPermaLink="false">http://shokai.org/blog/?p=5408</guid>
		<description><![CDATA[Rubyでwavファイルのフォーマットを読んだり、データチャンクを編集するためのgemを作った。 ベースは以前作ったやつで、ついでにwavファイル操作のサンプルをたくさん追加してrubygems.orgに登録しておいた。 [...]]]></description>
			<content:encoded><![CDATA[<p>
Rubyでwavファイルのフォーマットを読んだり、データチャンクを編集するためのgemを作った。<br />
<br />
ベースは<a href="http://shokai.org/blog/archives/4886">以前作ったやつ</a>で、ついでにwavファイル操作のサンプルをたくさん追加してrubygems.orgに登録しておいた。<br />
あくまでサーバーで音を合成して返すようなwebサービスで使う事を想定している物で、マイクからの入力をリアルタイムに音声処理するための物ではない。<br />
<br />
■インストール<br />
<pre>
gem install wav-file<br />
</pre>
<br />
<br />
■使う<br />
<br />
フォーマットとデータチャンクを読む<br />
<pre class="prettyprint">
require 'rubygems'<br />
require 'wav-file'<br />
<br />
f = open("input.wav")<br />
format = WavFile::readFormat(f)<br />
dataChunk = WavFile::readDataChunk(f)<br />
f.close<br />
<br />
puts format<br />
</pre>
<br />
するとこんな感じにフォーマットが取れる。<br />
<pre>
Format ID:      1<br />
Channels:       2<br />
Sampling Ratio: 48000 (Hz)<br />
Byte per Sec:   192000<br />
Bit per Sample: 16 <br />
Block Size:     4<br />
</pre>
<br />
<br />
バイナリからwavの波形を配列として取り出す<br />
<pre class="prettyprint">
bit = 's*' if format.bitPerSample == 16 # int16_t<br />
bit = 'c*' if format.bitPerSample == 8 # signed char<br />
wavs = dataChunk.data.unpack(bit) # read binary<br />
</pre>
<br />
<br />
音量を半分にしてみる<br />
<pre class="prettyprint">
wavs = wavs.map{|w| w/2}<br />
</pre>
<br />
<br />
逆再生にして、バイナリに戻す<br />
<pre class="prettyprint">
dataChunk.data = wavs.reverse.pack(bit) # reverse<br />
</pre>
<br />
<br />
wavファイルに保存する<br />
<pre class="prettyprint">
open("output.wav", "w"){|out|<br />
  WavFile::write(out, format, [dataChunk])<br />
}<br />
</pre>
<br />
<br />
samplesディレクトリの中に色々と例を入れておいた。<a href="https://github.com/shokai/ruby-wav-file">github</a>からも見れる。<br />
<ul>
  <li>音量が小さいのを大きくする</li>
  <li>左右チャンネルを分けて保存する</li>
  <li>wavファイル同士を連結する</li>
  <li>wavファイル同士を重ねて同時に鳴らす</li>
  <li>再生速度を上げる</li>
  <li>波形をグラフにする</li>
</ul>
とかまあ色々入れておいた。<br />
<br />
<br />
■tips<br />
使う前にwavファイルのフォーマットについて理解しておいた方が良いかもしれない。<br />
<a href="http://www.kk.iij4u.or.jp/~kondo/wave/">wav ファイルフォーマット</a>が参考になる。<br />
<br />
<br />
あと、複数のwavファイルを合成して新しいファイルを作る場合、操作する前にffmpegでformatを揃えた方が良い。その方が楽だし高速。<br />
<a href="https://github.com/shokai/ruby-wav-file/blob/master/samples/adjust_wav_format.rb">adjust_wav_format.rb</a>にやり方を書いておいた。<br />
<br />
サンプルを実行するのに必要なwavも、ffmpegでmp3とかから変換して作れる。<br />
<pre>
ffmpeg -i input.mp3 -ac 2 -ar 44100 output.wav<br />
</pre>
<br />
</p>
]]></content:encoded>
			<wfw:commentRss>http://shokai.org/blog/archives/5408/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>wavファイルの音量を調整する</title>
		<link>http://shokai.org/blog/archives/5053</link>
		<comments>http://shokai.org/blog/archives/5053#comments</comments>
		<pubDate>Sat, 06 Feb 2010 06:28:55 +0000</pubDate>
		<dc:creator>shokai</dc:creator>
				<category><![CDATA[未分類]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[sound]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[wav]]></category>
		<category><![CDATA[WavFile.rb]]></category>

		<guid isPermaLink="false">http://shokai.org/blog/?p=5053</guid>
		<description><![CDATA[音量の小さいwavファイルのボリュームを上げる。上げすぎて音割れしないようにする。 前に作ったWavFile.rbを使ったら簡単にできた 橋本商会 Rubyでwavファイルをいじる WavFile.rbを作った 16ビッ [...]]]></description>
			<content:encoded><![CDATA[<p>
音量の小さいwavファイルのボリュームを上げる。上げすぎて音割れしないようにする。<br />
<br />
前に作った<a href="http://shokai.org/projects/ruby-wavfile/index.cgi/file/a324224bc098/WavFile.rb">WavFile.rb</a>を使ったら簡単にできた<br />
<ul><li><a href="http://shokai.org/blog/archives/4886">橋本商会  Rubyでwavファイルをいじる WavFile.rbを作った</a></li></ul>
<br />
16ビットwavは+-32768、8ビットwavは+-128の範囲の配列で波形が表現されている。<br />
ソースのwavの波形を配列に取り出して、その中で最大の値を取りだし、全体を何倍すれば+-32768の間になるかの倍率を計算して全部かけ算すれば音量を調整できる。<br />
<br />
<a href="http://shokai.org/projects/ruby-wavfile/index.cgi/file/a324224bc098/maximizeVolume.rb">maximizeVolume.rb</a><br />
<pre class="prettyprint">
#!/usr/bin/env&nbsp;ruby<br />
#&nbsp;-*-&nbsp;coding:&nbsp;utf-8&nbsp;-*-<br />
#&nbsp;wavの音量を最大に調節する<br />
require&nbsp;File.dirname(__FILE__)&nbsp;+&nbsp;'/WavFile'<br />
<br />
if&nbsp;ARGV.size&nbsp;&lt;&nbsp;2<br />
&nbsp;&nbsp;puts&nbsp;'ruby&nbsp;maximizeVolume.rb&nbsp;input.wav&nbsp;output.wav'<br />
&nbsp;&nbsp;exit&nbsp;1<br />
end<br />
<br />
in_file&nbsp;=&nbsp;ARGV.shift<br />
out_file&nbsp;=&nbsp;ARGV.shift<br />
<br />
format,&nbsp;data&nbsp;=&nbsp;WavFile::read&nbsp;open(in_file)<br />
<br />
puts&nbsp;format.to_s<br />
<br />
bit&nbsp;=&nbsp;'s*'&nbsp;if&nbsp;format.bitPerSample&nbsp;==&nbsp;16&nbsp;#&nbsp;int16_t<br />
bit&nbsp;=&nbsp;'c*'&nbsp;if&nbsp;format.bitPerSample&nbsp;==&nbsp;8&nbsp;#&nbsp;signed&nbsp;char<br />
wavs&nbsp;=&nbsp;data.data.unpack(bit)<br />
<br />
puts&nbsp;"このwav中の最大音量:&nbsp;#{wavs.max}"<br />
<br />
volume_ratio&nbsp;=&nbsp;32768/wavs.max.to_f&nbsp;if&nbsp;format.bitPerSample&nbsp;==&nbsp;16<br />
volume_ratio&nbsp;=&nbsp;128/wavs.max.to_f&nbsp;if&nbsp;format.bitPerSample&nbsp;==&nbsp;8<br />
puts&nbsp;"補正倍率:&nbsp;#{volume_ratio}"<br />
<br />
wavs_fixed&nbsp;=&nbsp;wavs.map{|w|<br />
&nbsp;&nbsp;(w*volume_ratio).to_i<br />
}<br />
puts&nbsp;"補正されたwav中の最大音量:&nbsp;#{wavs_fixed.max}"<br />
<br />
data.data&nbsp;=&nbsp;wavs_fixed.pack(bit)<br />
<br />
open(out_file,&nbsp;"w"){|out|<br />
&nbsp;&nbsp;WavFile::write(out,&nbsp;format,&nbsp;[data])<br />
}<br />
</pre>
<br />
<br />
使う<br />
<pre>
ruby maximizeVolume.rb input.wav out.wav<br />
</pre>
<br />
約24倍されてout.wavに保存された<br />
<pre>
フォーマットID: 1<br />
チャンネル数: 1<br />
サンプリングレート: 44100 (Hz)<br />
byte per sec: 88200<br />
bit per sample: 16 <br />
ブロックサイズ: 2<br />
このwav中の最大音量: 1335<br />
補正倍率: 24.5453183520599<br />
補正されたwav中の最大音量: 32768<br />
</pre>
</p>
]]></content:encoded>
			<wfw:commentRss>http://shokai.org/blog/archives/5053/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rubyでwavファイルをいじる WavFile.rbを作った</title>
		<link>http://shokai.org/blog/archives/4886</link>
		<comments>http://shokai.org/blog/archives/4886#comments</comments>
		<pubDate>Sun, 13 Dec 2009 19:35:03 +0000</pubDate>
		<dc:creator>shokai</dc:creator>
				<category><![CDATA[未分類]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[sound]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[wav]]></category>
		<category><![CDATA[WavFile.rb]]></category>

		<guid isPermaLink="false">http://shokai.org/blog/?p=4886</guid>
		<description><![CDATA[gemにしました → 橋本商会 wavファイルをRubyで編集する ***** Rubyでwavファイルを操作するためにWavFile.rbを作った。スピーカから音を鳴らすのではなくて、wavファイルそのものをいじって合 [...]]]></description>
			<content:encoded><![CDATA[<p>
gemにしました → <a href="http://shokai.org/blog/archives/5408">橋本商会  wavファイルをRubyで編集する</a><br />
<br />
*****<br />
<br />
Rubyでwavファイルを操作するために<a href="http://shokai.org/projects/ruby-wavfile/index.cgi/file/32232e283588/WavFile.rb">WavFile.rb</a>を作った。スピーカから音を鳴らすのではなくて、wavファイルそのものをいじって合成したりつなげたり、逆再生や左右反転させたりした後ファイルに書き出す為に作った。<br />
<br />
packやunpackを使ってRubyでバイナリを読み書きする部分でかなり苦戦したけど、<a href="http://moonrock.jp/~don/d/200202.html#d07_t1">WAVファイル &#8211; MoonRock@MoonRock/A mere diary (2002-2)</a>（7年も前に同じような事やってる！）がすごく参考になった。attr_accessorとかも知らなかったから勉強になった。<br />
<br />
<br />
<a href="http://shokai.org/projects/ruby-wavfile/">http://shokai.org/projects/ruby-wavfile/</a>にサンプルを色々置いておく。<br />
<br />
<br />
例えば、逆再生のwavファイルを作るコードはこう書ける<br />
<a href="http://shokai.org/projects/ruby-wavfile/index.cgi/file/32232e283588/reverseWav.rb">reverseWav.rb</a><br />
<pre class="prettyprint">
#!/usr/bin/env&nbsp;ruby<br />
#&nbsp;-*-&nbsp;coding:&nbsp;utf-8&nbsp;-*-<br />
#&nbsp;wavファイルを逆再生にして保存する<br />
#&nbsp;ステレオの場合、左右チャンネルが入れ替わってしまうがまあいい<br />
require&nbsp;File.dirname(__FILE__)&nbsp;+&nbsp;'/WavFile'<br />
<br />
if&nbsp;ARGV.size&nbsp;&lt;&nbsp;2<br />
&nbsp;&nbsp;puts&nbsp;'ruby&nbsp;reverseWav.rb&nbsp;input.rb&nbsp;output.wav'<br />
&nbsp;&nbsp;exit&nbsp;1<br />
end<br />
<br />
f&nbsp;=&nbsp;open(ARGV.shift)<br />
format,&nbsp;chunks&nbsp;=&nbsp;WavFile::readAll(f)<br />
f.close<br />
<br />
puts&nbsp;format.to_s<br />
<br />
dataChunk&nbsp;=&nbsp;nil<br />
chunks.each{|c|<br />
&nbsp;&nbsp;puts&nbsp;"#{c.name}&nbsp;#{c.size}"<br />
&nbsp;&nbsp;dataChunk&nbsp;=&nbsp;c&nbsp;if&nbsp;c.name&nbsp;==&nbsp;'data'&nbsp;#&nbsp;波形の入っているchunkを探す<br />
}<br />
if&nbsp;dataChunk&nbsp;==&nbsp;nil<br />
&nbsp;&nbsp;puts&nbsp;'no&nbsp;data&nbsp;chunk'<br />
&nbsp;&nbsp;exit&nbsp;1<br />
end<br />
<br />
#&nbsp;波形をいじる<br />
bit&nbsp;=&nbsp;'s*'&nbsp;if&nbsp;format.bitPerSample&nbsp;==&nbsp;16&nbsp;#&nbsp;int16_t<br />
bit&nbsp;=&nbsp;'c*'&nbsp;if&nbsp;format.bitPerSample&nbsp;==&nbsp;8&nbsp;#&nbsp;signed&nbsp;char<br />
wavs&nbsp;=&nbsp;dataChunk.data.unpack(bit)&nbsp;#&nbsp;16bit&nbsp;or&nbsp;8bitずつbinaryから読み出し<br />
dataChunk.data&nbsp;=&nbsp;wavs.reverse.pack(bit)&nbsp;#&nbsp;逆再生、binaryに戻す<br />
<br />
open(ARGV.shift,&nbsp;"w"){|out|<br />
&nbsp;&nbsp;WavFile::write(out,&nbsp;format,&nbsp;[dataChunk])<br />
}<br />
</pre>
波形部分をRubyの配列として取り出して処理する。ファイルに戻す部分はWavFile.rbがやってくれるようにした。<br />
<br />
実行<br />
<pre class="prettyprint">
ruby reverseWav.rb test.wav reverse.wav<br />
</pre>
結果<br />
<pre class="prettyprint">
フォーマットID: 1<br />
チャンネル数: 1<br />
サンプリングレート: 8000 (Hz)<br />
byte per sec: 16000<br />
bit per sample: 16 <br />
ブロックサイズ: 2<br />
data 4077172<br />
</pre>
<br />
<br />
<br />
主にできる事と、処理の手順はこんな感じ<br />
<ol>
  <li>wavファイルのファイルヘッダ、フォーマットチャンク、データチャンクをメモリに読み込む。WavFile.rbではファイルヘッダとフォーマットチャンクをまとめて管理するためにWavFile::Formatクラスを作ってある。</li>
  <li>データチャンクを波形として扱う処理は時前でやってください。ステレオ・モノラルやbpsなどのフォーマットが全て読み込まれているのでそんなに大変ではないはず。format.bitPerSampleやunpackを使う。ただしCPUのエンディアンが違うとおかしくなるかも。</li>
  <li>最後にいじったデータチャンクをpackでバイト列に戻して、ファイルヘッダと合わせてwavファイルに戻す。</li>
</ol>
<br />
<br />
上の例ではWavFile::readAllを使ってフォーマットと全チャンクを読み込んでいるけど、wavファイルにはデータチャンク(波形)以外のチャンクもある。でもデータチャンクとフォーマットさえあれば後は必要ない場合が多いので、フォーマットとデータチャンクのみを取り出す関数も用意してある。<br />
<pre class="prettyprint">
require&nbsp;'WavFile'<br />
File.open("test.wav"){|file|<br />
&nbsp;&nbsp;format&nbsp;=&nbsp;WavFile::readFormat(file)<br />
&nbsp;&nbsp;dataChunk&nbsp;=&nbsp;WavFile::readDataChunk(file)<br />
}<br />
</pre>
<br />
タプルを使ってこう受け取る事もできる<br />
<pre class="prettyprint">
format,&nbsp;dataChunk&nbsp;=&nbsp;WavFile::read(file)<br />
</pre>
<br />
wavファイルへ保存<br />
<pre class="prettyprint">
open("out.wav"){|out|<br />
&nbsp;&nbsp;WavFile.write(out,&nbsp;format,&nbsp;[dataChunk])<br />
}<br />
</pre>
<br />
<br />
他にも色々やった。下にいくほど新しい。<br />
上の方はWavFile.rbのバージョンが古い頃の物なので読み書きまわりが少し違うかもしれないが、解説が書いてあるので列挙しておく。最新のWavFile.rbで動くコードは<a href="http://shokai.org/projects/ruby-wavfile/">リポジトリ</a>に置いておく<br />
<ul>
  <li><a href="http://d.hatena.ne.jp/shokai/20091028/1256680676">wavファイルのヘッダを読み込む</a></li>
  <li><a href="http://d.hatena.ne.jp/shokai/20091028/1256688280">wavファイルのフォーマットを読み込む</a></li>
  <li><a href="http://d.hatena.ne.jp/shokai/20091101/1257089375">wavファイルのフォーマットを書き換えて倍速再生にする</a></li>
  <li><a href="http://d.hatena.ne.jp/shokai/20091101/1257091825">wavファイルを複数つなげる</a></li>
  <li><a href="http://d.hatena.ne.jp/shokai/20091102/1257189122">逆再生するwavを作る</a></li>
  <li><a href="http://d.hatena.ne.jp/shokai/20091103/1257218694">wavファイルを左チャンネルのみ、右チャンネルのみにする</a></li>
  <li><a href="http://d.hatena.ne.jp/shokai/20091107/1257553823">wavファイルの波形を見てみる</a></li>
  <li><a href="http://d.hatena.ne.jp/shokai/20091107/1257576939">wavファイル同士を重ねて合成する</a></li>
  <li><a href="http://d.hatena.ne.jp/shokai/20091109/1257764063">wavファイルのdata chunkを取り出す</a></li>
</ul>
<br />
<br />
wavファイルの扱いについては、C言語で書かれたこの本を参考にした。この本ではファイルを先頭からseekして逐次処理して結果をwavファイルとして書き込んでいる。<br />
でもwavファイルなんて数百MB程度だから、WavFile.rbではメモリ上で処理した方が後々便利そうだから今回は富豪的に全部メモリに読み込むようにした。<br />
<div class="amazlet-box" style="margin-bottom:0px;"><div class="amazlet-image" style="float:left;"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4877832076/shokai-22/ref=nosim/" name="amazletlink" target="_blank"><img src="http://ecx.images-amazon.com/images/I/41q7gMgoHVL._SL160_.jpg" alt="WAVプログラミング—C言語で学ぶ音響処理" style="border: none;" /></a></div><div class="amazlet-info" style="float:left;margin-left:15px;line-height:120%"><div class="amazlet-name" style="margin-bottom:10px;line-height:120%"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4877832076/shokai-22/ref=nosim/" name="amazletlink" target="_blank">WAVプログラミング—C言語で学ぶ音響処理</a><div class="amazlet-powered-date" style="font-size:7pt;margin-top:5px;font-family:verdana;line-height:120%">posted with <a href="http://www.amazlet.com/browse/ASIN/4877832076/shokai-22/ref=nosim/" title="WAVプログラミング—C言語で学ぶ音響処理" target="_blank">amazlet</a> at 09.12.11</div></div><div class="amazlet-detail">北山 洋幸 <br />カットシステム <br />売り上げランキング: 160207<br /></div><div class="amazlet-review" style="margin-top:10px; margin-bottom:10px"><div class="amazlet-review-average" style="margin-bottom:5px">おすすめ度の平均: <img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-3-0.gif" alt="3.0" /></div><img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-2-0.gif" alt="2" /> C言語初心者向けでわかりやすいが本格的な音響処理はいまいち<br /><img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-3-0.gif" alt="3" /> 分かりやすいが…<br /><img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-4-0.gif" alt="4" /> あまり見かけないジャンルの本ですね<br /></div><div class="amazlet-link" style="margin-top: 5px"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4877832076/shokai-22/ref=nosim/" name="amazletlink" target="_blank">Amazon.co.jp で詳細を見る</a></div></div><div class="amazlet-footer" style="clear: left"></div></div>
<br />
<br />
<br />
作ってる時に大変だったのは音を出さないとデバッグできないので電車の中で作業するためにイヤホンは必須。<br />
バイナリとRubyのオブジェクトとのやりとりの部分は音で聞いてもなんだかわからない時もあるので、<a href="http://d.hatena.ne.jp/shokai/20091107/1257553823">putsで波形を数字としてdumpしてエクセルで描画する</a>と原因がすぐわかる。<br />
<br />
</p>
]]></content:encoded>
			<wfw:commentRss>http://shokai.org/blog/archives/4886/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>ML115 + Ubuntu9.10 64bit環境で音を出す</title>
		<link>http://shokai.org/blog/archives/4832</link>
		<comments>http://shokai.org/blog/archives/4832#comments</comments>
		<pubDate>Sat, 17 Oct 2009 14:30:09 +0000</pubDate>
		<dc:creator>shokai</dc:creator>
				<category><![CDATA[未分類]]></category>
		<category><![CDATA[64bit]]></category>
		<category><![CDATA[ML115]]></category>
		<category><![CDATA[sound]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://shokai.org/blog/?p=4832</guid>
		<description><![CDATA[元サーバーマシンを、開発用のデスクトップマシンにした。 Windowsをインストールするとすんなりいくらしいんだけど、64bit版Ubuntuで音を出そうとすると大変だった。 PCIスロットが3.3V用で、5V用のサウン [...]]]></description>
			<content:encoded><![CDATA[<p>
元サーバーマシンを、開発用のデスクトップマシンにした。<br />
Windowsをインストールするとすんなりいくらしいんだけど、64bit版Ubuntuで音を出そうとすると大変だった。<br />
PCIスロットが3.3V用で、5V用のサウンドカードだと切り欠きが合わなくて刺さらない。そして刺さっても64bitでのまともなサウンドドライバが無くて音がホワイトノイズだらけになる。<br />
<br />
このUSBスピーカーを刺して他のサウンドデバイスを刺さないようにすれば音が出る。音質はたぶんそんなに良くないけど。<br />
<br />
<div class="amazlet-box" style="margin-bottom:0px;"><div class="amazlet-image" style="float:left;"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/B0002KV3UY/shokai-22/ref=nosim/" name="amazletlink" target="_blank"><img src="http://ecx.images-amazon.com/images/I/316REACW1FL._SL160_.jpg" alt="SANWA SUPPLY MM-SPU2WH USBスピーカー ホワイト" style="border: none;" /></a></div><div class="amazlet-info" style="float:left;margin-left:15px;line-height:120%"><div class="amazlet-name" style="margin-bottom:10px;line-height:120%"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/B0002KV3UY/shokai-22/ref=nosim/" name="amazletlink" target="_blank">SANWA SUPPLY MM-SPU2WH USBスピーカー ホワイト</a><div class="amazlet-powered-date" style="font-size:7pt;margin-top:5px;font-family:verdana;line-height:120%">posted with <a href="http://www.amazlet.com/browse/ASIN/B0002KV3UY/shokai-22/ref=nosim/" title="SANWA SUPPLY MM-SPU2WH USBスピーカー ホワイト" target="_blank">amazlet</a> at 09.10.17</div></div><div class="amazlet-detail">サンワサプライ <br />売り上げランキング: 798<br /></div><div class="amazlet-review" style="margin-top:10px; margin-bottom:10px"><div class="amazlet-review-average" style="margin-bottom:5px">おすすめ度の平均: <img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-4-0.gif" alt="4.0" /></div><img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-3-0.gif" alt="3" /> ちょっと不便。<br /><img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-4-0.gif" alt="4" /> 安いし簡単<br /><img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-4-0.gif" alt="4" /> 値段以上の価値はあります<br /><img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-3-0.gif" alt="3" /> 音は及第点（値段の割には）<br /><img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-5-0.gif" alt="5" /> 価格以上の音質<br /></div><div class="amazlet-link" style="margin-top: 5px"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/B0002KV3UY/shokai-22/ref=nosim/" name="amazletlink" target="_blank">Amazon.co.jp で詳細を見る</a></div></div><div class="amazlet-footer" style="clear: left"></div></div>
<br />
<br />
他にも、Creative Sound Blaster 5.1 VXを使うと音が全部ホワイトノイズになってしまうが、<br />
<pre>
alsamixer -Dpulse<br />
alsamixer -Dhw<br />
</pre>
で音量をギリギリまで絞ると一応聞こえなくもなかった。<br />
参考：<a href="https://lists.ubuntu.com/archives/ubuntu-jp/2009-April/001748.html">[ubuntu-jp:1749] Jaunty において Creative Sound Blaster 5.1 VX 上で再生する音声が全てホワイトノイズに</a><br />
<br />
<br />
あとはAppleのMac用の小さいキーボードと、Microsoftの光学式マウスの安い奴を使ってる。<br />
<br />
<br />
<br />
</p>
]]></content:encoded>
			<wfw:commentRss>http://shokai.org/blog/archives/4832/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PCなしで、moxaで音を出す</title>
		<link>http://shokai.org/blog/archives/2237</link>
		<comments>http://shokai.org/blog/archives/2237#comments</comments>
		<pubDate>Wed, 05 Nov 2008 03:16:32 +0000</pubDate>
		<dc:creator>shokai</dc:creator>
				<category><![CDATA[未分類]]></category>
		<category><![CDATA[gemsbok]]></category>
		<category><![CDATA[moxa]]></category>
		<category><![CDATA[sound]]></category>
		<category><![CDATA[Talktic]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[xtel]]></category>

		<guid isPermaLink="false">http://shokai.org/blog/?p=2237</guid>
		<description><![CDATA[xtel technical information ＞ learning＞ Sound Writeより moxaとスピーカを直結させて、soundWrite(ピン番号, 周波数)関数を使うと音が出せる センサと組み合わ [...]]]></description>
			<content:encoded><![CDATA[<p>
<a href="http://uc.sfc.keio.ac.jp/xtel/learning/sound-write.html">xtel technical information ＞ learning＞ Sound Write</a>より<br />
<br />
moxaとスピーカを直結させて、soundWrite(ピン番号, 周波数)関数を使うと音が出せる <br />
<br />
<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/Nt6rr4BsNXY&#038;color1=0xb1b1b1&#038;color2=0xcfcfcf&#038;hl=ja&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><embed src="http://www.youtube.com/v/Nt6rr4BsNXY&#038;color1=0xb1b1b1&#038;color2=0xcfcfcf&#038;hl=ja&#038;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"></embed></object><br />
<br />
<br />
<br />
センサと組み合わせるとインタラクティブに音階を変えられる。CdSという明度センサを使っている<br />
<a href="http://uc.sfc.keio.ac.jp/xtel/learning/sound-write.html"><img src="http://uc.sfc.keio.ac.jp/xtel/learning/tt/sound-write.gif" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://shokai.org/blog/archives/2237/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

