在好例子网,分享、交流、成长!
您当前所在位置:首页Others 开发实例一般编程问题 → 《The Haskell School of Music》

《The Haskell School of Music》

一般编程问题

下载此实例
  • 开发语言:Others
  • 实例大小:2.32M
  • 下载次数:2
  • 浏览次数:42
  • 发布时间:2023-01-16
  • 实例类别:一般编程问题
  • 发 布 人:老刘
  • 文件格式:.pdf
  • 所需积分:0
 相关标签:

实例介绍

【实例简介】《The Haskell School of Music》

【实例截图】

【核心代码】

Contents
Preface xiv
1 Overview of Computer Music, Euterpea, and Haskell 1
1.1 The Note vs. Signal Dichotomy . . . . . . . . . . . . . . . . . 2
1.2 Basic Principles of Programming . . . . . . . . . . . . . . . . 3
1.3 Computation by Calculation . . . . . . . . . . . . . . . . . . . 4
1.4 Expressions and Values . . . . . . . . . . . . . . . . . . . . . 8
1.5 Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.6 Function Types and Type Signatures . . . . . . . . . . . . . . 11
1.7 Abstraction, Abstraction, Abstraction . . . . . . . . . . . . . 13
1.7.1 Naming . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.7.2 Functional Abstraction . . . . . . . . . . . . . . . . . . 16
1.7.3 Data Abstraction . . . . . . . . . . . . . . . . . . . . . 19
1.8 Haskell Equality vs. Euterpean Equality . . . . . . . . . . . . 22
1.9 Code Reuse and Modularity . . . . . . . . . . . . . . . . . . . 23
1.10 [Advanced] Programming with Numbers . . . . . . . . . . . . 24
2 Simple Music 28
2.1 Preliminaries . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.2 Notes, Music, and Polymorphism . . . . . . . . . . . . . . . . 30
2.3 Convenient Auxiliary Functions . . . . . . . . . . . . . . . . . 33
2.3.1 A Simple Example . . . . . . . . . . . . . . . . . . . . 35
2.4 Absolute Pitches . . . . . . . . . . . . . . . . . . . . . . . . . 39
ii
CONTENTS iii
3 Polymorphic & Higher-Order Functions 43
3.1 Polymorphic Types . . . . . . . . . . . . . . . . . . . . . . . . 44
3.2 Abstraction Over Recursive Definitions . . . . . . . . . . . . . 45
3.2.1 Map is Polymorphic . . . . . . . . . . . . . . . . . . . 47
3.2.2 Using map . . . . . . . . . . . . . . . . . . . . . . . . 48
3.3 Append . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.3.1 [Advanced] The Efficiency and Fixity of Append . . . 50
3.4 Fold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.4.1 Haskell’s Folds . . . . . . . . . . . . . . . . . . . . . . 53
3.4.2 [Advanced] Why Two Folds? . . . . . . . . . . . . . . 54
3.4.3 Fold for Non-empty Lists . . . . . . . . . . . . . . . . 55
3.5 [Advanced] A Final Example: Reverse . . . . . . . . . . . . . 56
3.6 Currying . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.6.1 Currying Simplification . . . . . . . . . . . . . . . . . 59
3.6.2 [Advanced] Simplification of reverse . . . . . . . . . . 60
3.7 Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
4 A Musical Interlude 64
4.1 Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
4.2 Transcribing an Existing Score . . . . . . . . . . . . . . . . . 65
4.2.1 Auxiliary Functions . . . . . . . . . . . . . . . . . . . 67
4.2.2 Bass Line . . . . . . . . . . . . . . . . . . . . . . . . . 68
4.2.3 Main Voice . . . . . . . . . . . . . . . . . . . . . . . . 69
4.2.4 Putting It All Together . . . . . . . . . . . . . . . . . 69
4.3 Simple Algorithmic Composition . . . . . . . . . . . . . . . . 71
5 Syntactic Magic 72
5.1 Sections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
5.2 Anonymous Functions . . . . . . . . . . . . . . . . . . . . . . 74
5.3 List Comprehensions . . . . . . . . . . . . . . . . . . . . . . . 75
5.3.1 Arithmetic Sequences . . . . . . . . . . . . . . . . . . 77
5.4 Function Composition . . . . . . . . . . . . . . . . . . . . . . 78
CONTENTS iv
5.5 Higher-Order Thinking . . . . . . . . . . . . . . . . . . . . . . 79
5.6 Infix Function Application . . . . . . . . . . . . . . . . . . . . 80
6 More Music 82
6.1 Delay and Repeat . . . . . . . . . . . . . . . . . . . . . . . . . 82
6.2 Inversion and Retrograde . . . . . . . . . . . . . . . . . . . . 83
6.3 Polyrhythms . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
6.4 Symbolic Meter Changes . . . . . . . . . . . . . . . . . . . . . 86
6.5 Computing Duration . . . . . . . . . . . . . . . . . . . . . . . 86
6.6 Super-retrograde . . . . . . . . . . . . . . . . . . . . . . . . . 87
6.7 Truncating Parallel Composition . . . . . . . . . . . . . . . . 88
6.8 Trills . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
6.9 Grace Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
6.10 Percussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
6.11 A Map for Music . . . . . . . . . . . . . . . . . . . . . . . . . 93
6.12 A Fold for Music . . . . . . . . . . . . . . . . . . . . . . . . . 94
6.13 Crazy Recursion . . . . . . . . . . . . . . . . . . . . . . . . . 95
7 Qualified Types and Type Classes 98
7.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
7.2 Equality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
7.3 Defining Your Own Type Classes . . . . . . . . . . . . . . . . 102
7.4 Inheritance . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
7.5 Haskell’s Standard Type Classes . . . . . . . . . . . . . . . . 107
7.5.1 The Num Class . . . . . . . . . . . . . . . . . . . . . . 108
7.5.2 The Show Class . . . . . . . . . . . . . . . . . . . . . 111
7.6 Derived Instances . . . . . . . . . . . . . . . . . . . . . . . . . 112
7.7 Reasoning With Type Classes . . . . . . . . . . . . . . . . . . 115
8 Interpretation and Performance 118
8.1 Abstract Performance . . . . . . . . . . . . . . . . . . . . . . 118
8.2 Players . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
CONTENTS v
8.2.1 Example of Player Construction . . . . . . . . . . . . 126
8.2.2 Deriving New Players From Old Ones . . . . . . . . . 128
8.2.3 A Fancy Player . . . . . . . . . . . . . . . . . . . . . . 129
8.3 Putting it all Together . . . . . . . . . . . . . . . . . . . . . . 129
9 Self-Similar Music 133
9.1 Self-Similar Melody . . . . . . . . . . . . . . . . . . . . . . . . 133
9.1.1 Sample Compositions . . . . . . . . . . . . . . . . . . 136
9.2 Self-Similar Harmony . . . . . . . . . . . . . . . . . . . . . . . 137
9.3 Other Self-Similar Structures . . . . . . . . . . . . . . . . . . 138
10 Proof by Induction 141
10.1 Induction and Recursion . . . . . . . . . . . . . . . . . . . . . 141
10.2 Examples of List Induction . . . . . . . . . . . . . . . . . . . 142
10.3 Proving Function Equivalences . . . . . . . . . . . . . . . . . 144
10.3.1 [Advanced] Reverse . . . . . . . . . . . . . . . . . . . . 145
10.4 Useful Properties on Lists . . . . . . . . . . . . . . . . . . . . 147
10.4.1 [Advanced] Function Strictness . . . . . . . . . . . . . 150
10.5 Induction on the Music Data Type . . . . . . . . . . . . . . . 151
10.5.1 The Need for Musical Equivalence . . . . . . . . . . . 156
10.6 [Advanced] Induction on Other Data Types . . . . . . . . . . 156
10.6.1 A More Efficient Exponentiation Function . . . . . . . 158
11 An Algebra of Music 163
11.1 Musical Equivalance . . . . . . . . . . . . . . . . . . . . . . . 163
11.2 Some Simple Axioms . . . . . . . . . . . . . . . . . . . . . . . 165
11.3 The Axiom Set . . . . . . . . . . . . . . . . . . . . . . . . . . 168
11.4 Soundness and Completeness . . . . . . . . . . . . . . . . . . 169
12 Musical L-Systems 170
12.1 Generative Grammars . . . . . . . . . . . . . . . . . . . . . . 170
12.2 A Simple Implementation . . . . . . . . . . . . . . . . . . . . 171
12.3 Grammars in Haskell . . . . . . . . . . . . . . . . . . . . . . . 173
CONTENTS vi
12.4 An L-System Grammar for Music . . . . . . . . . . . . . . . . 175
12.5 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
13 Random Numbers ... and Markov Chains 179
13.1 Random Numbers . . . . . . . . . . . . . . . . . . . . . . . . 179
13.2 Probability Distributions . . . . . . . . . . . . . . . . . . . . . 182
13.2.1 Random Melodies and Random Walks . . . . . . . . . 186
13.3 Markov Chains . . . . . . . . . . . . . . . . . . . . . . . . . . 188
13.3.1 Training Data . . . . . . . . . . . . . . . . . . . . . . . 189
14 From Performance to Midi 192
14.1 An Introduction to Midi . . . . . . . . . . . . . . . . . . . . . 192
14.1.1 General Midi . . . . . . . . . . . . . . . . . . . . . . . 193
14.1.2 Channels and Patch Maps . . . . . . . . . . . . . . . . 194
14.1.3 Standard Midi Files . . . . . . . . . . . . . . . . . . . 196
14.2 Converting a Performance into Midi . . . . . . . . . . . . . . 198
14.3 Putting It All Together . . . . . . . . . . . . . . . . . . . . . 201
15 Basic Input/Output 202
15.1 IO in Haskell . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
15.2 do Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
15.3 Actions are Just Values . . . . . . . . . . . . . . . . . . . . . 205
15.4 Reading and Writing Midi Files . . . . . . . . . . . . . . . . . 207
16 Musical User Interface 208
16.1 Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
16.1.1 Numeric Signals . . . . . . . . . . . . . . . . . . . . . 210
16.1.2 Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
16.1.3 Musical Signals . . . . . . . . . . . . . . . . . . . . . . 212
16.1.4 Useful Signal Operators . . . . . . . . . . . . . . . . . 213
16.1.5 Stateful Signals . . . . . . . . . . . . . . . . . . . . . . 213
16.2 Events and Reactivity . . . . . . . . . . . . . . . . . . . . . . 214
16.2.1 Manipulating Event Streams . . . . . . . . . . . . . . 214
CONTENTS vii
16.2.2 Turning Signals into Events . . . . . . . . . . . . . . . 215
16.2.3 Signal Samplers . . . . . . . . . . . . . . . . . . . . . . 216
16.2.4 Switches and Reactivity . . . . . . . . . . . . . . . . . 216
16.3 The UI Level . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
16.3.1 Input Widgets . . . . . . . . . . . . . . . . . . . . . . 217
16.3.2 UI Transformers . . . . . . . . . . . . . . . . . . . . . 220
16.3.3 MIDI Input and Output . . . . . . . . . . . . . . . . . 221
16.3.4 Midi Device IDs . . . . . . . . . . . . . . . . . . . . . 222
16.3.5 Timer Widgets . . . . . . . . . . . . . . . . . . . . . . 224
16.4 Putting It All Together . . . . . . . . . . . . . . . . . . . . . 225
16.5 Musical Examples . . . . . . . . . . . . . . . . . . . . . . . . 225
16.5.1 Chord Builder . . . . . . . . . . . . . . . . . . . . . . 225
16.5.2 Bifurcate Me, Baby! . . . . . . . . . . . . . . . . . . . 227
16.5.3 MIDI Echo Effect . . . . . . . . . . . . . . . . . . . . . 229
17 Sound and Signals 231
17.1 The Nature of Sound . . . . . . . . . . . . . . . . . . . . . . . 231
17.1.1 Frequency and Period . . . . . . . . . . . . . . . . . . 234
17.1.2 Amplitude and Loudness . . . . . . . . . . . . . . . . 235
17.1.3 Frequency Spectrum . . . . . . . . . . . . . . . . . . . 239
17.2 Digital Audio . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
17.2.1 From Continuous to Discrete . . . . . . . . . . . . . . 243
17.2.2 Fixed-Waveform Table-Lookup Synthesis . . . . . . . 245
17.2.3 Aliasing . . . . . . . . . . . . . . . . . . . . . . . . . . 246
17.2.4 Quantization Error . . . . . . . . . . . . . . . . . . . . 249
17.2.5 Dynamic Range . . . . . . . . . . . . . . . . . . . . . . 251
18 Euterpea’s Signal Functions 253
18.1 Signals and Signal Functions . . . . . . . . . . . . . . . . . . 254
18.1.1 The Type of a Signal Function . . . . . . . . . . . . . 256
18.1.2 Four Useful Functions . . . . . . . . . . . . . . . . . . 258
18.1.3 Some Simple Examples . . . . . . . . . . . . . . . . . 259
CONTENTS viii
18.2 Generating Sound . . . . . . . . . . . . . . . . . . . . . . . . 264
18.3 Instruments . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
18.3.1 Turning a Signal Function into an Instruement . . . . 266
18.3.2 Envelopes . . . . . . . . . . . . . . . . . . . . . . . . . 269
19 Spectrum Analysis 273
19.1 Fourier’s Theorem . . . . . . . . . . . . . . . . . . . . . . . . 273
19.1.1 The Fourier Transform . . . . . . . . . . . . . . . . . . 275
19.1.2 Examples . . . . . . . . . . . . . . . . . . . . . . . . . 276
19.2 The Discrete Fourier Transform . . . . . . . . . . . . . . . . . 277
19.2.1 Interpreting the Frequency Spectrum . . . . . . . . . . 280
19.2.2 Amplitude and Power of Spectrum . . . . . . . . . . . 282
19.2.3 A Haskell Implementation of the DFT . . . . . . . . . 284
19.3 The Fast Fourier Transform . . . . . . . . . . . . . . . . . . . 290
19.4 Further Pragmatics . . . . . . . . . . . . . . . . . . . . . . . . 291
19.5 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
20 Additive Synthesis and Amplitude Modulation 294
20.1 Preliminaries . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
20.2 A Bell Sound . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
20.3 Amplitude Modulation . . . . . . . . . . . . . . . . . . . . . . 298
20.3.1 AM Sound Synthesis . . . . . . . . . . . . . . . . . . . 299
20.4 What do Tremolo and AM Radio Have in Common? . . . . . 300
A The PreludeList Module 302
A.1 The PreludeList Module . . . . . . . . . . . . . . . . . . . . . 303
A.2 Simple List Selector Functions . . . . . . . . . . . . . . . . . 303
A.3 Index-Based Selector Functions . . . . . . . . . . . . . . . . . 304
A.4 Predicate-Based Selector Functions . . . . . . . . . . . . . . . 306
A.5 Fold-like Functions . . . . . . . . . . . . . . . . . . . . . . . . 306
A.6 List Generators . . . . . . . . . . . . . . . . . . . . . . . . . . 308
A.7 String-Based Functions . . . . . . . . . . . . . . . . . . . . . . 308
CONTENTS ix
A.8 Boolean List Functions . . . . . . . . . . . . . . . . . . . . . . 309
A.9 List Membership Functions . . . . . . . . . . . . . . . . . . . 310
A.10 Arithmetic on Lists . . . . . . . . . . . . . . . . . . . . . . . . 310
A.11 List Combining Functions . . . . . . . . . . . . . . . . . . . . 311
B Haskell’s Standard Type Classes 313
B.1 The Ordered Class . . . . . . . . . . . . . . . . . . . . . . . . 313
B.2 The Enumeration Class . . . . . . . . . . . . . . . . . . . . . 314
B.3 The Bounded Class . . . . . . . . . . . . . . . . . . . . . . . . 315
B.4 The Show Class . . . . . . . . . . . . . . . . . . . . . . . . . . 316
B.5 The Read Class . . . . . . . . . . . . . . . . . . . . . . . . . . 319
B.6 The Index Class . . . . . . . . . . . . . . . . . . . . . . . . . 322
B.7 The Numeric Classes . . . . . . . . . . . . . . . . . . . . . . . 323
C Built-in Types Are Not Special 325
D Pattern-Matching Details 328
List of Figures
1.1 Polyphonic vs. Contrapuntal Interpretation . . . . . . . . . . 23
2.1 General MIDI Instrument Names . . . . . . . . . . . . . . . . 34
2.2 Convenient Note Names . . . . . . . . . . . . . . . . . . . . . 36
2.3 Convenient Duration and Rest Names . . . . . . . . . . . . . 37
2.4 Converting Pitch Classes to Integers . . . . . . . . . . . . . . 41
4.1 Excerpt from Chick Corea’s Child Song No. 6 . . . . . . . . . 66
4.2 Bars 7-28 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
5.1 Gluing Two Functions Together . . . . . . . . . . . . . . . . . 78
6.1 Nested Polyrhythms (top: pr 1 ; bottom: pr 2 ) . . . . . . . . . 85
6.2 Trills in Stars and Stripes Forever . . . . . . . . . . . . . . . 90
6.3 General MIDI Percussion Names . . . . . . . . . . . . . . . . 92
7.1 Common Type Classes and Their Instances . . . . . . . . . . 108
7.2 Numeric Class Hierarchy . . . . . . . . . . . . . . . . . . . . . 110
7.3 Standard Numeric Types . . . . . . . . . . . . . . . . . . . . 111
7.4 Euterpea’s Data Types with Deriving Clauses . . . . . . . . . 114
8.1 An abstract perform function . . . . . . . . . . . . . . . . . . 121
8.2 A more efficient perform function . . . . . . . . . . . . . . . . 123
8.3 Phrase Attributes . . . . . . . . . . . . . . . . . . . . . . . . . 125
8.4 Definition of default player defPlayer. . . . . . . . . . . . . . 127
x
LIST OF FIGURES xi
8.5 Definition of Player fancyPlayer. . . . . . . . . . . . . . . . . 132
9.1 An Example of Self-Similar Music . . . . . . . . . . . . . . . 134
10.1 Proof that f x n ∗ f x n = f (x ∗ x) n. . . . . . . . . . . . . . 161
13.1 Various Probability Density Functions . . . . . . . . . . . . . 183
14.1 Partial Definition of the Midi Data Type . . . . . . . . . . . 197
16.1 Several Simple MUIs . . . . . . . . . . . . . . . . . . . . . . . 219
16.2 A Chord Builder MUI . . . . . . . . . . . . . . . . . . . . . . 226
17.1 A Sine Wave . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
17.2 RMS Amplitude for Different Signals . . . . . . . . . . . . . . 236
17.3 Fletcher-Munson Equal Loudness Contour . . . . . . . . . . . 238
17.4 Spectral Plots of Different Signals . . . . . . . . . . . . . . . . 240
17.5 Time-Varying Spectral Plots . . . . . . . . . . . . . . . . . . . 242
17.6 Choice of Sampling Rate . . . . . . . . . . . . . . . . . . . . . 244
17.7 Aliasing 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
17.8 Aliasing 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
17.9 A Properly Sampled Signal . . . . . . . . . . . . . . . . . . . 250
17.10Block Diagram of Typical Digital Audio System . . . . . . . . 250
18.1 Eutperea’s Oscillators . . . . . . . . . . . . . . . . . . . . . . 260
18.2 Table Generating Functions . . . . . . . . . . . . . . . . . . . 262
18.3 A Simple Melody . . . . . . . . . . . . . . . . . . . . . . . . . 269
18.4 A Complete Example of a Signal-Function Based Instrument 270
18.5 Envelopes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
19.1 Examples of Fourier Transforms . . . . . . . . . . . . . . . . . 278
19.2 Generating a Square Wave from Odd Harmonics . . . . . . . 279
19.3 Complex and Polar Coordinates . . . . . . . . . . . . . . . . . 283
19.4 Helper Code for Pretty-Printing DFT Results . . . . . . . . . 286
19.5 A Real-Time Display of FFT Results . . . . . . . . . . . . . . 292
LIST OF FIGURES xii
20.1 Working With Lists of Signal Sources . . . . . . . . . . . . . 295
20.2 A Bell Instrument . . . . . . . . . . . . . . . . . . . . . . . . 296
20.3 A More Sophisticated Bell Instrument . . . . . . . . . . . . . 297
B.1 Standard Numeric Classes . . . . . . . . . . . . . . . . . . . . 324
List of Tables
10.1 Some Useful Properties of map and fold. . . . . . . . . . . . . 148
10.2 Useful Properties of Other Functions Over Lists . . . . . . . . 149
13.1 Second-Order Markov Chain . . . . . . . . . . . . . . . . . . 189
14.1 General Midi Instrument Families . . . . . . . . . . . . . . . . 194
16.1 Signal Samplers . . . . . . . . . . . . . . . . . . . . . . . . . . 216
16.2 MUI Input Widgets . . . . . . . . . . . . . . . . . . . . . . . 217
16.3 MUI Layout Widget Transformers . . . . . . . . . . . . . . . 220

标签:

实例下载地址

《The Haskell School of Music》

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警