朝日ネット 技術者ブログ

朝日ネットのエンジニアによるリレーブログ。今、自分が一番気になるテーマで書きます。

オリジナルの音声アシスタントを作ろう (3) - Cloud Speech API

はじめに

こんにちは。朝日ネットでWebアプリケーションの開発を行っている tommy です。

前回Media Capture and Streams を使ってブラウザで音声を録音しファイルでダウンロードするところまで作ってみました。 今回はそのファイルをサーバにアップロードして音声認識を行う部分を作っていこうと思います。

  • はじめに
  • 音声認識をサーバ側で行うには
    • 1. 各種クラウドサービスを利用する
    • 2. Julius を利用する
    • 3. 自前で機械学習をする
  • プログラム作成
    • サーバ作成
    • Cloud Speech API の有効化とAPI キーの取得
    • ページ作成
    • サーバ側(GAE)プログラム作成
    • API キー
  • Cloud Speech API
  • 実行結果
  • 補足
  • おわりに
  • 採用情報
続きを読む

命題論理のヒルベルト流をHaskellで実装する

こんにちは。株式会社朝日ネット開発部のxfuzzyです。 数学や関数型言語に興味があります。 Haskellという言語に、興味はあるのですが、プログラムを作ったことはほぼありませんでした。そのため、Haskellを実際に使って学習をしつつプログラムを作ってみたいと思っていました。 また、数学に興味がありながら、計算をするのは苦手でした。特に、論理式の変形は、ルールは単純なのですが、長い式が出てくると、手計算ではミスが発生して残念だと思っていました。 そこで私は、Haskellを使って、論理式の操作をするプログラムを作ってみることにしました。

  • 概要
  • 背景の説明
    • 論理式とトートロジー
    • ヒルベルト流
    • ヒルベルト流の例
  • プログラムの説明と実行例
    • 論理式のデータ型
    • match関数
    • 論理式を書きやすくする
    • ヒルベルト流の推論を行う
  • まとめ
  • 採用情報
続きを読む

TypeScript + React + Redux + α の利用例兼チートシート

追記 (2018/12/25)

当記事をリニューアルし、より詳細な解説を加えた続編を書きました。 今後はこちらの記事をご参照いただければと思います。

techblog.asahi-net.co.jp

はじめに

開発部の tasaki です。 Web フロントエンド(というより Node.js + npm)のエコシステムでは他のエコシステムと比較して大量の細かいパッケージを作成する傾向にあります。 TypeScript + React + Redux + react-redux + react-router + redux-form + ... などとを組み合わせていった場合、各パッケージがどのような機能を持ち、大量のパッケージのどこに関数やクラス(+ TypeScript の型)が定義されているのかよく分からなくなりがちです。 そこで、ソースコードをそのままチートシートとして使えるような小さいアプリケーションを作成してみました。

  • 追記 (2018/12/25)
  • はじめに
  • ソースコード
  • 備考
    • Parcel を使う
    • Parcel は TypeScript の型エラーを報告してくれない
    • props の定義に注意
    • 循環依存に注意
  • おわりに
  • 採用情報
続きを読む

ISPを構築してみる (3)

朝日ネットで業務システムを開発しているkakoです。前回の記事では、プライベートASになんちゃってISP(KakoNet)を構築するための手順と、VirtualBoxの内部ネットワークにVyOSとUbuntuを構築する方法について述べました。今回は下図のように、次の検証・構築手順として挙げている、VyOS間のBGPについて記載したいと思います。

f:id:kako-asahi:20180816054158p:plain

  • 仮想環境に検証用ネットワークを構築
  • VyOS間でのBGP
    • BGP設定前のルータの状態を確認
    • BGPの設定
    • 各コマンドの簡単な解説
    • BGPが有効であることの確認
  • おわりに
  • 採用情報
続きを読む

PWAでwebプッシュ通知を作る (3) - ブラウザのデバッグ機能を使用してプッシュ通知を受け取る

はじめに

watanabeです。 前回の記事でWebページをPWA化しましたが、今回の記事ではプッシュ通知を受け取りその処理をする部分を実装します。

  • はじめに
    • プッシュ通知のAPIについて
  • 実装する
    • 1. ユーザの許可を得る部分
    • 2. プッシュ通知を受け取る部分
    • 3. プッシュ通知をクリックしたときの処理
  • デバッグ用のプッシュ通知を試す
  • 次回予告
  • 採用情報
続きを読む

オリジナルの音声アシスタントを作ろう (2) - Media Capture and Streams API

はじめに

こんにちは。朝日ネットでWebアプリケーションの開発を行っている tommy です。

前回Web Speech API を使ってブラウザで音声認識をやってみました。 ただし、現状では対応ブラウザが少ない上に、まだ不安定という問題がありました。

そのため、今回はブラウザでマイクの音を拾うことができる API の Media Capture and Streams を使ってみようと思います。

  • はじめに
  • 今回の大まかな流れ
  • getUserMedia
  • Web Audio API
  • サンプルコード
    • サンプル1: 波形グラフを出力する
    • サンプル2: Flac ファイルとしてダウンロードする
  • まとめ
  • 採用情報
続きを読む