サウンドプログラミング入門


■ サウンドプログラミング入門 - 音響合成の基本とC言語による実装 -

青木 直史 著
A5判 288ページ
定価3,129円(税込)
ISBN-10: 4774155225
ISBN-13: 978-4774155227
技術評論社
2013年3月10日初版第1刷発行
2017年9月16日初版第2刷発行
2020年11月17日初版第3刷発行

■ リンク

技術評論社
Amazon
サウンド処理のプログラミング

■ 目次

はじめに

本書の構成

第1章 サウンドプログラミングの基礎知識
 1.1 サンプリング
 1.2 標本化
 1.3 量子化
 1.4 メディアの規格
 1.5 WAVEファイル
 1.6 C言語によるサウンドプログラミング
 コラム1 サウンドレコーダー

第2章 サイン波を鳴らしてみよう
 2.1 サイン波
 2.2 波形と周波数特性
 2.3 12平均律音階
 コラム2 フェード処理

第3章 サイン波を重ね合わせてみよう
 3.1 サイン波の重ね合わせ
 3.2 ノコギリ波
 3.3 矩形波
 3.4 三角波
 3.5 位相
 3.6 白色雑音
 コラム3 音の三要素

第4章 周波数特性を分析してみよう
 4.1 周波数分析
 4.2 フーリエ変換
 4.3 窓関数
 4.4 楽器音の周波数分析
 4.5 スペクトログラム
 4.6 高速フーリエ変換
 コラム4 バーチャルピッチ

第5章 加算合成 〜 足し算で音を作ってみよう
 5.1 加算合成
 5.2 サイン波の重ね合わせ
 5.3 時間エンベロープ
 5.4 オルガン
 5.5 ピアノ
 コラム5 分析合成

第6章 周波数特性を加工してみよう
 6.1 フィルタ
 6.2 FIRフィルタ
 6.3 IIRフィルタ
 6.4 DFTフィルタ
 コラム6 インパルス応答

第7章 減算合成 〜 引き算で音を作ってみよう
 7.1 減算合成
 7.2 原音のフィルタリング
 7.3 周波数エンベロープ
 7.4 音声合成
 7.5 ボコーダ
 コラム7 パルス列

第8章 PSG音源 〜 電子音を鳴らしてみよう
 8.1 PSG音源
 8.2 時間エンベロープ
 8.3 ゲームミュージック
 8.4 効果音
 8.5 オーバーサンプリング
 コラム8 MMLとMIDI

第9章 アナログシンセサイザ 〜 楽器音を鳴らしてみよう
 9.1 アナログシンセサイザ
 9.2 LFO
 9.3 トレモロ
 9.4 ビブラート
 9.5 ワウ
 9.6 ADSR
 9.7 オルガン
 9.8 バイオリン
 9.9 ピアノ
 9.10 ドラム
 9.11 アナログ信号とディジタル信号
 コラム9 デチューン

第10章 FM音源 〜 金属音を鳴らしてみよう
 10.1 FM音源
 10.2 変調指数
 10.3 周波数比
 10.4 時間エンベロープ
 10.5 チューブラーベル
 10.6 エレクトリックピアノ
 10.7 ディジタルシンセサイザ
 コラム10 モジュレーション

第11章 PCM音源 〜 サンプリングした音を鳴らしてみよう
 11.1 PCM音源
 11.2 タイムストレッチ
 11.3 ピッチシフト
 11.4 Log-PCM
 11.5 DPCM
 11.6 ADPCM
 コラム11 ループシーケンサ

第12章 リアルタイム処理のサウンドプログラミング
 12.1 サウンドデバイスとサウンドドライバ
 12.2 録音処理
 12.3 再生処理
 12.4 ループバック再生
 12.5 ボイスチェンジャ
 コラム12 Pure DataとSuperCollider

■ Errata(第1版) (2017年9月16日現在)

◆ p.62
 図4.4のキャプションのふたつ目の「(b)」は,正しくは「(c)」です.
◆ p.81
 図4.17のキャプションは,正しくは「基本音を含む音:(a) 波形、(b) 周波数特性」です.
◆ p.82
 図4.18のキャプションは,正しくは「基本音を含まない音:(a) 波形、(b) 周波数特性」です.
◆ p.124
 図6.13のキャプションは,正しくは「共振フィルタとノッチフィルタの周波数特性:(a) 共振フィルタ (fc=2kHz)、(b) ノッチフィルタ (fc=2kHz)」です.
◆ p.131
 2行目の「L * 2」は,正しくは「N」です.
◆ p.135
 図6.18のキャプションのふたつ目の「(b)」は,正しくは「(c)」です.
◆ p.152
 6行目の「第2章」は,正しくは「第3章」です.
◆ p.153
 図7.13のキャプションは,正しくは「パルス列の波形と周波数特性」です.
◆ p.199
 7行目の「ex9_10」は,正しくは「ex9_10.c」です.
◆ p.208
 図10.5のキャプションのふたつ目の「(b)」は,正しくは「(c)」です.
◆ p.243
 式(11.12)の条件式の「|(c(n)|」は,正しくは「|c(n)|」です.
◆ p.252
 図11.22のキャプションのふたつ目の「(b)」は,正しくは「(c)」です.
◆ p.276
 5行目の「11」は,正しくは「12」です.

■ プログラム

chapter01.zip
chapter02.zip
chapter03.zip
chapter04.zip
chapter05.zip
chapter06.zip
chapter07.zip
chapter08.zip
chapter09.zip
chapter10.zip
chapter11.zip
chapter12.zip

■ Tips

◆ Borland C++ Compiler 5.5の環境設定
●Windows XPの場合
(1)「コントロールパネル」を開く.
(2)「システム」を開く.
(3)「詳細設定」をクリック.
(4)「環境変数」をクリック.
(5)「ユーザー環境変数」のなかで,「変数」が「PATH」になっているものがあればそれを選択し,「編集」をクリック.「c:\Borland\Bcc55\bin;」を追加する.「ユーザー環境変数」のなかで,「変数」が「PATH」になっているものがなければ「新規」をクリック.「変数名」を「PATH」,「変数値」を「c:\Borland\Bcc55\bin;」にする.
(6)メモ帳につぎのように記述し,「C:\borland\bcc55\Bin」に「bcc32.cfg」というファイル名で保存する.
-I"c:\Borland\Bcc55\include"
-L"c:\Borland\Bcc55\lib"
(7)メモ帳につぎのように記述し,「C:\borland\bcc55\Bin」に「ilink32.cfg」というファイル名で保存する.
-L"c:\Borland\Bcc55\lib"
● Windows 7の場合
(1)「コントロールパネル」を開く.
(2)「システムとセキュリティ」を開く.
(3)「システム」を開く.
(4)「システムの詳細設定」をクリック.
(5)「環境変数」をクリック。
(6)「ユーザー環境変数」のなかで,「変数」が「PATH」になっているものがあればそれを選択し,「編集」をクリック.「c:\Borland\Bcc55\bin;」を追加する.「ユーザー環境変数」のなかで,「変数」が「PATH」になっているものがなければ「新規」をクリック.「変数名」を「PATH」,「変数値」を「c:\Borland\Bcc55\bin;」にする.
(7)メモ帳につぎのように記述し,「C:\borland\bcc55\Bin」に「bcc32.cfg」というファイル名で保存する.
-I"c:\Borland\Bcc55\include"
-L"c:\Borland\Bcc55\lib"
(8)メモ帳につぎのように記述し,「C:\borland\bcc55\Bin」に「ilink32.cfg」というファイル名で保存する.
-L"c:\Borland\Bcc55\lib"

Last Modified: September 16 12:00 JST 2017 by Naofumi Aoki
http://floor13.sakura.ne.jp/