Coder Social home page Coder Social logo

taku-o / myukkurivoice Goto Github PK

View Code? Open in Web Editor NEW
93.0 8.0 1.0 43.61 MB

動画作成用ゆっくりボイス App for Mac OSX.

Home Page: https://taku-o.github.io/myukkurivoice/

CSS 2.53% JavaScript 8.17% HTML 8.78% TypeScript 80.52%
mac-osx aquestalk electron electron-application javascript node wav movie mac macosx

myukkurivoice's Introduction

Hi there 👋

myukkurivoice's People

Contributors

taku-o avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

myukkurivoice's Issues

AquesTalk10対応

"クリアな音質、高い明瞭性、各種パラメータで様々な声質に調整が可能"
"基本素片:女声2種,男性1種から選択(複数可)+ パラメータで各種調整"
https://www.a-quest.com/products/aquestalk.html

試してみないとどのようなものかはわからない。

aq10-F1 で『記録』を使った後に f1 等のAquesTalk1の声が使えなくなる

0.6.5 において、
aq10-F1女声1(新ゆっくり)で音源をiCloudに記録した後にf1 女声1(ゆっくり)等のAquesTalk1の声が使えなくなります。
再現方法は以下になります。

1.iCloudにバックアップを作る設定のデスクトップや書類フォルダなどに『aq10-F1女声1(新ゆっくり)』を用いて『記録』ボタンで保存(ファイル名は名称未設定.wav)する。
2.『aq10-F1女声1(新ゆっくり)』のまま『再生』ボタンで再生
3.『f1 女声1(ゆっくり)』に音源を変更、再生
4.エラー表示

mjk

テストに使ったOSは10.13.1(HighSierra)です。

次の拡張内容の候補の選出

自分が必要とする機能は取り込んだ。
他に必要な機能はあるか。上ほど優先度高。



  • エコー
    • 動画向けに使うにはパターンを多数用意する必要がある。UIをどうするかの考慮が要る。
    • 動画編集ソフトで対応できるので、少し優先度低。
  • 音声の編集機能
    • 音声の調音用
  • 音声のグラフを表示したい
    • 音声の編集機能とセットで。
    • 動画編集ソフトでいくらか対応できる。
  • 波形表示
  • avi形式で出力する
    • 音声 + テキスト + 透過背景
  • 生成wavファイルの関連付けを変更
    • iTunesが立ちあがらないようにする
  • 字幕画像の生成
  • 設定データ変更時、バックアップ

  • mp3で出力
    • 要るのか?
  • 声種f2対応 → 無理では?
  • SSML取り込み出力
    • フォーマットのパースがかなり厳しい
    • 導入する利点が無い、のではないか?

常時

  • 高速化 → 手段はあるのか?

AquesTalk10の使用ライセンスキーの切替機能が要る?

Youtubeで広告付きの動画を投稿するには使用者ライセンスが必要。

AquesTalk1、AquesTalk2は使用者ライセンスを購入後、
OS、アプリ名、使用声種を連絡する。

AquesTalk10は使用者ライセンスのキーを設定する。
AquesTalk10用の機能が必要。

ドラッグアンドドロップ機能関連の問題

  • 重い
    • 想定する使用場面が、動画編集ソフト立ち上げてる想定で、実際にその状況だとドラッグが重い
  • 重い環境で?、アプリに音声ファイルをドロップできてしまう時がある
    • 相当重い環境でないと発生しない?

声が違う気がする

aq_yukkuri.phont がいわゆる"ゆっくり"の声なのだけれど、
"ゆっくり"の声とは違う。

そこで、他のゆっくりボイス系アプリのソースを覗いてみたのだけれど(失礼)、
phontファイルが間違っている、ということではないらしい。

つまり、音声の再生に問題がある?

electron-packagerのignoreオプションが巻き込みすぎる

  • electron-packagerのignoreオプションが正規表現マッチ。
  • 部分一致でも拾う
  • ルートディレクトリにファイルがなくても拾う
  • ignoreに短いファイル名も指定しており
  • よって、事故が起こりやすい
  • なんとかする

AquesTalk10ライセンスキーをどのように管理するか、という問題

ライセンスキーをどのように管理するか。
アプリに埋め込むか、動的に持ってくるか。

開発ライセンスキーを設定。音声波形を生成する前に一度呼び出すことで、以降、製品版とし動作し、評
価版の制限がなくなる。
構文 int AquesTalk_SetDevKey(const char *key)
 
使用ライセンスキーを設定。音声波形を生成する前に一度呼び出すことで、以降、合成音声データに含ま
れる透かしが使用ライセンス無しから取得済みに変化する。
構文 int AquesTalk_SetUsrKey(const char *key)

開発版とプロダクト版でソース公開して共有しやすくなったが、
そこはAquesTalk1、AquesTalk2が入っているので、MYukkuriVoiceにはあまり影響がない(´・ω・`)

公式サイトで配布しているAquesTalkとAquesTalk2はいずれも世間的に「ゆっくりボイス」と呼ばれるものではない

なるほどなるほど!

そして補足ですが、実はアクエスト社が公式サイトで評価版を配布しているAquesTalkとAquesTalk2はいずれも世間的に「ゆっくりボイス」と呼ばれるものではありません。ニコ動等でデファクトスタンダードとして使われているのはSofTalkなどに同梱された古いライブラリセットなので、評価版の声質を聞いて「なんか違う…」と思った方はSofTalkに同梱のAquesTalk.dllを代わりに使って試してみましょう。ちなみにSofTalkに同梱されたAquesTalkは現在アクエスト社が公式ページで配っているAquesTalkとライセンスが違うので、そこも要注意ということで。

http://www.baku-dreameater.net/archives/761

AquesTalk10 ボイス設定変更機能の実装案

  • ボイス選択の横にカスタマイズボタン
  • AquesTalk10の時だけ表示
  • 押すと、設定画面に移動
  • 設定画面では、追加、変更、削除できる
  • 追加すると、ボイス設定の最後に追加
  • UI
    • 名前
    • 6パラメータ
    • 追加/変更、削除
  • DB
    • voice.json

Web Audio APIでサンプリングレート8000Hzで出力したい

  • 音源が8000Hzなので
  • Web Audio APIを通した時点で44.1kHzになってしまう
    • Web Audio APIのサンプルレート変換はあやしい
    • サンプリングレート変更は未サポート
    • 実装が出てくれば都合が良い
  • Web Audio APIを通す前にサンプリングレートを変更する?
    • こちらも現実的か
    • ただし、過去の実験では上手く行かなかった

機能一覧

  • ヘルプ、READMEあたりに追加したい

electronのアップグレード

少し古い。
現時点ではアップグレードにより利用できる機能が増えたりしないので、
少しやりにくい。

npm outdated -g
> Package            Current  Wanted  Latest  Location
> electron            1.4.12   1.7.9   1.7.9
> electron-osx-sign    0.4.2   0.4.7   0.4.7
> electron-packager    8.4.0   9.1.0   9.1.0
> electron-prebuilt   1.4.12  1.4.13  1.4.13
> node-gyp             3.4.0   3.6.2   3.6.2
> npm                 3.10.9   5.5.1   5.5.1

npm view electron dist-tags
> { latest: '1.7.9', beta: '1.8.2-beta.1' }
npm install [email protected] -g

音声録音時に、最後の方が少し切れる

録音ファイルに出力すると、最後の方の音が欠ける
ひとまず、以下のような対応をいれたが、根本的な解決方法は別に探す

// source
var in_sourceNode = audioCtx.createBufferSource();
in_sourceNode.buffer = decodedData;
in_sourceNode.onended = function() {
  // onendedのタイミングでは出力が終わっていない
  setTimeout(function(){
    recorder.end();
    MessageService.info('音声ファイルを保存しました。path: ' + wav_file_path);
    d.resolve('ok');
  }, 100);
};

テキストファイルでまとめて音声ファイル作成UIを追加したい

  • 今考えているUIは左メニューの一番下に切替用のメニューを用意する。
  • 出力ファイルの命名パターンと、出力先ディレクトリを設定する。
  • テキストファイルを渡す → その後、再生 or 録音ボタンで連続処理。
+--------------------+
|                    |
+----+---------------+
|    |               |
|    |               |
|    |               |
|    |               |
+----+               |
|here|               |
+----+---------------+
  • 音声のパターンは左のボイス設定に従う
  • テキストファイルのパターンはこんな感じか
0:こんにちわ
1:おはよう

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.