Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
17
Help us understand the problem. What is going on with this article?
@mzmttks

Jupyter で音声データを埋め込む

More than 1 year has passed since last update.

(2016/12/21 追記)
IPython の標準モジュールにこれをやる関数があったので大幅編集。参考 URL

問題

Jupyter では、 %matplotlib inline を書いたりすれば画像を埋め込むことができる。
しかし、音声ファイルを埋め込んで再生できるようにすることはできなかった。

これを解決するために、以前、以下の記事で Jupyter で音声ファイルを埋め込む記事を書いた。
http://qiita.com/mzmttks/items/f4493efaa8b8c0a58a82
しかし、複数のファイルを読み込めなかったり、音のデータを直接渡すことができない問題が残っていた。

本記事はこの問題を解決する IPython の標準モジュールとその使い方をを示す。
* 1つ、または複数音声ファイルを同時に埋め込むことができる。
* 音声データ (ファイルではない) を埋め込むことができる。
* Python 2 & 3 の両方に対応する。

解決方法

  • IPython.display.Audio を使うと、パスを指定すればそれを読み、データを指定すればそれを埋め込んでくれる。
  • 複数音声を一緒に埋め込みたいときは IPython.display.display でwrap すればよい。

コード

  • ファイル "sample.wav" を埋め込むとき
import IPython.display
IPython.display.Audio("sample.wav")
  • ファイル群 "sample1.wav" "sample2.wav" を埋め込むとき
import IPython.display
IPython.display.display(IPython.display.Audio("sample1.wav"))
IPython.display.display(IPython.display.Audio("sample2.wav"))
  • 音声データを埋め込むとき (1ch)
import numpy
import IPython.display

# 440Hz
duration = 3
sin_1ch = numpy.sin(440 * 2 * numpy.pi * numpy.linspace(0, duration, duration * 16000))
IPython.display.Audio(sin_1ch, rate=16000)
  • 音声データを埋め込むとき (2ch)
import numpy
import IPython.display

# 440Hz, 220Hz
duration = 3
sin_2ch = [numpy.sin(440 * 2 * numpy.pi * numpy.linspace(0, duration, duration * 16000)),
           numpy.sin(220 * 2 * numpy.pi * numpy.linspace(0, duration, duration * 16000))]
IPython.display.Audio(sin_2ch, rate=16000)
17
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
mzmttks
ハイラブル株式会社の代表取締役。博士(情報学) カエルの研究をしてました。会話の定量化や分析をしてます。
hylable
対面とオンラインの話し合いを可視化するクラウドサービスを開発・運営するスタートアップです。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
17
Help us understand the problem. What is going on with this article?