今まで生きてドラミングのスマートWebサービスの背後にある何技術だろうか?ここでは要点です –

アライブドラミングのスマートWebサービスはエリクサープログラミング言語で操作されています。Webサービスの供給アライブドラミングの完全に配置されたリズムトラックの複数から構築は非常に有能なドラマーの長い形式のオーディオを取ります。

単純に、このサービスを置きます

  1. Webリクエストを解析し、
  2. 要求されたトラックの配置構造を決定し、
  3. 結果に長い形式のオーディオのスライスをスプライスするために、オーディオ・エンジニアリング・スクリプトを作成し、そして最後に、
  4. サービスの出力として結果のオーディオを提供し、これらのスクリプトを実行します。

Webサービスとしての言語コンパイラ

トラックの詳細は、単純なLR1の言語であり、排出されたオーディオ・エンジニアリング・スクリプトがのぞき穴最適化フェーズで最適化されているとして、これの多くは、テキスト字句解析と古典的なコンパイラの設計です。ステップ3以上、「オーディオ・エンジニアリング・スクリプトの作成、異なるドラミング強度の長い形式のオーディオの位置に関するさらに関与の解析テキストメタデータ、塗りつぶし、前と後の塗り、太鼓ブレイクは、」カウントイン、プッシュそしてエンディング。これらの各々は、複数の「かかり」ており、アルゴリズムは、擬似ランダム選択に重み付けを適用します。最初は、テキストの操作で強力な言語がGAWKでプロトタイプ早期のアルゴリズムと考えられていたが、それは大規模なスケーラブルなWeb-サービスに適した明確な言語になりましたが必要でした。  

テクノロジ・スタック – フェニックス/エリクシール/アーラン/ Linuxの/ GCP

それはエリクサーとフェニックスに私をリードしています。エリクシールはアーラン/ OTPの仮想マシンにコンパイルテキスト処理施設に強い、純粋関数型言語です。フェニックスはエリクサーで書かれたWebサーバのフレームワークです。そのような教師のタスクとインサービスモジュールの更新などの通信プラットフォームに期待される超保守性や信頼性のために設計された – エリキシル/アーランオープン通信プラットフォーム(OTP)のすべての利点を備えています。我々はGoogleの計算のVMとGoogleクラウドストレージの拡張性の高いクラスタを使用してGoogleクラウドプラットフォーム(GCP)上のLinuxサーバ上でこれを主催しました。

ダイナミックプログラミング – パフォーマンス向上

プログラミングソリューションを活用し、動的プログラミング多くの場所では。問題は、(再帰的に)多くの副問題に分解し、ここで、サブ問題は以前のものと同一であること起こり得るある動的計画です。サブ問題が重複している場合は、もう一度それを解決する必要はありません、ちょうど前の結果を使用します。結果のキャッシュは、アルゴリズムは常にサブ問題を解決する前に、最初にキャッシュをチェックすることができます。この手法は、ソリューション内の多くのレベルで使用されました。エリクサーのデータ構造をキャッシュとして使用される単純なエリクサーマップと非常に収容証明しました。性能測定は、展開キャッシュと、CPU使用率と完了時間の平均60%の改善を示しました。

キャッシュを展開一部の地域では、

  1. 最高レベルでは、結果のオーディオファイル自体がキャッシュされ、
  2. その種類や長さの要件によってパラメータ化オーディオスライスの作成、
  3. 加重選択肢のグループからのオーディオのインスタンスの擬似ランダム選択 – ここに渡された選択は、同様のアルゴリズムへの入力として使用されています

デザイン警告 – Googleドライブ

初期の設計では、Webサーバの応答がキャッシュされたファイルにリダイレクトされた状態でGoogleドライブ上にキャッシュされたオーディオトラックを持っていました。それは非常に、成熟したスケーラブルでコスト効率のGoogleドライブを活用しているため、このソリューションは、魅力ました。しかし、それはすぐに負荷の非常に少量の下で知事を適用するGoogleドライブで問題と証明しました。これは、Googleドライブはこのタイプのサービスに適していなかったが判明しました。すべてのドライブの要求は、Webサービスから来た場合は、スロットリングは、サービスを制限されている適用されました。さらに、確実に認証要求をもたらさない方法で、クライアントにGoogleドライブのURLを供給することは困難でした。Googleの保存容量は、最終的にはGoogleドライブの代わりに使用しました。

概要 – 偉大なテクノロジ・スタック

エリクサーは、このプロジェクトのための完璧なフィット感とで動作するように本当の喜びの両方を証明した。言語の周りのツールが成熟しており、目的に合うよう、OTPプラットフォームは、信頼性と保守性のための最善のソリューションであり、制限純粋関数型言語のがに証明しました制限よりも利益の多くをすること。以下は、実際のプログラミング言語の設計とそれ以上であってもよいです。Googleのクラウドプラットフォームは、そんなに簡単に物理的なハードウェアを扱うよりも、インフラストラクチャの試運転、モニタリングおよびメンテナンスを行います。GCPツールセットは成熟しており、施設が広範囲です。我々は完全にミッションクリティカルな、複雑なWebサービスを開発し、展開するためのフェニックス/エリクサー/ GCPテクノロジー・スタックをお勧めします。


ソングのリズムトラック

ソングのリズムトラック
ソングのリズムトラック

ソングのリズムトラックは 完全に曲の音楽の形に配置されたリズミカルなバッキング(ノーメロディーやハーモニー)から構成されるバッキングトラックの新しいタイプです-それは「だsongform」。これらのトラックは1つが、プロのドラマーから取得するような完全な公演です。彼らは、カウントイン、導入部、コーラスや特性語尾、セクションの開始を示すフィルとendで囲まれています。でも音楽の橋やミドルコーラスは、スタイルに適した高い強度を有します。物事は、伝統的な編曲のインタフェースを廃止行うことによって、単純な保持されます。一つは、30秒の下でトラックを選択することができます- 15秒で1がそれのこつを取得した後。

アプリケーションのプレイヤーがテンポ調整し、あなたのギグやジャムセッションのためのトラックを配列決定する施設があります。それはすべての能力のミュージシャンのためです。新しいミュージシャンが曲に伴奏を提供するために、アプリケーションを使用しています。すべてこの中に魅力的で感動的なリズムを楽しんで-彼らは、時間を維持溝に入ると曲の音楽的構造を内部化することを学ぶように、交感神経でリズムを取得します。ギグのミュージシャンは、セットリストの中に彼らの裏をカタログし、パフォーマンスを導くためにそれを使用します。セットリストの施設やミュージシャンのプレーヤーで、品質リズムバッキングを持つ、  すべてのアプリケーションはとても便利である1の1は、より多くのこのリズムバッキングを使用して自分自身を見つけます

ソングのリズムトラックは 本当に高品質なリズムバッキングある選択して再生するのに便利です。あなたはこれらのバックトラックの疲れを取得するつもりはありません。あなたは何を配列しているつもりはありません。あなたはプレーヤーとセットリストのユーザー・インタフェースは継続使用を奨励していることがわかります。あなたはより多くの曲の形を認めるようになるだろうと、あなたはあなた自身のシングルやアルバムのリリースにこれらのトラックが含まれる場合があります。他のモバイル太鼓のアプリと経験によって延期されないでください。ソングのリズムトラックは 別の何かです。

あなたが最新アルバムを、ジャミング、新しい曲を学ぶギグまたは切断されているかどうか、この歌のリズムはトラック ソリューションを提供します。

サンプルチェックアウト 時にオーディオのをアライブドラミングのサンプル・ページ

これらの記事チェックし 、製品の背後にある考え方さらなる洞察を与えるアライブのドラミングからの

練習する方法、そしてどのようにジャム

ときに、あなたのリズムで作業するには?

なぜ、リズムトラックとsongform?

歌のリズムアプリをダウンロードトラック AppleのApp Store

アライブドラミングのサンプラーアプリを試してみてください以前に人気の曲のトラックを配置しサンプリングするのを。あなたの練習やパフォーマンス要件にこれらを調整するためにアプリを使用して、その後は簡単です。すべてのサンプラーのアプリは同じ歌リズムトラック のアプリをが、含まれているサンプルトラックと。


また、上で公開


Also published on Medium.