インターネットラジオ「らじるれ郎」開発記録 (21)

ううう「らじるれ郎」です (^_^;)
3
戸田プロダクション @TodaProduction

らじるれ郎の再生中に、ボタンを押したらそこから録音開始、もう一度同じボタンを押したら録音終了、そういう超お手軽で超お気楽な「簡易」録音機能を搭載できないか? ふと思いついて、朝からなんとなくボ~っと考え続けている。

2021-11-26 09:52:20
戸田プロダクション @TodaProduction

早速「Delphi 録音」でググり、一番最初にヒットしたページで録音エンジン?に FMX.Media を使う方法を知った。へー、FMX って VCL アプリにも使えるんだな? (そんなレベル (^_^;)) 試したら、ほんの数行コードを追加するだけのやっつけ仕事で再生音を *.WAV に録音することができた。 pic.twitter.com/Uj5psLgwGl

2021-11-26 09:56:34
拡大
戸田プロダクション @TodaProduction

ただ この FMX.Media は、uses するだけで出来上がり EXE サイズが一挙に3倍、12メガ近くにもなってしまう! もっと軽量な録音エンジン?を求めて MfPack とかも調べてるんだが、こっちはこっちで難解すぎて到底自分の手には負えそうにない。詰んだ (>_<)。 github.com/FactoryXCode/M…

2021-11-26 10:00:19
あや!! @masashi_214

@TodaProduction さらに発展して番組表予約録音機能も付くのですね!😎

2021-11-26 10:04:46
戸田プロダクション @TodaProduction

@masashi_214 そんな地獄みたいな不毛な苦労はしたくありません (^_^;)。ボタン押したら録音開始、もう一度押したら録音終了、本当にただそれだけの「超簡易」録音機能を目指したいと思います。

2021-11-26 10:09:32
戸田プロダクション @TodaProduction

録音エンジン?に、昔ながらの TMediaPlayer を使う方法も試してみた。これもほんの数行のコード追加で録音できたが、録音データを再生してみるとひどく音が悪い。出来上がり EXE サイズは小さく抑えられるが「この音じゃちょっとなぁ…(^_^;)」という感じ。またしても詰んだ。 pic.twitter.com/GyBfUNe3q9

2021-11-26 10:24:49
拡大
戸田プロダクション @TodaProduction

あれこれググったが、なかなか「ピッタリこれ!」という録音エンジン?情報を見つけ出せない。大昔の技術?ほどリンク切れまくりで、肝心の一次情報にはたどり着けない。昔の人は一体どうやって高度な Audio Capture を実現していたんだろう? そんなこと、今の今まで考えたこともなかったな?(^_^;)

2021-11-26 10:47:46
戸田プロダクション @TodaProduction

録音エンジン?探しに疲れたので、先にとりあえず録音ボタンを新設してみた。ところがこのデザイン、めちゃくちゃカッコ悪い (^_^;)。 上のラジオパネルが現行 ver 1.62、下が出来たてホヤホヤ最新テスト版。単純に録音ボタンを追加すると、ボタン配置のシンメトリーが崩れて美しくない。こりゃ駄目。 pic.twitter.com/zIjVRMTn6A

2021-11-26 12:58:50
拡大
戸田プロダクション @TodaProduction

やっぱボタンは左右対称の2つづつでしょう? ポーズボタン表示を消して代わりに録音ボタンを配置したら、こちらの方が圧倒的に美しい? ポーズボタンは機能が効くチャンネルと効かないチャンネルがあって、昔からいっそ廃止したい気持ちも大いにあった。しかし実際に削除するのも悩ましいところ。 pic.twitter.com/VwYiT9BNG4

2021-11-26 13:17:03
拡大
戸田プロダクション @TodaProduction

決めた。ポースボタンは非表示を初期値とする。ただしポーズ機能そのものは殺さず残して、環境設定でボタン表示をするか?しないか?選べるようにする。これならポーズボタンを表示していない時でも、キーボードの Pause キーを押せば従来どおり一時停止機能を使える。 pic.twitter.com/KsCARurtEc

2021-11-26 13:57:28
戸田プロダクション @TodaProduction

続いて録音時の状態変化とボタンの有効/無効切替。 1.録音中はモニタパネルに赤く [Rec] 表示 2.録音終了時に録音データ書き出し 3.録音中はポーズもミュートも押せない 4.逆にポーズ中またはミュート中は録音ボタンを押せない 5.チャンネル切替または電源断で録音終了 こんなとこかな? pic.twitter.com/7pw62G0I18

2021-11-26 14:48:03
戸田プロダクション @TodaProduction

忘れてた (^_^;)。らじるれ郎を最小化させてタスクトレイに入れた時でも、録音操作はできるようにしておきたい。トレイメニューのアイテムに「録音を開始 (終了) する」を追加。録音中とミュート中の相互で、各々お互いに機能の有効無効切替が正常に働くことを確認した。 pic.twitter.com/SuTKOcvsLX

2021-11-26 15:08:32
拡大
戸田プロダクション @TodaProduction

UI検討 (修正) の最後は録音データの管理。 環境設定に「録音」タブを新設。「録音データの保存先フォルダ」は、デフォルトでらじるれ郎フォルダ内の RecData という場所にした。ただし参照ボタンを押せば好きな場所にも変更可能。フォルダが無い時はどうしよう? pic.twitter.com/uCIvEhLwrC

2021-11-26 15:41:19
拡大
戸田プロダクション @TodaProduction

録音データの命名規則も決める必要がある。さっき新設した録音タブに「録音データのファイル名」欄を新設。録音日、録音開始時刻、その時に聴いてるチャンネル名、以上3つの組み合わせによるファイル名の命名規則を4つのパターンから選べるようにしてみた。窓内 (例) 表示はリアルタイムに変化する。 pic.twitter.com/ZODz5Fbeac

2021-11-26 16:28:47
戸田プロダクション @TodaProduction

ああ、そうか。チャンネル名の文字列の中にはファイル名として使えない文字 (例えば / とか > とか) が含まれてる可能性があるから、そのまま連結したらデータ保存に失敗する危険性があるな。1文字づつチェックし、ファイル名に使えない文字は空白に置き換える。逆に「&」は (例) 表示時のみ考慮要。 pic.twitter.com/sngpaxerY4

2021-11-26 16:45:58
拡大
戸田プロダクション @TodaProduction

ふー、5時過ぎたな? 半日かけて簡易録音機能のUIを概ね実装できた。ボタン押したら録音開始、もう1回押したら終了…というただそれだけの機能だが、ハリボテじゃなく実際に録音可能になって良かった。とりあえずテストで使ってみて、あとはもう少し軽量な録音エンジン?に入れ替えたいところ。 pic.twitter.com/X95s1mL0Dg

2021-11-26 17:30:55
拡大
戸田プロダクション @TodaProduction

Un4seen Developments - 2MIDI / BASS / MO3 / XMPlay un4seen.com ぶくぶく、ぶくぶく、ぶくぶくぶく…。 昨夜から今夜にかけて、ずーーーーっとネットの海に潜りまくり、何十個ものアーカイブを次々落としては中身を試す…という苦労を続けながら、ようやくこのページに辿り着いた。

2021-11-27 19:42:38
戸田プロダクション @TodaProduction

BASS Audio Library un4seen.com/download.php?b… Delphi で WAV 録音する時に使えるライブラリで、非商用利用ならライセンス無料なのが有り難い。サンプルプロジェクトもそのままビルドできて嬉しかった。他に試したヤツは軒並み高価で超豪華な巨大ライブラリか、前世紀に作られた残骸しか無かったので。

2021-11-27 19:52:34
戸田プロダクション @TodaProduction

BASS Stream Recorder Library 3delite.hu/Object%20Pasca… あと、このライブラリも BASS Audio Library の派生品みたいで、いくつかのサンプルプロジェクトを動かすことができた。両者の違いを調べて、もし可能なら両者の「イイとこ取り」ができれば良いなぁと思う。

2021-11-27 19:56:29
戸田プロダクション @TodaProduction

朝イチからのコーディングで、現在この写真の一番下の状態 (^_^;)。今日も有名なこの写真を見て笑って、なんとか元気を取り戻そうとしているところ。 pic.twitter.com/jFLL3SgndV

2021-11-28 08:54:37
拡大
戸田プロダクション @TodaProduction

うううー、今朝はメチャクチャ冷え込んだな?(>_<) 昨夜からぶっ通しで朝の4時半までコーディングに没頭していたが、ちょうどその頃が一番寒くて、布団に入ったあともしばらくはガタガタと震えてたくらい。

2021-11-29 07:39:41
戸田プロダクション @TodaProduction

BASS を使った録音エンジンが、苦労の末にようやく完成した。BASS24 アーカイブに同梱された rectest というサンプルを徹底解析、ごっちゃになってるUIと録音エンジンを慎重に引き剥がし、エンジン部分だけ自前クラスにまとめてコンポーネント化した。これを使うとわずかなコードで録音が出来た。 pic.twitter.com/6MMhJdYzi6

2021-11-29 07:58:41
拡大
戸田プロダクション @TodaProduction

早速、手元の開発版らじるれ郎の録音エンジンを FMX.Media から TWAVRecorder に差し替えてみたら、生成される EXE サイズを大幅に抑えることが出来た。 FMX.Media 使用:11,739 KB  TWAVRecorder 使用:3,937 KB 苦労の甲斐があった。引き続き正式採用決定!(^_^)

2021-11-29 08:08:34
戸田プロダクション @TodaProduction

これをやりたかったんだよ!(^_^) 自前でこしらえた TWAVRecorder、ちゃんと外部からリストプロパティにアクセスできるか?のテストに成功。 pic.twitter.com/vj1ghjdJhe

2021-11-29 09:57:21
拡大
戸田プロダクション @TodaProduction

さっきよりちょこっとだけ進化した!(俺にしか判らない変化w) pic.twitter.com/qJvAWzzhl5

2021-11-29 10:05:39
拡大
1 ・・ 4 次へ