片山博文MZの掲示板

片山博文MZの掲示板 34043

クロスワード自動作成ソフト「クロスワード ギバー」
1 名前: 片山博文MZ◆JwHkm/8mPw

2013/05/28 (Tue) 13:14:31

クロスワード自動作成ソフト「クロスワード ギバー」に関するご要望やご意見をお待ちしています。

使える単語データもお待ちしています。

114 名前:ユーザー

2015/12/30 (Wed) 15:20:54

初めまして。小学校の教員です。
毎年、年賀状で使わせてもらってます。
その年の児童の名前や学習した事柄、出来事などをクロスワードにしています。
自分たちのことが問題になっているのでみんな大喜びで取り組むようです。

しかし、これで困るのは、用意できるワードがせいぜい数百語しかなく、
大きな問題が作れないことです。
10x10マスともなると数日間稼動させても完成しませんでした。
妥協して今年も9x9マスで作りましたが、
これだと自分に関係があるワードが出てこない児童の方が多いです。
できるだけ多くの児童を問題の中で使ってやりたいと考えています。

そこで要望なのですが、
完成間近まで試行できた問題を表示または保存することはできないでしょうか。
仮に「残り3つのワードが見付からず、未完成に終わった問題」だったら、
条件に当てはまるような残り3つのワードを自分の頭で試行錯誤すれば完成できると思います。
この機能が実装されれば10x10マスも作れるのではと期待しています。
もし来年の年賀状で使えたら、嬉しい限りです。
よろしくご検討ください。

115 名前: 片山博文MZ◆NveQN6OtcI

2015/12/30 (Wed) 19:55:02

10×10は計算量が大変ですね。一般のパソコンでは難しいと思います。

実は比較的素早く生成する裏技がありまして、「ヘルプ」メニューから「黒マスパターン」を生成してから、「解」メニューから「黒マス追加なし」で解くと早く作れます。黒マスの配置はよくある単語の長さを意識して置くと効率が良くなります。

116 名前: 片山博文MZ◆NveQN6OtcI

2015/12/30 (Wed) 20:17:10

生成をもっと根本的に早くするには、生成アルゴリズムを大幅に書き直す必要があると思います。
需要があれば4.0として作り直したいと思います。

117 名前:ユーザー

2015/12/30 (Wed) 22:29:24

お返事ありがとうございます。
>>115の方法を試してみました。
しかし数百回トライしましたが解が完成しませんでした。
付属の基本単語データを使えば15x15でも1秒未満で完成しました。
詳しい仕組みは分かりませんが、ワード数が少ないとどうしようもないようです。

4.0の需要は少なくともここに1人おります。
もし作ってくださるなら、少ないワード数で何とかやりくりできるような機能が欲しいです。
その場合、黒マスの禁則処理をUIで選択できると嬉しいです。(「黒マス2連続までなら許可」など)
私のような人間が他に何人いるか分かりませんが、
内輪だけで通じるようなオリジナルのクロスワードが作りやすいとしたら、
売りになるのではないでしょうか。

118 名前: 片山博文MZ◆NveQN6OtcI

2015/12/30 (Wed) 23:13:48

4.0の目標。
単語データにない二文字の単語の生成を許可する。
黒マスルールをGUIで緩和できるようにする。
枝刈りを合理化する。
アルゴリズムを見直す。
std::threadなどを活用してモダン化する。
小学生向け、中学生向け、特定学年向け、特定業種向けの単語データを用意する。
グローバル変数をなるべく使わず、細かいアルゴリズムの違いをテンプレート特殊化で吸収し、見通しのよいコードにする。
クロスワード生成モジュールをライブラリー化する。
クロスプラットフォーム対応にして、Linuxでも動作するようにする。

119 名前: 片山博文MZ◆NveQN6OtcI

2015/12/31 (Thu) 09:23:21

需要がないというのは、20000円の仕事なのに6000円しか売れなかったらまずいからね。

120 名前:片山博文MZ◆NveQN6OtcI

2016/01/02 (Sat) 13:52:33

34本目、お買い上げありがとうございます。

121 名前: 片山博文MZ◆NveQN6OtcI

2016/01/02 (Sat) 18:43:09

35本目、お買い上げありがとうございます。
36本目、お買い上げありがとうございます。
37本目、お買い上げありがとうございます。
38本目、お買い上げありがとうございます。

122 名前: 片山博文MZ◆NveQN6OtcI

2016/01/05 (Tue) 11:25:28

39本目、お買い上げありがとうございます。

123 名前: 片山博文MZ◆NveQN6OtcI

2016/01/15 (Fri) 22:58:22

40本目、お買い上げありがとうございます。

124 名前:ユーザー

2016/02/06 (Sat) 10:32:29

4.0の発表を心待ちにしています。
もしできるなら、「キーワードグループ」のような機能を追加できないでしょうか。
同じキーワードグループに属する単語は、どれか1つしか選択されないようにする機能です。

例えばドラゴンクエストを題材にクロスワードパズルを作成するとして、
次のキーワードを登録します。
ドラゴンクエスト
ドラゴン
クエスト
ドラクエ
ドラ
クエ
しかし、1つのクロスワードパズルの中に
「ドラゴンクエスト」と「ドラクエ」の両方が出てきてしまうと、どうも間が抜けてしまいます。
そこで上の6つのキーワードをグループにして、どれか1つしか選択されないようにするのです。

キーワードをいくらでも用意できる題材なら問題になりませんが、
私のように小学校の1学級限定とか、限られた趣味の世界を題材にすると、直面してしまう問題です。
よろしくご検討ください。

125 名前: 片山博文MZ◆NveQN6OtcI

2016/02/06 (Sat) 22:51:05

今、他の仕事で忙しいのでクロスワードギバーの開発は後回しになると
思います。すみません。

126 名前:片山博文MZ◆NveQN6OtcI

2016/03/01 (Tue) 12:11:24

41本目、お買い上げありがとうございます。

127 名前: 片山博文MZ◆NveQN6OtcI

2016/03/03 (Thu) 02:15:23

42本目、お買い上げありがとうございます。

128 名前: 片山博文MZ◆NveQN6OtcI

2016/03/05 (Sat) 19:26:21

43本目、お買い上げありがとうございます。

129 名前: 片山博文MZ◆NveQN6OtcI

2016/05/12 (Thu) 09:07:55

44本目、お買い上げありがとうございます。

130 名前: 片山博文MZ◆NveQN6OtcI

2016/05/25 (Wed) 23:07:20

45本目、お買い上げありがとうございます。

131 名前: 片山博文MZ◆NveQN6OtcI

2016/05/26 (Thu) 13:01:30

46本目、お買い上げありがとうございます。

132 名前: 片山博文MZ◆NveQN6OtcI

2016/06/15 (Wed) 16:25:05

47本目、お買い上げありがとうございます。

133 名前: 片山博文MZ◆NveQN6OtcI

2016/06/29 (Wed) 16:35:50

48本目、お買い上げありがとうございます。

134 名前: 片山博文MZ◆NveQN6OtcI

2016/08/04 (Thu) 08:48:35

49本目、お買い上げありがとうございます。

135 名前: 片山博文MZ◆NveQN6OtcI

2016/08/16 (Tue) 08:46:44

50本目、お買い上げありがとうございます。

136 名前: 片山博文MZ◆NveQN6OtcI

2016/08/31 (Wed) 10:52:24

51本目、お買い上げありがとうございます。

137 名前: 片山博文MZ◆NveQN6OtcI

2016/09/03 (Sat) 21:46:53

52本目、お買い上げありがとうございます。

138 名前: 片山博文MZ◆NveQN6OtcI

2016/09/07 (Wed) 12:39:11

53本目、お買い上げありがとうございます。

139 名前: 片山博文MZ◆NveQN6OtcI

2016/10/05 (Wed) 17:17:50

54本目、お買い上げありがとうございます。

140 名前: 片山博文MZ◆NveQN6OtcI

2016/10/24 (Mon) 16:41:23

55本目、お買い上げありがとうございます。

141 名前:片山博文MZ◆NveQN6OtcI

2016/10/25 (Tue) 17:29:48

56本目、お買い上げありがとうございます。

142 名前: 片山博文MZ◆NveQN6OtcI

2016/10/28 (Fri) 19:52:24

57本目、お買い上げありがとうございます。

143 名前: 片山博文MZ◆NveQN6OtcI

2016/11/18 (Fri) 19:52:47

58本目、お買い上げありがとうございます。

144 名前: 片山博文MZ◆NveQN6OtcI

2016/12/09 (Fri) 14:50:21

59本目、お買い上げありがとうございます。

145 名前: 片山博文MZ◆NveQN6OtcI

2016/12/09 (Fri) 17:46:49

XScreenSaverWin 0.81がベクターからダウンロード可能になりました。

http://www.vector.co.jp/soft/winnt/amuse/se508609.html

146 名前: 片山博文MZ◆NveQN6OtcI

2016/12/27 (Tue) 19:00:14

60本目、お買い上げありがとうございます。

147 名前: 片山博文MZ◆NveQN6OtcI

2017/01/03 (Tue) 11:41:54

61本目、お買い上げありがとうございます。

148 名前: 片山博文MZ◆NveQN6OtcI

2017/01/15 (Sun) 21:14:12

62本目、お買い上げありがとうございます。

149 名前: 片山博文MZ◆NveQN6OtcI

2017/01/18 (Wed) 19:15:08

63本目、お買い上げありがとうございます。

150 名前: 片山博文MZ◆NveQN6OtcI

2017/01/30 (Mon) 11:55:48

64本目、お買い上げありがとうございます。

151 名前: 片山博文MZ◆NveQN6OtcI

2017/02/10 (Fri) 19:58:25

65本目、お買い上げありがとうございます。

152 名前:片山博文MZ◆NveQN6OtcI

2017/03/23 (Thu) 21:07:57

66本目、お買い上げありがとうございます。

153 名前:片山博文MZ◇NveQN6OtcI

2017/03/24 (Fri) 12:37:40

クロスワードギバー3.3をリリース致しました。
ビルド設定が間違っていたのを修正致しました。
http://katahiromz.web.fc2.com/xword/
XPでも動作するようになっています。

154 名前:片山博文MZ◆NveQN6OtcI

2017/03/27 (Mon) 01:14:38

67本目、お買い上げありがとうございます。

155 名前:片山博文MZ◆NveQN6OtcI

2017/03/27 (Mon) 17:54:59

ベクターから3.3がダウンロード可能になりました。

156 名前:片山博文MZ◆NveQN6OtcI

2017/04/11 (Tue) 00:58:38

68本目、お買い上げありがとうございます。

157 名前:片山博文MZ◆NveQN6OtcI

2017/05/11 (Thu) 11:34:35

69本目、お買い上げありがとうございます。

158 名前:片山博文MZ◆NveQN6OtcI

2017/05/25 (Thu) 11:37:29

70本目、お買い上げありがとうございます。

159 名前:片山博文MZ◆NveQN6OtcI

2017/05/27 (Sat) 11:07:35

71本目、お買い上げありがとうございます。

160 名前:片山博文MZ◆NveQN6OtcI

2017/06/12 (Mon) 18:28:44

72本目、お買い上げありがとうございます。

161 名前:片山博文MZ◆NveQN6OtcI

2017/07/18 (Tue) 12:49:54

73本目、お買い上げありがとうございます。

162 名前:片山博文MZ◆NveQN6OtcI

2017/07/25 (Tue) 13:28:18

74本目、お買い上げありがとうございます。

163 名前:片山博文MZ◆NveQN6OtcI

2017/08/16 (Wed) 13:42:36

75本目、お買い上げありがとうございます。

  • 名前: E-mail(省略可):
  • 画像:
XScreenSaverWin
1 名前: 片山博文MZ◆NveQN6OtcI

2016/03/31 (Thu) 14:10:44

スクリーンセーバー集のXScreenSaverWinに関するスレッドです。

公式サイト:http://katahiromz.web.fc2.com/xscreensaverwin/ja
購入方法:http://katahiromz.web.fc2.com/xscreensaverwin/ja/buy.html

2 名前: 片山博文MZ◆NveQN6OtcI

2016/03/31 (Thu) 14:12:57

1本目、ご購入ありがとうございます。

3 名前: 片山博文MZ◆NveQN6OtcI

2016/04/06 (Wed) 09:08:18

2本目、ご購入ありがとうございます。

4 名前: 片山博文MZ◆NveQN6OtcI

2016/04/23 (Sat) 13:20:43

3本目、ご購入ありがとうございます。

5 名前: 片山博文MZ◆NveQN6OtcI

2016/05/05 (Thu) 12:57:10

4本目、ご購入ありがとうございます。

6 名前: 片山博文MZ◆NveQN6OtcI

2016/06/14 (Tue) 20:20:06

5本目、ご購入ありがとうございます。

7 名前: 片山博文MZ◆NveQN6OtcI

2016/06/27 (Mon) 18:13:54

6本目、ご購入ありがとうございます。

8 名前: 片山博文MZ◆NveQN6OtcI

2016/07/02 (Sat) 10:56:00

7本目、ご購入ありがとうございます。

9 名前: 片山博文MZ◆NveQN6OtcI

2016/07/09 (Sat) 05:02:58

8本目、ご購入ありがとうございます。

10 名前: 片山博文MZ◆NveQN6OtcI

2016/07/14 (Thu) 13:19:25

9本目、ご購入ありがとうございます。

11 名前: 片山博文MZ◆NveQN6OtcI

2016/07/30 (Sat) 06:47:11

10本目、ご購入ありがとうございます。

12 名前: 片山博文MZ◆NveQN6OtcI

2016/08/10 (Wed) 07:48:26

11本目、ご購入ありがとうございます。

13 名前: 片山博文MZ◆NveQN6OtcI

2016/08/11 (Thu) 17:46:41

12本目、ご購入ありがとうございます。

14 名前: 片山博文MZ◆NveQN6OtcI

2016/08/13 (Sat) 14:17:28

13本目、ご購入ありがとうございます。

15 名前: 片山博文MZ◆NveQN6OtcI

2016/08/15 (Mon) 10:55:00

14本目、ご購入ありがとうございます。

16 名前:片山博文MZ◆NveQN6OtcI

2016/09/03 (Sat) 10:16:37

15本目、ご購入ありがとうございます。

17 名前: 片山博文MZ◆NveQN6OtcI

2016/09/21 (Wed) 02:04:27

16本目、ご購入ありがとうございます。
17本目、ご購入ありがとうございます。

18 名前: 片山博文MZ◆NveQN6OtcI

2016/10/07 (Fri) 21:48:22

18本目、ご購入ありがとうございます。

19 名前: 片山博文MZ◆NveQN6OtcI

2016/10/23 (Sun) 08:09:01

19本目、ご購入ありがとうございます。

20 名前: 片山博文MZ◆NveQN6OtcI

2016/10/27 (Thu) 06:27:19

20本目、ご購入ありがとうございます。

21 名前: 片山博文MZ◆NveQN6OtcI

2016/11/01 (Tue) 16:03:23

21本目、ご購入ありがとうございます。

22 名前: 片山博文MZ◆NveQN6OtcI

2016/11/07 (Mon) 16:53:14

22本目、ご購入ありがとうございます。

23 名前: 片山博文MZ◆NveQN6OtcI

2016/11/10 (Thu) 22:31:02

23本目、ご購入ありがとうございます。

24 名前: 片山博文MZ◆NveQN6OtcI

2016/11/19 (Sat) 06:18:54

24本目、ご購入ありがとうございます。

25 名前: 片山博文MZ◆NveQN6OtcI

2016/11/22 (Tue) 15:27:52

25本目、ご購入ありがとうございます。

26 名前: 片山博文MZ◆NveQN6OtcI

2016/12/05 (Mon) 15:42:36

26本目、ご購入ありがとうございます。

27 名前:片山博文MZ◆NveQN6OtcI

2016/12/06 (Tue) 14:40:23

0.81にバージョンアップしました。
randomセーバーが改良されています。

28 名前: 片山博文MZ◆NveQN6OtcI

2017/01/01 (Sun) 06:38:38

27本目、ご購入ありがとうございます。

29 名前: 片山博文MZ◆NveQN6OtcI

2017/01/02 (Mon) 22:23:17

28本目、ご購入ありがとうございます。

30 名前: 片山博文MZ◆NveQN6OtcI

2017/01/19 (Thu) 14:48:36

29本目、ご購入ありがとうございます。

31 名前: 片山博文MZ◆NveQN6OtcI

2017/02/02 (Thu) 17:23:22

30本目、ご購入ありがとうございます。

32 名前: 片山博文MZ◆NveQN6OtcI

2017/02/08 (Wed) 18:37:00

31本目、ご購入ありがとうございます。

33 名前:片山博文MZ◆NveQN6OtcI

2017/03/19 (Sun) 18:35:46

32本目、ご購入ありがとうございます。

34 名前:片山博文MZ◆NveQN6OtcI

2017/03/21 (Tue) 07:29:40

33本目、ご購入ありがとうございます。

35 名前:片山博文MZ◆NveQN6OtcI

2017/04/05 (Wed) 04:39:54

34本目、ご購入ありがとうございます。

36 名前:片山博文MZ◆NveQN6OtcI

2017/04/29 (Sat) 23:10:17

35本目、ご購入ありがとうございます。

37 名前:片山博文MZ◆NveQN6OtcI

2017/05/23 (Tue) 14:56:37

36本目、ご購入ありがとうございます。

38 名前:片山博文MZ◆NveQN6OtcI

2017/05/25 (Thu) 07:43:53

37本目、ご購入ありがとうございます。

39 名前:片山博文MZ◆NveQN6OtcI

2017/06/02 (Fri) 15:10:02

38本目、ご購入ありがとうございます。

40 名前:片山博文MZ◆NveQN6OtcI

2017/06/20 (Tue) 13:58:35

39本目、ご購入ありがとうございます。

41 名前:片山博文MZ◆NveQN6OtcI

2017/06/27 (Tue) 23:07:54

40本目、ご購入ありがとうございます。

42 名前:片山博文MZ◆NveQN6OtcI

2017/06/29 (Thu) 05:21:00

41本目、ご購入ありがとうございます。

43 名前:片山博文MZ◆NveQN6OtcI

2017/08/02 (Wed) 12:46:06

42本目、ご購入ありがとうございます。

  • 名前: E-mail(省略可):
  • 画像:
プログラムの作成について
1 名前:佐藤一郎

2017/06/22 (Thu) 15:37:28

for文とif文を使って1から200までの整数に対して、7の倍数の合計を求めるプログラムを作りたいのですが、わからなくて困っています。よろしくお願いします。

2 名前:片山博文MZ◆NveQN6OtcI

2017/06/22 (Thu) 15:44:28

7の倍数は7で割りきれる。C言語で書くとn % 7 == 0だ。
forループの中でifで場合分けしてint sum = 0に加算していけば良いだろう。

  • 名前: E-mail(省略可):
  • 画像:
片山博文MZの新着情報
1 名前: 片山博文MZ◆NveQN6OtcI

2015/09/07 (Mon) 09:54:02

アントマンが世界を変える! このスレッドでは、片山博文MZの最近の活動と最新情報について書きます。

63 名前: 片山博文MZ◆NveQN6OtcI

2016/12/01 (Thu) 16:52:13

パソコンは音楽が楽しめる音楽プレーヤーである。
パソコンは映画が楽しめるDVDプレーヤーである。
パソコンはインターネットが楽しめる通信機器である。
パソコンは写真を保存するアルバムである。
パソコンはチューリング完全性が保証するあらゆる計算ができる計算機であり、電卓でもある。
パソコンは容量が許す限り記録できるノートブックである。
パソコンは知能や人格を持つことができる話し相手である。

64 名前:全知全能の神を遥かに超えた存在

2016/12/01 (Thu) 18:37:21

片山さんが考える最強のキャラとは何ですか?詳しく教えてください。

65 名前: 片山博文MZ◆NveQN6OtcI

2016/12/02 (Fri) 17:08:52

私は宇宙の帝王ザカリテ。グロアールある限り貴様らごときに倒されはせん。

66 名前:全知全能の神を遥かに超えた存在

2016/12/02 (Fri) 22:02:55

コンピュータ・ソフトウェアの全ての分野に関して詳しくなりたいのですが、
それを実現する手っ取り早い方法はありますか?

67 名前: 片山博文MZ◆NveQN6OtcI

2016/12/02 (Fri) 22:08:29

まずは、情報系の大学図書館へ行って、入門書を読みまくれ。

68 名前: 片山博文MZ◆NveQN6OtcI

2016/12/02 (Fri) 22:13:44

ただし、基礎学力がないと理解できず、無駄になる。

69 名前:全知全能の神を遥かに超えた存在

2016/12/02 (Fri) 22:15:14

基礎学力ってどの程度の学力のことですか?

70 名前: 片山博文MZ◆NveQN6OtcI

2016/12/02 (Fri) 22:21:57

入門書は高校レベルだ。専門書は大学レベル。君が学生ならば、基礎学力と社会的地位(大卒以上)を獲得するために努力すべきだ。

71 名前:全知全能の神を遥かに超えた存在

2016/12/03 (Sat) 17:18:02

「究極」=「無」
「無」=「究極」

ですか?

72 名前: 片山博文MZ◆NveQN6OtcI

2016/12/03 (Sat) 17:30:47

究極という言葉そのものには無という意味はない。国語辞書を参照せよ。

きゅうきょく [究極・窮極][名・自サ変]物事をつきつめて,きわまること。また,そうして最後に到達する所。

73 名前:全知全能の神を遥かに超えた存在

2016/12/03 (Sat) 18:05:06

オムニバースに値段を付けるとしたら、幾らぐらいになるのでしょうか?

74 名前: 片山博文MZ◆NveQN6OtcI

2016/12/03 (Sat) 18:14:35

それは私の専門ではない。

75 名前:全知全能の神を遥かに超えた存在

2016/12/03 (Sat) 18:26:56

妄想の世界と現実の世界はどっちの方が広大ですか?

76 名前: 片山博文MZ◆NveQN6OtcI

2016/12/03 (Sat) 18:39:20

私が君の質問に答えても1円の得にもならないではないか。
自分で考えて自分の本にして出版しなさい。

77 名前:全知全能の神を遥かに超えた存在

2016/12/03 (Sat) 18:53:54

YouTubeに動画を投稿して金を儲けたいと考えているのですが、
再生回数が多くなる動画を作る方法・コツなどを教えてください。
あと、できれば最低でも月50万円以上稼ぎたいのですが、
再生回数がどのくらいの動画を何本ぐらい作れば、月50万円以上稼げるのでしょうか?

78 名前: 片山博文MZ◆NveQN6OtcI

2016/12/03 (Sat) 19:00:12

「超人気動画」
「ユーチューバー 収入」で検索。

79 名前:全知全能の神を遥かに超えた存在

2016/12/03 (Sat) 22:36:28

東京大学理学部数学科(数学科が無理そうなら情報科学科)に入りたいのですが、
ここに入ってちゃんと講義についていき、卒業まで辿り着けるようにするには、
どの程度の学力が無いと駄目ですか?

80 名前: 片山博文MZ◆NveQN6OtcI

2016/12/03 (Sat) 22:45:08

進路指導の先生に訊きなさい。

81 名前:全知全能の神を遥かに超えた存在

2016/12/03 (Sat) 23:09:26

コンピュータ・ソフトウェアの分野で、もの凄く金になりそうな分野は何ですか?

82 名前: 片山博文MZ◆NveQN6OtcI

2016/12/04 (Sun) 21:52:35

Web、金融、医療

83 名前: 片山博文MZ◆NveQN6OtcI

2016/12/05 (Mon) 18:46:45

「鉄壁のセキュリティ 0.6」がベクターからダウンロード可能になりました。

84 名前:全知全能の神を遥かに超えた存在

2016/12/12 (Mon) 23:14:18

計算機科学と法学ってどっちの方が難しいのですか?

85 名前: 片山博文MZ◆NveQN6OtcI

2016/12/13 (Tue) 21:52:52

法学は国語、自然言語処理により人工知能でも理解できるが、弁護士などの法律家になるには記憶すべきことが膨大だ。
情報科学は数学とデジタルの素養が要求される。どちらが難しいということはできず、好き嫌いが分かれる処だろう。

86 名前:全知全能の神を遥かに超えた存在

2016/12/13 (Tue) 22:06:51

データベーススペシャリストとネットワークスペシャリストの資格試験に合格するのって難しいのでしょうか?
難易度はどれくらいなのでしょうか?
数学的な問題も出るのでしょうか?

87 名前: 片山博文MZ◆NveQN6OtcI

2016/12/13 (Tue) 22:12:56

どこかの本に書いてあるだろう。俺に訊くな。

88 名前:全知全能の神を遥かに超えた存在

2016/12/13 (Tue) 22:23:49

コンピュータとかソフトウェアに詳しくなりたかったら、やはり、情報系の資格をいっぱい取るべきなのでしょうか?
それとも、資格より、大学に行って情報系の勉強をした方が良いのでしょうか?
どうなんでしょうか?

89 名前: 片山博文MZ◆NveQN6OtcI

2016/12/13 (Tue) 22:35:29

可能なら両方やれ。できないならやるな。どうせできることは限られている。少なくとも何になりたいのか、そのためにどんな自分が必要なのか。

とりあえず、小さな目標を立てろ。日々それを達成して行け。毎日収穫無しなら、飢えてシんでしまうだろう。

90 名前: 片山博文MZ◆NveQN6OtcI

2016/12/13 (Tue) 22:45:04

ソフトウェアに詳しくなりたいなら、まずは有名どころの開発環境を構築して実際に簡単なプログラムを作ってみなさい。
複雑なプログラムは簡単なプログラムを部品のように組み合わせて改良を重ねたものだ。
一ヶ月経っても簡単なプログラムも作れないなら、才能がないのであきらめろ。

91 名前: 片山博文MZ◆NveQN6OtcI

2016/12/13 (Tue) 23:01:11

目標に向かって最短距離で進むのも良いが、周りを寄り道して初めて発見できるものも在る。それも人生のほろ苦さ。プロになるなら、資格と実力は両方ないといけない。そうしないとエセプロの詐欺師になってしまう。

92 名前:全知全能の神を遥かに超えた存在

2016/12/19 (Mon) 02:21:15

アレクサインターネットというサイトがあるのですが、あのようなサイトは、どうやって作るのでしょうか?
どうやらウェブ巡回技術なるものを使っているらしいのですが・・・。

93 名前: 片山博文MZ◆NveQN6OtcI

2016/12/19 (Mon) 06:26:05

「スクレイピング」で検索。

94 名前:全知全能の神を遥かに超えた存在

2016/12/19 (Mon) 09:01:12

「空間」は無限に続いていますか?

95 名前: 片山博文MZ◆NveQN6OtcI

2016/12/20 (Tue) 04:52:40

有限の空間があれば無限の空間もある。宇宙は人間にとっては無限の空間だ。

96 名前:全知全能の神を遥かに超えた存在

2016/12/21 (Wed) 02:04:11

コンピュータ・ソフトウェアの最先端技術を駆使して、全知全能の神を遥かに超えた存在を創造することは可能ですか?

97 名前:全知全能の神を遥かに超えた存在

2016/12/23 (Fri) 16:10:11

片山博文さんが興味のある学問は何ですか?
また、その学問について勉強しようと思いますか?

98 名前: 片山博文MZ◆NveQN6OtcI

2016/12/24 (Sat) 22:27:40

学問のことなら人工知能の研究をしたいが、現実の問題を解決する応用技術もやらないといけない。今はReactOSでボランティアで働いている。

99 名前: 片山博文MZ◆NveQN6OtcI

2017/01/26 (Thu) 22:02:12

サイドビジネスやりながら、ReactOSでテスターやってます。

100 名前: 片山博文MZ◆NveQN6OtcI

2017/02/05 (Sun) 21:38:44

ReactOSのフォルダオプションの実装に貢献しました(CORE-12540)。やったね!

101 名前: 片山博文MZ◆NveQN6OtcI

2017/02/26 (Sun) 22:43:35

ReactOSのフォントシステムの改良に貢献しました。
https://jira.reactos.org/browse/CORE-6621

HTML5の研究を始めました。

102 名前:森田

2017/03/27 (Mon) 09:55:47

ReactOSで使いたいのですが
Nihongo micro gnu emacs Ng サポートページ
ttp://tt.sakura.ne.jp/~amura/ng/
をbccでmakeしたいのですが方法がわからないので
ご教授お願いします。

103 名前:片山博文MZ◆NveQN6OtcI

2017/03/27 (Mon) 12:32:31

>>102
Ng 1.4.3 全ソースコードをダウンロードし、展開する。
Ng 1.4.3 Win32 版 Borland C 対応 patchをダウンロードし、GNU patchというプログラムをコマンドプロンプトから実行し、パッチを当てる。
makefileを使ってビルド。

104 名前:102

2017/03/28 (Tue) 00:47:18

私の環境がpotableの環境なのでmgbc.makのBCPATHを書き換えたら
make -f ngbc.mak clean
make -f ngbc.mak
でmake出来ましたご教授ありがとうございました。

105 名前:片山博文MZ◆NveQN6OtcI

2017/03/29 (Wed) 13:43:51

リソースエディタEditResの開発を続けています。
https://github.com/katahiromz/EditRes
https://twitter.com/katahiromz/status/846944123135365123

106 名前:片山博文MZ◆NveQN6OtcI

2017/04/02 (Sun) 16:54:15

リソースエディタを作っています。。。
https://github.com/katahiromz/EditRes
https://twitter.com/katahiromz/status/848416633995501568

107 名前:片山博文MZ◆NveQN6OtcI

2017/04/07 (Fri) 00:29:21

ファイルのアップロードに使っているワンドライブからダウンロードするのに、現在の設定では、ワンドライブへのログインが必要みたいです。ダウンロードに不便なので、近い内に可能ならば修正します。

108 名前:片山博文MZ◆NveQN6OtcI

2017/04/07 (Fri) 00:52:52

ホームページに何か問題点などありましたら、遠慮せずにご報告下さい。あなたの意見が改良につながります。

109 名前:片山博文MZ◆NveQN6OtcI

2017/04/07 (Fri) 13:21:46

ダウンロードリンクを修正しました。OneDriveから直接ダウンロードできます。

110 名前:片山博文MZ◆NveQN6OtcI

2017/04/22 (Sat) 14:13:24

Windows システム分析ツール「DevilAnalyze」Ver 1.4を公開致しました。
ソフトウェア開発者の皆さん、世界平和のためにご活用下さい。
http://katahiromz.web.fc2.com/devana

111 名前:片山博文MZ◆NveQN6OtcI

2017/05/12 (Fri) 17:30:53

https://twitter.com/katahiromz/status/862946355496443904
https://github.com/katahiromz/RisohEditor
現在、「理想エディター」というリソースエディタを
開発中です。メニューリソースが編集できるようになりました。

112 名前:片山博文MZ◆NveQN6OtcI

2017/05/18 (Thu) 22:55:22

https://www.reactos.org/project-news/reactos-045-released
ReactOSのフォントエンジンの改良に貢献しました。

  • 名前: E-mail(省略可):
  • 画像:
ソフト開発依頼はこちら
1 名前: 片山博文MZ◆NveQN6OtcI

2014/04/16 (Wed) 01:07:52

Windowsソフトウェアの開発の依頼をお待ちしております。忙しい時は対応できないのでご了承下さい。

2 名前:none

2014/11/12 (Wed) 01:35:08

ここは有料だったりするのかな。
cubicgridスクリーンセーバー(元xscreensaver)の左下に時計を追加したバージョンが欲しいです。
フォント、サイズ、位置を設定出来れば尚嬉しいです。

3 名前:片山博文MZ◆NveQN6OtcI

2014/11/12 (Wed) 12:36:25

できました。
http://katahiromz.web.fc2.com/xscreensaverwin/cubicgridclock.scr

4 名前:none

2014/11/12 (Wed) 21:40:14

素早い対応有難うございます。
昔からxscreensaverをWindowsで使いたくて、xscreensaver for windowsを見つけた時は感動しました。
今回の件も含めて、願ったり叶ったりです。本当に感謝しております。

5 名前: 片山博文MZ◆NveQN6OtcI

2014/12/17 (Wed) 22:00:47

661: 【重要】 [] 2014/11/26(水) 21:50:11.38 ID:0gGIykAv

おい片山。暇だろ。
起動一発でTポイントの第三者提供拒否設定するプログラム作れ。
リストが更新されるたびにブラウザ開いて設定するの面倒だ。

http://peace.2ch.net/test/read.cgi/tech/1406986967/661

6 名前:片山博文MZ◆NveQN6OtcI

2014/12/22 (Mon) 16:08:46

>>5
ギブアップしました。

7 名前:none

2015/06/24 (Wed) 17:28:27

前回依頼した者です。
使用上問題は無いと言えば無いのですが、
テキストサイズを大きく設定する(150、200etc)と非常に重くなり、表示もチラつきます。
全体的に軽量化することは出来ませんか?

8 名前: 片山博文MZ◆NveQN6OtcI

2015/06/24 (Wed) 19:11:56

申し訳ありませんが、これ以上軽くすることはできません。

9 名前: 片山博文MZ◆NveQN6OtcI

2015/06/24 (Wed) 19:15:48

多分、フォントの生成や破棄の回数を減らせば高速化できると思いますが、現在、時間がありません。

10 名前: 片山博文MZ◆NveQN6OtcI

2015/06/29 (Mon) 20:04:49

>>7
Win7 64bitでMS Gothic 200などにしてみましたが、特にちらつきなどはなく、問題はありませんでした。そちらのPCの性能不足かと思われます。

11 名前:ななし2

2016/11/22 (Tue) 11:20:50

依頼ではないですが、逆コンパイラは挫折ですか?
JavaやC#のようなVMとかインタプリタで動かす中間ファイルに対しての逆コンパイルはできますが、
C/C++で作られた実行ファイルは理論上できないと思います。

12 名前:片山博文MZ◆NveQN6OtcI

2016/11/22 (Tue) 14:34:44

>>11
REC Studioというソフトがありますので、そちらをお使い下さい。

REC Studio
http://www.backerstreet.com/rec/rec.htm

  • 名前: E-mail(省略可):
  • 画像:
ひらがな電卓Calc-Hについて
1 名前:片山博文MZ◆NveQN6OtcI

2014/05/29 (Thu) 17:28:52

ひらがな電卓、作ったよ!!!

「ひらがな電卓Calc-H」
http://katahiromz.web.fc2.com/calc-h/

ご要望、不具合報告などを受け付けています。

2 名前: 片山博文MZ◆NveQN6OtcI

2014/05/31 (Sat) 23:07:03

流石にひらがなだけだと検索にかからないようだな

3 名前:片山博文MZ◆NveQN6OtcI

2014/06/01 (Sun) 17:54:38

Calc-Hに改名しました。小数をサポートしました。

4 名前:新参者

2014/06/02 (Mon) 02:26:11

VS2013で試そうとしたら
HParser.hが見つからない
と出ます。

5 名前: 片山博文MZ◆NveQN6OtcI

2014/06/02 (Mon) 14:01:51

>>4
ビルドにはjonigataさんの最新のパーサジェネレータCaperが必要です。jonigataさんのGitHubからダウンロードして下さい。

caper HParser.cpg HParser.h

6 名前: 片山博文MZ◆NveQN6OtcI

2014/06/02 (Mon) 14:11:54

ビルド方法はHowToBuild.txtに書いてありますよ。

7 名前:片山博文MZ◆NveQN6OtcI

2014/06/05 (Thu) 18:57:29

ver.0.4.1にバージョンアップしました。

8 名前:片山博文MZ◆NveQN6OtcI

2014/06/14 (Sat) 13:13:04

ひらがな電卓

0.5.0にバージョンアップしました!!!!
http://katahiromz.web.fc2.com/calc-h/

9 名前:片山博文MZ◆NveQN6OtcI

2014/06/16 (Mon) 13:56:50

0.5.3にバージョンアップ!!!!

http://katahiromz.web.fc2.com/calc-h/

10 名前: 片山博文MZ◆NveQN6OtcI

2014/06/18 (Wed) 01:30:27

窓の杜に掲載されました。

http://www.forest.impress.co.jp/docs/review/20140617_653760.html

11 名前:片山博文MZ◆NveQN6OtcI

2014/06/19 (Thu) 10:41:41

0.5.5にバージョンアップしました。
いくつかバグ修正されています。

http://katahiromz.web.fc2.com/calc-h/

12 名前:片山博文MZ◆NveQN6OtcI

2014/06/30 (Mon) 12:12:53

0.5.9にバージョンアップしました。

13 名前:片山博文MZ◆NveQN6OtcI

2014/07/04 (Fri) 12:02:20

0.6.2にバージョンアップしました。

14 名前:片山博文MZ◆NveQN6OtcI

2014/07/11 (Fri) 14:49:42

0.6.3にバージョンアップしました。

15 名前: 片山博文MZ◆NveQN6OtcI

2014/07/13 (Sun) 16:11:08

実戦では漢字に変換する時間がないから、ひらがな入力にするしかないんだよなあ。

16 名前:片山博文MZ◆NveQN6OtcI

2014/07/17 (Thu) 15:18:49

v0.6.9!!!
簡単な質問に答えられるようになった!!!
http://katahiromz.web.fc2.com/calc-h/

17 名前: 片山博文MZ◆NveQN6OtcI

2014/07/17 (Thu) 19:45:16

「なんですか」を正しく処理できない不具合があるようです。次のリリースで修正します。

18 名前: 片山博文MZ◆NveQN6OtcI

2014/07/17 (Thu) 20:33:43

この恵まれた環境で人工知能1つ完成できないなら、最高の頭脳とは嘘っぱちだ、この種は1代で終わりにしよう。

19 名前: 片山博文MZ◆NveQN6OtcI

2014/07/17 (Thu) 20:56:51

テストを自動化してバグが混入しないようにするぜぇ!!!

20 名前: 片山博文MZ◆NveQN6OtcI

2014/07/22 (Tue) 16:13:17

ひらがな電卓の心臓部はRubyで書き直される予定です。

21 名前:片山博文MZ◆NveQN6OtcI

2014/07/24 (Thu) 14:11:35

0.7.0にバージョンアップしました。

22 名前: 片山博文MZ◆NveQN6OtcI

2014/08/02 (Sat) 13:11:38

0.7.2にバージョンアップしました。

23 名前:片山博文MZ◆NveQN6OtcI

2014/09/08 (Mon) 11:09:33

0.8.0にバージョンアップしました。

24 名前:片山博文MZ◆NveQN6OtcI

2014/09/08 (Mon) 12:17:12

マイナスの数の割り算に不具合が見つかりました。次のリリースで修正します。

25 名前:片山博文MZ◆NveQN6OtcI

2014/09/16 (Tue) 17:27:36

0.8.1に更新しました。割り算の不具合が修正されています。
約数や倍数などの概念を理解しています。

26 名前:片山

2014/09/16 (Tue) 21:22:01

何の為に

ひらがな で計算する必要があるのですか?

27 名前: 片山博文MZ◆NveQN6OtcI

2014/09/16 (Tue) 23:53:23

漢字は入力変換が必要で、アクセス可能性に問題がある。普通の数式は人工言語であり、数式の入力は、記号めいていて苦手な人が多い。ひらがなの計算式は、自然言語に近く、小学生でも入力できる。

28 名前:片山

2014/09/18 (Thu) 07:58:48

>>27

2 + 2 = 4

いちいち

にたすにわ

とか入力するの?タイプ数が数字の方が楽かと思いますが

29 名前: 片山博文MZ◆NveQN6OtcI

2014/09/18 (Thu) 10:14:12

ひらがなではない普通の計算式も入力できるから問題ない。

30 名前:片山博文MZ◆NveQN6OtcI

2014/09/25 (Thu) 13:18:00

v0.8.2にバージョンアップしました。

31 名前: 片山博文MZ◆NveQN6OtcI

2014/09/27 (Sat) 12:31:00

v0.8.5にバージョンアップしました。

32 名前: 片山博文MZ◆NveQN6OtcI

2014/09/30 (Tue) 13:03:05

企業からのしょーひん化を受け付けております。早い者勝ちです。

33 名前:片山博文MZ◆NveQN6OtcI

2014/12/22 (Mon) 16:42:09

しょーひん化の受付は終了しました。

34 名前: 片山博文MZ◆NveQN6OtcI

2016/04/07 (Thu) 14:47:33

電卓から声が出る! 新しいひらがな電卓、試してみてね http://katahiromz.web.fc2.com/calc-h

35 名前: 片山博文MZ◆NveQN6OtcI

2016/04/11 (Mon) 18:18:59

0.8.8がベクターからダウンロード可能です。
http://www.vector.co.jp/soft/winnt/personal/se512950.html

  • 名前: E-mail(省略可):
  • 画像:
この掲示板について
1 名前: 片山博文MZ

2011/03/24 (Thu) 15:30:40

片山博文MZが配布するソフト・プログラムなどに関する掲示板です。関係のない話題などは削除されます。また、禁止ワードが設定されています。適切にご利用ください。

ホームページはこちらです:
http://katahiromz.web.fc2.com/

28 名前:片山博文MZ◆NveQN6OtcI

2014/03/27 (Thu) 13:39:44

MZ KeyLoggerを2.5にバージョンアップしました。IE11に対応しました。

29 名前:片山博文MZ◆NveQN6OtcI

2014/03/28 (Fri) 11:15:22

IE6でブラウザ履歴が出力されないバグがあるようです。

30 名前:田中直樹

2014/03/29 (Sat) 21:24:03

片山様 早い対応を御対応有り難う御座います。 IE11では全く問題なく動作しております。 

31 名前:片山博文MZ◆NveQN6OtcI

2014/04/01 (Tue) 15:19:07

MZ KeyLoggerを2.6にバージョンアップ。IE6対応。重複したアドレスは出力しないようになりました。

32 名前: 片山博文MZ◆NveQN6OtcI

2015/01/26 (Mon) 23:37:22

皆様、献血に御協力下さい!

33 名前: 片山博文MZ◆NveQN6OtcI

2015/05/24 (Sun) 23:18:05

現在、逆コンパイラーの開発に取り組んでおります。

34 名前:書けるかな?

2015/11/30 (Mon) 21:26:00

見てる?
元のプログラムでもFM音源っぽい音は出てるよね。
sample.cppだけ少し改造してみたよ。FM音源っぽい音とSSG音源っぽい音が同時に出てるはず。

#include "headers.h"
#include "YM2203.h"

#define CLOCK 22050
#define SAMPLERATE 44100

#define ALUT_STATIC
#include <AL/alut.h>

#if defined(_WIN32) && defined(_MSC_VER)
#pragma comment(lib, "OpenAL32.lib")
#pragma comment(lib, "alut.lib")
#endif

static const short table[5][10] = {
{58, 15, 0, 0, 0, 0, 0, 0, 0, 0},
{31, 12, 4, 10, 1, 32, 0, 12, 0, 0},
{31, 2, 4, 6, 15, 57, 3, 15, 1, 0},
{31, 12, 4, 6, 0, 30, 0, 1, 0, 0},
{31, 5, 7, 7, 2, 0, 2, 3, -1, 0},
};

int main(void) {
YM2203 ym;
int sec = 1;
ALuint buffers[1];
ALuint sources[1];
alutInit(NULL, NULL);
alGenBuffers(1, buffers);
alGenSources(1, sources);

YM2203_Timbre timbre(table);

FM_SAMPLETYPE *buf = new FM_SAMPLETYPE[sec * SAMPLERATE * 2];

memset(buf, 0, sizeof(FM_SAMPLETYPE) * sec * SAMPLERATE * 2);

ym.init(/*CLOCK*/8000000, SAMPLERATE);
ym.set_timbre(FM_CH1, &timbre);
ym.set_tone_or_noise(SSG_CH_A, TONE_MODE);
ym.set_volume(SSG_CH_A, 15);
ym.set_volume(FM_CH1, 15);

ym.set_pitch(FM_CH1, 4, KEY_C);
ym.set_pitch(SSG_CH_A, 4, KEY_E);

ym.note_on(FM_CH1);
ym.note_on(SSG_CH_A);
ym.mix(buf, SAMPLERATE/2);
ym.count(0.5 * 1000 * 1000);
ym.note_off(FM_CH1);
ym.note_off(SSG_CH_A);

ym.set_pitch(FM_CH1, 4, KEY_E);
ym.set_pitch(SSG_CH_A, 4, KEY_G);

ym.note_on(FM_CH1);
ym.note_on(SSG_CH_A);
ym.mix(buf+(SAMPLERATE * 2/2), SAMPLERATE/2);
ym.count(0.5 * 1000 * 1000);
ym.note_off(FM_CH1);
ym.note_off(SSG_CH_A);

alBufferData(buffers[0], AL_FORMAT_STEREO16, buf,
sizeof(FM_SAMPLETYPE) * sec * SAMPLERATE * 2,
SAMPLERATE);
alSourcei(sources[0], AL_BUFFER, buffers[0]);
alSourcePlay(sources[0]);
alutSleep(1.5);

alDeleteSources(1, sources);
alDeleteBuffers(1, buffers);
delete[] buf;
alutExit();
return 0;
} // main

もしシェアウェアに使うための質問だったなら、売り上げの半分よこしなさいよね。ウソだけど。

35 名前: 片山博文MZ◆NveQN6OtcI

2015/11/30 (Mon) 21:57:53

動作を確認しました。有り難うございます。報酬はAmazonギフト券1万円でいかがですか?

36 名前:書けるかな?

2015/11/30 (Mon) 23:40:35

実のところ、謝礼をもらえるほどの回答ではないですよね。
ym.initの第1パラメータの適切な値は数MHz程度だと思うけど、正確な数値は知らないし。(ここの数値に応じて、FM_PITCH_TABLEなんかにセットするべき値が変わってくるのだとは思うけど。)
音を鳴らすだけの場合にym.countが必要かどうかも知らないし。
alutSleepのパラメータが1.5じゃなくて1のままだと最後に変な音が鳴ったりするみたいだけど、OpenALやALUTの使い方の問題かもしれないので詳しく調べてないし。

37 名前:書けるかな?

2015/12/05 (Sat) 23:05:51

こちらの独自調査では、soundplayer.cppのdiff
19c19
< sec = float(length * (60.0 * 1.5 * 4 / 24)) / tempo;
---
> sec = float(length * (60.0 * 1.5 / 24)) / tempo;
21c21
< sec = float(length * (60.0 * 4 / 24)) / tempo;
---
> sec = float(length * (60.0 / 24)) / tempo;
126c126
< ym.mix(&data[isample], nsamples * 2);
---
> ym.mix(&data[isample * 2], nsamples);
166c166
< ym.mix(&data[isample], nsamples * 2);
---
> ym.mix(&data[isample * 2], nsamples);
247c247
< auto msec = uint32_t(goal * 1000.0 / 2);
---
> auto msec = uint32_t(goal * 1000.0);
でSOUND_TESTの音は良さそうだと思ったんだが。(今は使われてないけど、151行目も要修正だろうな)

38 名前: 片山博文MZ◆NveQN6OtcI

2015/12/06 (Sun) 12:11:30

有り難うございます。正常に動作しました。

残るはLFOが効かないという問題があります。特徴的なのは@15の音色です。BASICではNEW CMD:CMD PLAY "@15V15CDEFEDC"でUFOみたいな音が出ますが、このsoundplayerではエコーが掛かりません。BASICの音色データのLFO部分を解析して音源に書き込む必要があります。

39 名前:片山博文MZ◆NveQN6OtcI

2015/12/06 (Sun) 13:18:44

GitHubを更新しました。

40 名前:書けるかな?

2015/12/06 (Sun) 13:26:29

詳しくは知らないけど
・YM2608(OPNA)はハードウェアLFOを持っている
・YM2203(OPN)はハードウェアLFOを持っていない(?)
ということらしいので、もしOPN相当のエミュレーションになっていたらLFOが効かなくて当然かもしれない

41 名前:片山博文MZ◆NveQN6OtcI

2015/12/06 (Sun) 14:02:10

YM2203じゃなくてYM2608にした方がいいかな。

YM2203*は、http://d.hatena.ne.jp/licheng/20131207 を参考にして作ったんだけど、
これはLFOをサポート・再現していないようだ。

YM2203::set_timbreのときに、何かをwrite_regする必要があるみたい。

42 名前:片山博文MZ◆NveQN6OtcI

2015/12/06 (Sun) 14:07:24

BASICのLFOのパラメータとFM音源のLFOのパラメータは、単位が違うから、
何らかの変換が必要みたい。

43 名前: 片山博文MZ◆NveQN6OtcI

2015/12/06 (Sun) 16:57:05

「PC980186.shift-jis.txt.utf-8.txt」参照。
レジスタ$22, $B4〜$B6, $60〜$6Eが怪しい。

44 名前: 片山博文MZ◆NveQN6OtcI

2015/12/06 (Sun) 22:17:00

PC-8801にはハードLFOがなかったらしい。どおりでパラメータが違う訳だ。波形を直接加工する方が楽かも。

45 名前:書けるかな?

2015/12/06 (Sun) 23:52:49

PC-8801FA、MA等やサウンドボード2はOPNAだからハードウェアLFOあるはず。BASICから利用できるかどうかは知らない。
また、少しググると、OPN搭載の機種のN88BASICで CMD VOICE LFO というコマンドが使えるような記述が見つかる。これはOPNAのハードウェアLFOを制御するものではないと思うんだが、詳細は知らない。純粋にソフトウェアによるLFOか、あるいはLFO以外のためのハードウェア機能をLFOに利用しているのか。

46 名前:片山博文MZ◆NveQN6OtcI

2015/12/07 (Mon) 13:21:38

ファイル名:cmd_voice.zip
パスワード:passpass
http://drive.google.com/uc?export=view&id=0B3nA8ShVAS4OOEFTUWZGN3RtU3M

47 名前: 片山博文MZ◆NveQN6OtcI

2015/12/07 (Mon) 14:17:24

私の直感ではソフトウェアLFOでいいと思う。だが、LFO効果の詳しい仕様がないから、試行錯誤になるだろうね。

48 名前:書けるかな?

2015/12/08 (Tue) 20:52:35

もし自分がやるんだったら
YM2203.hのdiff
92,93c92,93
< void set_pitch(int ch, int octave, int key);
< void set_volume(int ch, int volume);
---
> void set_pitch(int ch, int octave, int key, int adj = 0);
> void set_volume(int ch, int volume, int adj = 0);

YM2203.cppのdiff
93c93
< void YM2203::set_pitch(int ch, int octave, int key) {
---
> void YM2203::set_pitch(int ch, int octave, int key, int adj) {
99c99
< ((FM_PITCH_TABLE[key] >> 8) & 0x07)
---
> (((FM_PITCH_TABLE[key]+adj) >> 8) & 0x07)
103c103
< data = (uint8_t)FM_PITCH_TABLE[key];
---
> data = (uint8_t)(FM_PITCH_TABLE[key]+adj);
122c122
< void YM2203::set_volume(int ch, int volume) {
---
> void YM2203::set_volume(int ch, int volume, int adj) {
137c137
< uint8_t attenate = uint8_t(uint8_t(15 - volume) * 3);
---
> uint8_t attenate = uint8_t(uint8_t(15 - volume) * 3 - adj);

で、あとは soundplayer.cpp の127行目あたりで一度に ym.mix(&data[isample * 2], nsamples); ってやるんじゃなくて「引数adjの部分を少し変化させて ym.set_pitch か ym.set_volume を呼び出してから ym.mix」の繰り返しで合計nsamples分の ym.mix 呼び出しをする、という感じかなあ。この部分をどう作るかがポイント。
あ、set_pitchやset_volumeの中では上限や下限を超えないかどうかのチェックも必要かもしれない。

固定の割合で音程だけ変化させる専用のテスト版を作ってみたら
soundplayer.cppのdiff
127c127,142
< ym.mix(&data[isample * 2], nsamples);
---
> {
> int adj_p = 0; // for pitch
> // int adj_v = 0; // for volume
> int unit;
> while(nsamples) {
> unit = SAMPLERATE/300;
> if (unit > nsamples) unit = nsamples;
> ym.mix(&data[isample * 2], unit);
> isample += unit;
> if (note.m_key != -1) {
> adj_p--;
> ym.set_pitch(ch, note.m_octave, note.m_key, adj_p);
> }
> nsamples -= unit;
> }
> }
129d143
< isample += nsamples;

こんな感じか。
あるいは、unitは音色パラメータに依存しない数値にして、adj_pやadj_vをintではなくfloatにして管理したほうが楽かな。

49 名前:書けるかな?

2015/12/09 (Wed) 23:49:04

soundplayer.cppの48行目あたり、if文の条件が成立した場合の
m_key = KEY_C;
はCじゃなくてBが正しい?
さらに、普通のMMLのオクターブ指定はO1からO8までだけど、FM音源のチップのオクターブ指定は0から7までのはずだから SOUND_TEST の
phrase->m_setting.m_octave = 4;
は4じゃなくて3にするべき? でもそうすると当然ながら今よりも音が低くなってしまうけど。

50 名前: 片山博文MZ◆NveQN6OtcI

2015/12/10 (Thu) 16:00:21

>>48
方向性としては間違っていないと思うが、LFOはwave formで指定される低周波波形を生成する必要があると思う。

51 名前: 片山博文MZ◆NveQN6OtcI

2015/12/10 (Thu) 16:02:34

>>49
音量は、CMD PLAYでもっと細かく指定できたと思う。

52 名前: 片山博文MZ◆NveQN6OtcI

2015/12/10 (Thu) 16:06:25

>>49
音楽記号のフラットは「半音下がる」だからそれでOK

53 名前: 片山博文MZ◆NveQN6OtcI

2015/12/10 (Thu) 16:08:45

>>49
そうだね。CLOCKをまた調整しないといけない。

54 名前: 片山博文MZ◆NveQN6OtcI

2015/12/11 (Fri) 23:15:46

スポポポーン

55 名前:書けるかな?

2015/12/16 (Wed) 21:13:41

LFOの音量変化はオペレータ毎にパラメータがあるんだね。前に書き込んだのでは対応できない。
自分には正解がわからんので何とも言えないけど、適当に作ってみた。変数名なんかも適当。真面目にデバッグしてない。
特に、LFOの振幅を決める式の仕様とか全然わからんから // TBD ってコメント付けた。
本気で88そっくりな音にするんなら、実機とエミュレータを駆使してデータを取るべきなのかな。私はやれないけど。

YM2203.h
92,93c92,93
< void set_pitch(int ch, int octave, int key);
< void set_volume(int ch, int volume);
---
> void set_pitch(int ch, int octave, int key, int adj = 0);
> void set_volume(int ch, int volume, int adj1 = 0, int adj2 = 0, int adj3 = 0, int adj4 = 0);

YM2203.cpp
93c93
< void YM2203::set_pitch(int ch, int octave, int key) {
---
> void YM2203::set_pitch(int ch, int octave, int key, int adj) {
99c99
< ((FM_PITCH_TABLE[key] >> 8) & 0x07)
---
> (((FM_PITCH_TABLE[key]+adj) >> 8) & 0x07)
103c103
< data = (uint8_t)FM_PITCH_TABLE[key];
---
> data = (uint8_t)(FM_PITCH_TABLE[key]+adj);
122c122
< void YM2203::set_volume(int ch, int volume) {
---
> void YM2203::set_volume(int ch, int volume, int adj1, int adj2, int adj3, int adj4) {
140c140
< data = ((m_fm_timbres[ch]->tl[OPERATOR_4] + attenate) & 0x7F);
---
> data = ((m_fm_timbres[ch]->tl[OPERATOR_4] + attenate - adj4) & 0x7F);
145c145
< data = ((m_fm_timbres[ch]->tl[OPERATOR_2] + attenate) & 0x7F);
---
> data = ((m_fm_timbres[ch]->tl[OPERATOR_2] + attenate - adj2) & 0x7F);
151c151
< data = ((m_fm_timbres[ch]->tl[OPERATOR_3] + attenate) & 0x7F);
---
> data = ((m_fm_timbres[ch]->tl[OPERATOR_3] + attenate - adj3) & 0x7F);
157c157
< data = ((m_fm_timbres[ch]->tl[OPERATOR_1] + attenate) & 0x7F);
---
> data = ((m_fm_timbres[ch]->tl[OPERATOR_1] + attenate - adj1) & 0x7F);


YM2203_Timbre.h
61a62
> uint8_t ams[OPERATOR_NUM]; // Amplitude Modulation Sensitivity (AMS)
[okamoto@koub

YM2203_Timbre.cpp
cpp YM2203_Timbre.cpp
27d26
< // [1-4][9] : ビブラート関係の設定は未対応
36a36,40
> // [1-4][9] : ビブラート関係の設定
> ams[OPERATOR_1] = (uint8_t)array[1][9];
> ams[OPERATOR_2] = (uint8_t)array[2][9];
> ams[OPERATOR_3] = (uint8_t)array[3][9];
> ams[OPERATOR_4] = (uint8_t)array[4][9];

soundplayer.cpp
9c9
< #define CLOCK 4000000
---
> #define CLOCK 8000000
13a14,133
> #define LFO_INTERVAL 150
>
> class LFOctrl {
> int m_waveform;
> int m_qperiod; // quarter of period
> int m_count;
> int m_phase; // 0, 1, 2 or 3
> float m_adj_p_max;
> float m_adj_v_max[4];
> float m_adj_p_diff;
> float m_adj_v_diff[4];
> public:
> float m_adj_p; // for pitch
> float m_adj_v[4]; // for volume
>
> public:
> LFOctrl() {
> }
>
> void init_for_timbre(YM2203_Timbre *p_timbre) {
> int i;
> m_waveform = p_timbre->waveForm;
> m_qperiod = (p_timbre->speed)?900*LFO_INTERVAL/(4*p_timbre->speed):0;
> //m_count = 0;
> m_phase = 0;
> m_adj_p_max = p_timbre->pmd * (float)p_timbre->pms / 2.0; // TBD
> for(i=0; i<4; i++) m_adj_v_max[i] = p_timbre->amd * (float)p_timbre->ams[i] / 2; // TBD
> init_for_phase(true);
> }
>
> void init_for_keyon(YM2203_Timbre *p_timbre) {
> if (p_timbre->sync) {
> m_phase = 0;
> init_for_phase();
> }
> }
>
> void increment() {
> int i;
> if (0 == m_qperiod) return;
> m_count++;
> if (m_count < m_qperiod) {
> m_adj_p += m_adj_p_diff;
> for(i=0; i<4; i++) m_adj_v[i] += m_adj_v_diff[i];
> }
> else {
> m_phase = (m_phase + 1) & 3;
> init_for_phase();
> }
> }
>
> private:
> void init_for_phase(bool flag_first = false) {
> int i;
> m_count = 0;
> if (flag_first) {
> switch (m_waveform) {
> case 0: // saw
> m_adj_p = 0;
> for(i=0; i<4; i++) m_adj_v[i] = 0;
> m_adj_p_diff = m_adj_p_max / (m_qperiod * 2);
> for(i=0; i<4; i++) m_adj_v_diff[i] = m_adj_v_max[i] / (m_qperiod * 2);
> break;
> case 1: // square
> m_adj_p = -m_adj_p_max;
> for(i=0; i<4; i++) m_adj_v[i] = -m_adj_v_max[i];
> m_adj_p_diff = 0;
> for(i=0; i<4; i++) m_adj_v_diff[i] = 0;
> break;
> case 2: // triangle
> m_adj_p = 0;
> for(i=0; i<4; i++) m_adj_v[i] = 0;
> m_adj_p_diff = m_adj_p_max / m_qperiod;
> for(i=0; i<4; i++) m_adj_v_diff[i] = m_adj_v_max[i] / m_qperiod;
> break;
> default: // sample and hold
> //m_adj_p = m_adj_p_max * (rand() * 2.0 / RAND_MAX - 1);
> //for(i=0; i<4; i++) m_adj_v[i] = m_adj_v_max[i] * (rand() * 2.0 / RAND_MAX - 1);
> m_adj_p_diff = 0;
> for(i=0; i<4; i++) m_adj_v_diff[i] = 0;
> break;
> }
> }
> switch (m_waveform) {
> case 0: // saw
> if (0 == m_phase) {
> m_adj_p = 0;
> for(i=0; i<4; i++) m_adj_v[i] = 0;
> }
> else if (2 == m_phase) {
> m_adj_p = -m_adj_p;
> for(i=0; i<4; i++) m_adj_v[i] = -m_adj_v[i];
> }
> break;
> case 1: // square
> if (0 == (m_phase & 1)) {
> m_adj_p = -m_adj_p;
> for(i=0; i<4; i++) m_adj_v[i] = -m_adj_v[i];
> }
> break;
> case 2: // triangle
> if (0 == m_phase) {
> m_adj_p = 0;
> for(i=0; i<4; i++) m_adj_v[i] = 0;
> }
> else if (1 == (m_phase & 1)) {
> m_adj_p_diff = -m_adj_p_diff;
> for(i=0; i<4; i++) m_adj_v_diff[i] = -m_adj_v_diff[i];
> }
> break;
> default: // sample and hold
> if (0 == (m_phase & 1)) {
> m_adj_p = m_adj_p_max * (rand() * 2.0 / RAND_MAX - 1);
> for(i=0; i<4; i++) m_adj_v[i] = m_adj_v_max[i] * (rand() * 2.0 / RAND_MAX - 1);
> }
> break;
> }
> }
> }; // LFOctrl
>
100a221,222
> LFOctrl lc;
>
116a239
> lc.init_for_timbre(&timbre);
121a245
> lc.init_for_keyon(&(m_setting.m_timbre));
127c251,265
< ym.mix(&data[isample * 2], nsamples);
---
> {
> int unit;
> while(nsamples) {
> unit = SAMPLERATE/LFO_INTERVAL;
> if (unit > nsamples) unit = nsamples;
> ym.mix(&data[isample * 2], unit);
> isample += unit;
> if (note.m_key != -1) {
> lc.increment();
> ym.set_volume(ch, 15, lc.m_adj_v[0], lc.m_adj_v[1], lc.m_adj_v[2], lc.m_adj_v[3]);
> ym.set_pitch(ch, note.m_octave, note.m_key, lc.m_adj_p);
> }
> nsamples -= unit;
> }
> }
129d266
< isample += nsamples;
306c443
< int main(void) {
---
> int main(int ac, char *av[]) {
311c448
< phrase->m_setting.m_octave = 4;
---
> phrase->m_setting.m_octave = 3;
315c452
< phrase->m_setting.m_tone = 15; // @15 DESCENT
---
> phrase->m_setting.m_tone = (ac<2)?15:atoi(av[1]); // @15 DESCENT

56 名前: 片山博文MZ◆NveQN6OtcI

2015/12/21 (Mon) 21:11:41

御免、もうちょっと時間が掛かりそうだ。

57 名前:片山博文MZ◆NveQN6OtcI

2015/12/31 (Thu) 16:48:27

>>55
すごい!!! まさしくプロの仕事です!!
これを使わせてもらいます。
あなたの名前(ハンドル名でも可)を教えて下さい。

58 名前: 片山博文MZ◆NveQN6OtcI

2016/01/01 (Fri) 00:39:28

明けましてすみません。

59 名前:書けるかな?

2016/01/01 (Fri) 13:23:33

ハンドル名は「書けるかな?」でもいいんだけど、もっとIDっぽい物では「okrt」ってことにしておきます。
それより、(2chでも懸念されてたと思うけど)この書き込みが上の書き込みと同一人物かどうかの確認、ここでだったらできるのでしょうか。
IPアドレスだけ見てもバラバラだろうけど、ホスト名とUserAgentで大体の見当はつくのかな。

あと、使うのはもちろんいいんだけど
・演算結果がパラメータの上限や下限を超えるかもしれない箇所がある
・PC-88実機との差異がどれぐらいは知らない
 1.特にTBDのところ、実機では単なる掛け算じゃないかもしれない
 2.定数の数値を調整や追加するだけで、より実機に近い挙動に改善できる箇所もあるはず
 3.小数点以下の数値の切り捨て/切り上げの扱いは実機と違う箇所もあるだろう
 4.実機での不具合のような挙動を再現するかどうか
・実機との差異の問題ではなく、単なる不具合もあるかも
・挙動には関係ないけど、変数名なんかの付け方は適当
以上をふまえた上でお願いします。

60 名前: 片山博文MZ◆NveQN6OtcI

2016/01/01 (Fri) 15:43:34

管理画面で同一人物か確認できますのでトリップを付けて書き込んで下さい。トリップの生成文字列をパスワードにします。

61 名前: 片山博文MZ◆NveQN6OtcI

2016/01/01 (Fri) 16:06:23

VeySicKのリリース日が2016.1.10になっておりますが、細かい点は後で調整できます。
実機との違いについては、こちらでエミュが出力したデータを用意しますので、ご確認・ご調整頂けると幸いです。
実機での不具合のような挙動は再現する必要はありません。

62 名前:書けるかな?◆HaUvfWgRQc

2016/01/01 (Fri) 19:40:05

トリップのテスト

63 名前:書けるかな?◆HaUvfWgRQc

2016/01/01 (Fri) 19:43:56

今後はこれで書き込みます。

64 名前:書けるかな?◆HaUvfWgRQc

2016/01/01 (Fri) 23:34:56

ただ、実機の挙動に近付けるための調整は、実機とエミュを持ってる人の手で直接やるのが早くて確実だと思います。

65 名前:片山博文MZ◆NveQN6OtcI

2016/01/02 (Sat) 12:07:09

GitHub更新。
https://github.com/katahiromz/VeySicK
https://github.com/katahiromz/fmgon

CMD_PLAY.zip
パスワード:friend
https://drive.google.com/uc?export=view&id=0B3nA8ShVAS4OSW1OcUlZQ3ZhVjA

66 名前: 片山博文MZ◆NveQN6OtcI

2016/01/02 (Sat) 17:52:24

okrtさん、メールないの? Amazonギフト券あげるからメールで連絡して。ツイッターとかは使ってる? トリップ生成文字列を忘れずに。

67 名前:書けるかな?◆HaUvfWgRQc

2016/01/02 (Sat) 22:17:12

メールアドレスはあんまり公開したくないかなぁ。新たに作ればいいのかもしれないけど。
ツイッターは、とあるプレゼントの応募のために作った https://twitter.com/okrt_p07 があるけど知人にも教えてないし、常用してません。ダイレクトメッセージは誰からのメッセージでも受信できるようにしたはず。

VeySicKで CMD PLAY と CMD VOICE COPY が実機同様に使えるようになったら、ソフトウェアLFOの挙動を実機に近づける作業も(実機を持っている人には)やりやすくなるのかな。

68 名前: 片山博文MZ◆NveQN6OtcI

2016/01/03 (Sun) 17:52:04

ダイレクトメッセージでギフト券の番号を送ったよ。必ず確認してね。

シャープとフラットの処理が間違ってたようだ。SSGのquantityの処理も少し違ってた。明日、GitHubを更新する。

69 名前:書けるかな?◆HaUvfWgRQc

2016/01/03 (Sun) 21:46:55

ギフト券の番号、受け取りました。まだ登録してないけどありがとう。

時間も能力も限界があるので、今後どれぐらい協力できるかはわからないけど。
VeySicK、適当にビルドしてCMD PLAYを中心に少し使ってみた。

まずは、作る側の事情は全く関係なしで、使う側の立場で気付いた不具合や改善要望など。88も98も詳しくないけど。
・9801モードではPLAYもCMD PLAYも使えないのが仕様? 9801実機のBASICにはPLAYがあるようだけど。
・CMD PLAYでチャネル6(SSG音源の3番目)を使おうとするとエラーになる?
・CMD PLAYのオクターブの初期値がO4ではなくO5になっている?
・Restartしてもオクターブ指定が初期化されない。Restart直後、単に"C"を鳴らすとRestart前の指定に影響される。
・CMD PLAYで、オクターブ指定した"O4C"や"O5C"は鳴らせるが、数字を省略した"OC"はエラーになる。MSX-BASICのPLAYでは"OC"も"O4C"も同じだが、VeySicKではオクターブ指定の数字を省略できないのが仕様?
・9801モードやVSKモードでは、もっとメモリを多く使用できても良いのではないか? 詳しくは知らんけど。
・ほぼ常時、1スレッド占有している? CPU消費は少ないほうが良いと思うんだが。
・自動で文字入力できたら便利。(例:武田さんのCommon Source Code Projectのエミュレータは、Windowsのクリップボードの内容をPasteできる。openMSXでは、公式ランチャー「Catapult」のテキストボックスの内容をエミュレータにTypeできる。)
・Insを押してもカーソルキーの形状が変化しないのは8801実機などでの仕様? MSX-BASICでは形状が変化するので個人的には少し違和感あり。

あとは、中の作りに関して。
・今はCMD PLAY実行時にfmgonで音を一括生成してるんだろうけど、本来は実時間の経過に応じて随時少しずつym.mixなどを呼び出すべきだろうなぁ。処理が複雑になるかもしれないけど、CMD VOICE REGやCMD SOUNDあたりを実装するのであれば必要になってくるような気が。

70 名前:片山博文MZ◆NveQN6OtcI

2016/01/04 (Mon) 14:17:52

GitHub更新。
https://github.com/katahiromz/VeySicK
https://github.com/katahiromz/fmgon

言われたところを修正しました。
9801モードでPLAY使用可能。
チャネル6も使用可能に。
オクターブの初期値を修正。
Restartで設定を初期化。
MMLで数字省略可能に。
メモリは現状では、8801ベースなので、変更しませんでした。
つーか、9801のメモリモデルを理解していない。
OpenALを使うために、スレッドを占有しています。
自動入力はまだです。
Insでカーソル形状が変わらないのは、仕様です。

71 名前: 片山博文MZ◆NveQN6OtcI

2016/01/04 (Mon) 15:34:50

んー、確かに再描画を減らしたら、計算量を削減できるよな。

72 名前: 片山博文MZ◆NveQN6OtcI

2016/01/04 (Mon) 16:04:02

区間チェックの件は、上限値より大きかったら、上限値に修正し、下限値より小さかったら、下限値に修正する関数を使えばできると思います。

73 名前:書けるかな?◆HaUvfWgRQc

2016/01/04 (Mon) 22:10:20

VeySicKの小ネタ。
i%=32767:i%=i%+1:?i% でエラーにならない。

74 名前:書けるかな?◆HaUvfWgRQc

2016/01/04 (Mon) 23:59:32

今後、個人的な状況がちょっとアレなので一旦、この件から離れます。
また明日以降、作る側の事情は全く関係なしでコメントするかもしれないし、中のコードに関してあれこれ言うかもしれないし、全く音沙汰ナシかもしれないけど、とりあえず今日で一区切り。

最後に、soundplayer.cppのdiffだけ置いていきます。
40c40
< m_adj_p_max = p_timbre->pmd * (float)p_timbre->pms / 2.0f; // TBD
---
> m_adj_p_max = p_timbre->pmd / 128.0f * (1 << p_timbre->pms); // TBD
43c43
< p_timbre->amd * (float)p_timbre->ams[i] / 2; // TBD
---
> p_timbre->amd / 128.0f * (1 << p_timbre->ams[i]); // TBD

こっちのほうが本物の音に近いような気がするけど、勿論これを適用するかどうかも含めて全てお任せします。

75 名前:775

2016/01/19 (Tue) 21:53:13

Keyloggerの配布は中止に鳴ってしまったのでしょうか?

76 名前: 片山博文MZ◆NveQN6OtcI

2016/01/19 (Tue) 22:41:07

はい、配布終了となりました。

77 名前: 片山博文MZ◆NveQN6OtcI

2016/01/19 (Tue) 22:56:47

MZ KeyLoggerのソースコードなら有償で提供可能です。ただし動作保証はありません。メールでご連絡下さい。

  • 名前: E-mail(省略可):
  • 画像:
    • タイトル:
    • 名前: E-mail(省略可):
    • 画像:
Copyright © 1999- FC2, inc All Rights Reserved.