7mymlJA - essa/7m GitHub Wiki

概要

7mServer の設定ファイルは、~/Library/Application\ Support/7mServer/7m.yml にあります。

このファイルは、7mServerの最初の起動時に自動的に生成され、7mServerの config タブ、または、お好きなエディタで修正することができます。

このファイルは YAML フォーマットです。YAMLについては、下記などを参照してください。

要は、インデント(各行の最初の空白の数)に意味があるので、それに注意していれば大丈夫だと思います。

サンプル

これは、私(開発者)が毎日使用している設定ファイルです。ソースは、特定の目的に調整された iTunes のプレイリストです。

このファイルによって、毎日、1時間程度の Remixed Playlist (自分専用のラジオ番組的なもの)が生成され、7mradioで「Play!」ボタンをタップすれば、それが再生されます。

loglevel: DEBUG
logfile: /tmp/7m.log
sox_opt: -b 200000 -m -c 2
remixed playlists:
  - name: taku1
    m3u:
      minimum_tracks: 5
      minimum_duration: 60
    frames:
    - name: rate4
      source: rate4  # muscics rated 4 or 5 
      max_track: 3
      duration: 180-420
    - name: podcasts1
      source: new_podcasts # English podcasts sorted by date
      max_track: 2
      duration: 120-420
    - name: music
      source: favarite_music # musics radomly selected
      max_track: 3
      duration: 120-420
    - name: podcastsj
      source: podcastj # Japanese podcasts
      max_track: 2
      duration: 420-600
    - name: music
      source: favarite_music
      max_track: 3
      duration: 420-600
      max_duration_per_track: 300
    - name: podcasts
      source: esl  # English as second language podcast
      max_track: 1
      duration: 300-420
    - name: longtracks
      source: longtracks # tracks duration is longer than 30 minutes
      max_track: 2
      duration: 420-600
    - name: audiobooks
      source: audiobooks_selection
      max_track: 1
      duration: 120-420
    - name: music
      source: favarite_music
      max_track: 3
      duration: 420-600
      max_duration_per_track: 300
    - name: podcasts2
      source: new_podcasts
      max_track: 1
      duration: 300
      max_duration_per_track: 300
    - name: request
      source: 7m_queue # Request Queue of 7mServer
      max_track: 1
      duration: 420-600

なお、この中で、'favarite_music' は、非常に複雑なスマートプレイリストで、レートに応じて、頻度が変わるようにランダムに選択されます。つまり、レート5の曲がよくかかり、レート2の曲はたまにしかかからないようになっています。

Remixed Playlist の構造

一番重要な属性は 'remixed playlists' で、これは次のように階層化されています。

  • remixed playlist は frame(番組枠)の集合
  • frame は iTunes プレイリストに一対一で対応している
  • frame は as max_track, duration and max_duration_per_track 等の重要な属性があり、これによって、その番組枠への選曲方法が決まる

Root Attributes

名前 意味
loglevel DEBUG/INFO/WARN/ERROR/FATAL
logfile path ログファイルのパス
sox_opt string sox コマンドのオプション
remixed playlists array

Remixed Playlists Attributes

名前 意味
m3u hash m3u playlist を生成する時に使用する属性
name string
frames array

Frame Attributes

名前 意味
name string
source string この番組枠に使用される iTunes プレイリストの名前
max_track integer この曲数だけ選曲したら、そこで選曲が終わる
duration from-to この番組枠の時間の範囲
max_duration_per_track integer これより長い曲は、そこで再生を自動停止し次の曲へ行く