20190102日記: 救急車の音 === ## 最初に まず、救急車の音を出すことは比較的簡単である。 [このページ](http://www1.bbiq.jp/toshitin/ambulance-siren.html) を参考にすると、 ``` ピー 960Hz 0.65秒 ポー 770Hz 0.65秒 1 周期 1.3 秒 ``` であり、矩形波を出すことで比較的簡単に実現することができる。 (本来は矩形波より正弦波であるべきかもしれないが) 正弦派をAVRで出すサンプルコードとして [こんなかんじ](https://gist.github.com/recuraki/d528a7818d10bfd5095aff26a964504b) に書くことができる。 ## モチベーション AVRで救急車の音を出すことには成功した。 しかし、実際これを作ってみると、ピーポー音はなるものの単調な感じとなり、面白くない。 救急車を実際の場で見ると、 [ドップラー効果](http://universe-of-sound.jp/page22.html) の影響で音が時系列的に高低することは有名である。 このため、これを実現する。 ## どのくらい振ればいいか? [ドップラー効果と救急車](https://www.onosokki.co.jp/HP-WK/nakaniwa/keisoku/doppler.htm) について述べられたこのページなどでは、時速60kmの場合、おおよそ+-5%の範囲で振ればいいことがわかる。 ところで、実際は救急車の進行方向に対して鉛直に立つことは少なく、 進行方向に対して何らかの直角に離れた距離に立っているため、 この変化量は三角関数的に変化することになるが、 一旦、進行直線状に立っているものとする。 ## とはいうものの 音というのはなかなか出さないとどのような音になるかの推察はできにくい。 このため、今回は、Mathmaticaでおおよその結果を聞いておき、その結果実装を行うことにしたい。