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 これより長い曲は、そこで再生を自動停止し次の曲へ行く