-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathnotes.txt
More file actions
642 lines (536 loc) · 14.8 KB
/
Copy pathnotes.txt
File metadata and controls
642 lines (536 loc) · 14.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
Profiles
screen name
email addr (not shown)
country/state/city
self-description
web link
A user can have both a composer and performer profile
Composer profile
instruments
piano/organ/keyboards
woodwinds
strings
brass
percussion
vocal
other:
solo
solo with accompaniment
ensemble
specific:
styles
romantic
modern
post-modern
minimalist
atonal
new age
influences
(list)
difficulty level
beginner
intermediate
adv intermediate
advanced
priorities (1 to 5)
get pieces played
get pieces heard by an audience
get paid for performances
license of compositions
public domain
CC license
other license
"signature" MP3
links to scores, performances
performer profile
instruments played
difficulty levels: as above (per instrument)
ensembles
already part of
would like to be part of
styles, favorite composers, favorite pieces
where do you perform or want to perform?
none
family/friends
Groupmuse or other house concerts
live streaming
Online recordings (Youtube, Soundcloud)
public concerts
for each: how often?
"signature" MP3
links to performances etc.
URL, text
-----------------
functions
friends
matching
search by criteria
instrument
style
level
"or" within each, "and" among them,
e.g. "(piano or violin) and (atonal or classical)"
sorting search results
number of matches
proximity to me
ratings
recommendations
least-recently viewed
rating
a) rating as a composer/performer
b) how relevant to me?
messaging
private messages
message boards
composers seeking performers
performers seeking composers
questions about MusicMatch
--------------
pages
mm_user.php
show a user in detail
comp, perf profiles
links to message/rate them
mm_home.php
home page for logged-in user
summaries of comp, pref profiles; links to add or edit
--------------
database
store stuff mostly in JSON and PHP variables
performer/ID
composer/ID
styles: [baroque, classical, romantic, impressionist, modern, new age, contemporary]
level: [beginner, intermediate, advanced, pro]
composer goals: played, heard, paid
Keep track of user views
DB
src, dst userid
time
comp or perf
# of views as performer
# of views as composer
ratings
DB
src, dst userid
time
comp or perf
overall or relevance
rating as performer
overall (I'd want to listen to their playing)
relevance to me (I'd want to play with or write for them)
rating as composer
overall (I'd want to listen to their compositions)
relevance to me (I'd want to play their compositions)
------------
Where to deploy?
------------
general text for profile
play solo, accompaniment, small/large ensembles
search results, other view:
circle w/ you in middle
names around you
close = better match
ratings
how much do you like music? (nonjudgemental)
collaborative filtering
grouping
negotiation
audio engineers: for composers rendering
x voices Y package
-----------------
call 1/2722
my background
my music, groupmuse involvement
I'm looking for composers
I know composers looking for performers
music match
profiles
searching
communication
groupmuse
new pieces at groupmuses
pay composers
race/gender questions
possible partners
CNMAT
composer databases:
iceorg.org
chambermusic america
https://www.musicbyblackcomposers.org/
https://www.composerdiversity.com/
New Music America: https://newmusicusa.org/
protection/hiding/locking
-------------------
1/28/22
Tags
you can attach "tags" to other users:
"like",
"looks interesting",
"get back to them",
or whatever you want.
your home page shows lists of tagged users
tags are private (?)
notifications
shown on home page, and delivered in optional daily/weekly email
- you have a new message
- new user you might be interested in
because of profile or proximity
- a user you tagged added a link
- new post in a forum or thread
goal: keep users involved, keep them coming back
forums:
performers looking for performers
performers looking for composers
composers looking for performers
piano and keyboard technology
composing technology (score editors)
composing: musical issues
Keeping track of the relationship between 2 users
A viewed B's user page
when? how many times?
A tagged B
A sent B a message
A replied to B's forum post
How to store this? JSON in file? DB? JSON in DB?
------------
1/30/22
The original idea is to hook up composers and performers.
But if we're going to bring together classical musicians,
we may as well think of ALL the ways they might want to interact,
and support as many ways as we easily can.
Use cases
performer wants to find pieces to play
create account
do composer search
only composers with scores online?
get scores, or communicate with composer to request
piece, request changes, etc.
Notify performer if new composers arrive
performer wants to find composers, commission a piece
performer wants to ask composer about a particular piece
performer wants to find (local) performers
singer seeks accompanist or vice versa
group (e.g. string quartet) seeks new member
member seeks group
composer wants to find performer to play piece
create account
do performer search
composer wants to find performer to perform piece at a Groupmuse
possibly local
find vetted performer, send them message
composer wants help with editing software (score editing/rendering etc.)
create account
browse message boards
performer wants help with recording technology
message board
composer wants guidance or feedback on a composition, or in general
performer/composer agree that a piece will be used in a groupmuse
arrange for payment to composer
questions:
composers: what editing software do you use?
Musescore, Sibelius, Finale
flag for composers saying whether they have scores online?
require
creating an account before doing search?
creating a profile before doing search?
flag for performer: vetted by Groupmuse
provide a chat system?
performer groups
string quartet, wind ensemble, choir, piano/violin duo etc.
performers can be linked to a group,
but the group has its own profile (styles, links etc.)
composers can search for groups
Implementation: each group is a user,
with its own email addr and password.
Linking a performer to a group:
log in as group
send invitation to performer
performer accepts
concept: make pieces and recordings explicit
In this model, MM knows about individual pieces and recordings of them.
composers list compositions and provide scores
performers can upload performances of them
link the two together:
a composer page shows list of pieces,
and for each piece a list of recordings,
with links to performer pages
This is analogous to IMSLP, but we can do this better than IMSLP
We could also let performers provide score markings (fingering, phrasing)
as separate layers
-----------
2/15/22
talk with Mosa
- I'll develop it on my own
- I'd like review/comments from you, Kyle, Dara etc. if possible
- choice of name
- list of style names, instruments, etc.
- UI, features
- When it's done, need to get critical mass of both performers and composers
can you announce to GM performers?
referrals to composers groups would be great (I've learned of a couple)
- Eventually would be good to integrate into GM somehow.
Would be good for me to have a chat with Kyle to discuss
how to make this possible/easier
------------
"close" search criteria
I searcher is outside the US
show only results from same country
else
if searcher's zip code not recognized
say that
show results IN US
else
show only results with zip, and distance < 100 miles
subtract distance from value
show distance in result
---------
American Composers Orchestra:
https://americancomposers.org/
---------
Signup experience:
- home page: read blurb. click Join
- reg1.php: registration form (post)
user name
email address
- reg1.php: handler
if user name is taken, complain
if email is taken:
if unverified, continue
else complain
else
create user record, unverified
send an email with 6-digit code, store in user rec
send cookie with user auth
redirect to reg2
- reg2: form
we sent you a code; check spam folder
enter code
- reg2.php handler
check code, complain if wrong
show form to finish reg
password
country
postal code
pass code,hidden
- reg3.php handler
check code
mark account as verified
redirect to Intro page
make a version of get_logged_in_user() that checks verified.
if not, redirect to a variant of reg1.php
Use this in most places
----------
private messages
eventual; for starters
just user/user
simplify send form
"send message" link on
user page (send msg to this user)
ensemble.php (if member or founder)
send message to ensemble members
home page
if have friends, "message friends"
in write message page,
have add/change recipients button
add/change recipients page
show current list of recipients w/ checkboxes
"add user by name" field
"add my friends" button
"add ensemble members" button for each ensemble
Update button
"return to message" button
--------------
search results
create a notification for a search if there are
new results since the last notification
Want a single "new search results" notification,
roughly once/week.
Link to "My searches" page
search table:
create time
user ID
role/params
params hash
last viewed results
last viewed time
last rerun time
last rerun #new results (relative to last viewed)
unique(user ID, params hash)
When view search results
create search record, or update existing
rerun time = last viewed time = now
periodic rerun
for each search for which last rerun time is old (week?)
rerun search
record time, results, #new results
if new results
create/update notification
"My searches" page
list last viewed, search params, #new results
delete "new search results" notification, if any
View link
delete button
View search page
arg: search ID
show results with new results at top
----------------
Alpha testers
Ellie
her composer friends
her performer friends
lewis patzner
Maryse
Chelsea
Monica
Lily
Brian Tang
Rich Kraft
his contacts
Molly McCann
Mosa Tsay
Kyle Schmolze
Gareth Loy
Jonathan
Robert Au
Weinberg
see alpha_email.txt
Beta
American Composers Orchestra
https://americancomposers.org/composers/
American Composers Forum
https://composersforum.org/
American Composers Alliance
https://composers.com/
shows the catalog of 350 obscure composers
PR:
Conservatories
Groupmuse
Facebook
Reddit
Twitter
UCB mus dept
opera companies
--------------------
Forums
News
Performers wanted
Composers wanted
Technology
The Lobby
===================
Teacher
profile:
You teach: instruments (coarse), theory, composition
Styles you teach: styles
Levels you teach: levels
Where: my place, your place, online
Introduction
================
Ensemble type
currently, in composer profile, if you check an ensemble type
there's no way to indicate whether you also write solo music.
Or to search for composers that write music for solo instruments.
fix:
create
COMPOSE_FOR_LIST
This is ENSEMBLE_TYPE_LIST plus Solo
============
SSL update:
back up:
letsencrypt/
apache2/
or all of etc/
scp -r
cp -r or -R
autoregen:
cron.d/certbot
================
Monica 4/5/22:
use MM to create a mini-festival?
5 composers, 5 performers
themed
events/deadlines
simplify;
intro, 2 rep. pieces
----------
Mosa 4/12/22:
Demo/reaction
simplify?
How to promote?
Can you suggest people I should cold-call about it?
Facebook, Twitter?
what did groupmuse do initially?
button to share on FB, twitter
FB: need followers to be seen
ads: can spend what you want; can target e.g. composers
email lapsed users?
changes to site, last login time
get in at the beginning
help us build our community
other people
christopher richardson
daniel shapiro
robert schwartz
tim zhou
z.timothy96@gmail.com
chiara bertogli
eric tran
joanna rozewska
phil covitz
esa-Matti
Eri
current people (call them):
tell your friends
------------
Ron:
"support" instead of "technician"
show "others" in popup
promote through BAMC
getting old compositions played
(non-compete with commissioning structures)
events: e.g. specific concert
sign up for MM -> get to perform at piano club
tech workers who are musical
Zach weiner
tim zhou
pam/mike fong
stock email cc me
music email list at google?
who else do I know?
local choirs
---------------------
PUT STUFF ON SOUNDCLOUD what stuff?
===============
As I see it, there are several scenarios for composer/performer interaction:
1) The performer "commissions" the composer to write a piece,
i.e. the performer pays the composer
2) Similar to 1), but mediated by an organization,
which pays the composer
3) Similar to 1), but no money is involved; the composer works for free
4) The performer discovers the composer,
browses their existing compositions, and plays or performs some.
5) The composer discovers the performer,
and tries to get the performer interested in playing
existing compositions.
For a famous composer, only 1 and 2 are relevant.
But a non-famous composer may have lots of compositions
that have never been played.
For such a composer, the goal is probably to get their compositions played,
rather than to get paid for them.
The purpose of Music Match is to let people (e.g. composers and performers)
discover each other.
What happens after that is up to them.
So it supports all the above scenarios,
with an emphasis on 3-5.
------------------
IMSLP
eguo@imslp.org (Edward Guo: founder)
Sarah Cahill?
------------------
Assoc chamber music players (acmp.net)
offers a service similar (but weaker) than MM
fancy wordpress-based web site
https://www.sfcivicmusic.org/
SF civic comm orch
https://amateurmusic.org/info/
lets people post various things