Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ノート編集時に鳴る音を聞きやすくする #1937

Open
wants to merge 7 commits into
base: main
Choose a base branch
from

Conversation

sigprogramming
Copy link
Contributor

@sigprogramming sigprogramming commented Mar 16, 2024

内容

以下を行い、ノート編集時に鳴る音を聞きやすくします。

  • シンセのパラメーターの調整
  • シンセにボイス数を制限する機能を追加
  • シンセにローカットとハイカットを追加

関連 Issue

close #1936

スクリーンショット・動画など

2024-03-17.011410.mp4

その他

  • コードが前より複雑になっていますが、ひとまず音の調整ということでPRしています

@sigprogramming sigprogramming requested a review from a team as a code owner March 16, 2024 15:44
@sigprogramming sigprogramming requested review from Hiroshiba and removed request for a team March 16, 2024 15:44
Copy link
Member

@Hiroshiba Hiroshiba left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ちょっとUX に関してコメントしました!

src/sing/viewHelper.ts Outdated Show resolved Hide resolved
Copy link
Member

@Hiroshiba Hiroshiba left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

プレビュー音の変更はデザインをいろいろ整理するタイミングで実装できればと思います・・・!

@Hiroshiba
Copy link
Member

ちょっとメモです:

Voisonaのノート配置時の音と波形を比較しました。
波形は縦幅を対数スケールにしています。
左からVoisonaのサイン波2回、PRの音2回、Voisonaの声での配置音2回です。
image

音声サンプル
2.mp4

@Hiroshiba
Copy link
Member

Hiroshiba commented Apr 12, 2024

ちょっとUIサウンドデザインについて少し調べたのでメモです。
(結局どういうのがいいのかはよく分かりませんでした。。。)

UI のサウンドデザインについて何を考えるべきかはこちらがとても参考になりました。
https://uisound-ux.jp/

基本的には普通のデザインと一緒で、伝えたい誰かに伝えたいことを伝えるために用いる感じでした。
あと目的(警告だとか操作音だとか)や醸し出したいブランド感に応じてロジックが変わる感じでした。
単体で聞いたときの感じの良さと、実際に使用しているときの感覚は違うらしいので、そこは要注意だなと思いました。

ブランド感に関して

落ち着いてて、クリエイティブで、シンプルな感じが良さそうなのですが、それに適した音が何なのかがわからなかったです。。。
ちなみに他のブランドデザインイメージはこんな感じです。(リリース時に考えていたやつなので今はだいぶ変わっているかもですが)
https://docs.google.com/document/d/17rMz_jd59y1Wwd0g9f2pi51Wt6CAq13TcXHXtpHjaJE/edit

「落ち着いてる」を意識すると、思いつくのは飛行機とか新幹線で聞く「ぱんぽーん」みたいな音かなと思いました。
探ってみた感じ、サイン波に奇数倍音をいくつか足すとなんか近い感じ?になりました。
↓はサイン波の基音が振幅0.5、3倍音・5倍音・7倍音が振幅0.01の音です。
https://github.com/VOICEVOX/voicevox/assets/4987327/edda05f9-1c5e-4345-af7c-fcb76bcba060

ちなみに奇数倍音だけにするのは快適感があるらしいです。
https://uisound-ux.jp/chapter4/chapter4-4_03.html

「シンプル」を意識すると、よく使われているサイン波が最強そうでした。
減衰を入れると雰囲気木琴に近いので落ち着いている感じも十分な気がします。

目的に関して

こっちもかなり考えたのですが、そもそもなぜプレビュー音を再生するといいのかが自分の中でしっかり定まりませんでした。
候補としては、操作してる感じがある・ミスに気づける・音を探れるあたりが重要そうで、かつ制作の邪魔をしない・気にならないあたりも重要そうだなぁと。
これらだけ考えると、音を急に止めないのは大事(「気にならない」ため)で、アタックが早いのも大事(「操作してる感じがある」ため)だと思うのですが、音が鳴り止むのは早い方がやっぱり良いのでは(「制作の邪魔をしない」ため)と思いました。

ちなみに操作音らしさだけだったら200ms程度の減衰系の音が良いらしいです。
https://uisound-ux.jp/chapter4/chapter4-3_04.html
また操作音らしさは美的要素が高く、金属要素がちょっと高いとそれっぽく感じるらしいです。多分ここで言ってる美的要素はサイン波が最強そうでした。
https://uisound-ux.jp/chapter4/chapter4-4_01.html
もちろん操作音のためのプレビューだけじゃないのですが、参考にはなるかなと。

そもそも今リリースされているバージョンのプレビュー音で文句の声が全く届いてないのは、矩形波という割となじみのある音だというのと、長さが↑の操作音と同じ程度で「操作音」として捉えられているのかなと思いました。


楽しくて色々調べてみましたが、やっぱりプレビュー版の目的を言語化するのが大事な気がしました。
もうちょっと探りたいと思います 🙇

@romot-co さんももしよかったらご助言いただけると心強いです 🙇 )

@romot-co
Copy link
Contributor

@Hiroshiba @sigprogramming
こちら聞いて&見てみました!

一般アプリのUIサウンドと違う点として:
操作または通知などへのフィードバックのみではなく
歌声やメロディーをつくるツールなので

  1. 追加・変更のプレビューである
  2. それ自体で音程を取って利用することがある(機能の一部)

という点があるかと…!

そして

2.を考えると音程を聞き取りやすい...サイン波(純音なので)に近いもの?...がよさそうかなと!
長さは単音では個人的にはさほど違和感ありませんでした!
少々いろいろ鳴らしてみます!

(プレビューとして一番良いのは実際の声で鳴らすことかな?と思うのですが、今回は考えない)

@sigprogramming sigprogramming requested a review from a team as a code owner May 8, 2024 13:40
@sigprogramming sigprogramming requested review from Hiroshiba and removed request for a team May 8, 2024 13:40
@sigprogramming
Copy link
Contributor Author

ありがとうございます!
コメントが遅くなり申し訳ありません…!

プレビュー音の目的ですが、@Hiroshibaさん、@Romotさんがおっしゃる通り、

  • 操作音(操作してる感、フィードバック)
  • 操作後のノートのプレビュー(ミスに気付けるように)
  • 音程をとる(音を探る)

が目的になるかなと思います。

音が鳴り止むのは早い方がやっぱり良いのでは(「制作の邪魔をしない」ため)と思いました。

慣れもあると思いますが、確かに余韻が長いと打ち込み時に邪魔に感じるかもしれません。
かといって短すぎると、アタックが鋭くなり聞きにくい音になるのと、音程がとりにくくなるかもです。
なので、聞きやすい&音程をとりやすい長さで、長すぎないのが良いかもと思いました。

音色は、私も純音(サイン波)に近いものが良さそうに思いましたが、完全に純音だと低い音(C2~B2の音域)ではラウドネスが小さくなり音がほとんど聞こえなくなるので、少し倍音のある音が良いかなと思います。

$\Large y(t) = \sum\limits_{n=1, 3, 5, \ldots}^\infty \frac{\sin(2 \pi n f t)}{n^p}$

で、p=1のとき矩形波、p=2のとき三角波、pが大きくなるとサイン波に近づくので、これを利用して倍音を調整して、音を生成するのが良いかもです。

@sigprogramming
Copy link
Contributor Author

sigprogramming commented May 16, 2024

音色と音の長さを調整しました。
また、プレビュー用のシンセを作成する処理を関数化しました。
ハイカットは必要なさそうだったので削除しました。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

ソング:ノート編集時に鳴る音を聞きやすくする
3 participants