- 2021/10/30
- 2024/10/14
信号処理でヘリウムボイスに音声変換
ヘリウムガスを吸い込んだときの特徴的な声はヘリウムボイスと呼ばれています。本記事では、信号処理でヘリウムボイスを擬似的に実現してみました。前回の記事で紹介したケプストラム分析を用いてスペクトル包絡の加工をしています。
ヘリウムガスを吸い込んだときの特徴的な声はヘリウムボイスと呼ばれています。本記事では、信号処理でヘリウムボイスを擬似的に実現してみました。前回の記事で紹介したケプストラム分析を用いてスペクトル包絡の加工をしています。
ケプストラム分析を用いてスペクトル包絡推定を行いました。ケプストラム分析は1964年に Noll らにより提案された方法です。ちなみにケプストラム(cepstrum)という名称は、spectrumのアナグラム(specだけを逆から書くとcepstrum)となっています。
頭部伝達関数(HRTF: Head-Related Transfer Function)を使って8D立体音響をPythonで実装してみました。8D立体音響というのは正直言って私も厳密な定義はわかりませんが、ここで言っているのはYoutubeによくある頭の周りをクルクルまわる音源のことです。「左右のチャネルの音量を変えれば作れるのでは?」という声を聞きますが、それではできず、頭部伝達関数というものを使う必要があります。
ビームフォーミングで特定方向の音源を強調しました。今回は、一番基本的なビームフォーマである 遅延和ビームフォーマ(DSBF:Delay and Sum Beam Former)を Python で実装して、室内音響シミュレーションで作った音に作用させました。
ソースフィルタモデルによる古典的な方法で母音 ”ieaou” を音声合成しました。今回の記事は「サウンドエフェクトのプログラミング」という本を参考にしています。
カットオフ周波数を決めれば、単純な計算だけでIIRフィルタの係数を求める方法はないかと思っていたら、双一次変換と呼ばれる方法があったので紹介します。
Pythonを使って正弦波モデルを実装しました。ソースコードがネット上にあまりないため、頑張って自力で書きました。 今回は、M&Qアルゴリズムとよばれる方法で実装を行っています。
こないだは撥弦音の合成をしたので、次は打楽器音の合成をしました。前回と同様にKarplus-Strong方式で合成しました。
音の合成というものをいままでしたことがなかったので、信号モデルのKarplus-Strong方式で撥弦音を合成してみました。