skip to main content
10.1145/2808083.2808086acmconferencesArticle/Chapter ViewAbstractPublication PagesicfpConference Proceedingsconference-collections
research-article

The shepard tone and higher-order multi-rate synchronous data-flow programming in Sig

Published: 30 August 2015 Publication History

Abstract

The total functional real-time data-flow programming language Sig features a core layer with elegant denotational semantics, in terms of Mealy stream transducers and coiterative causal stream functions, that is convenient for domain experts in the primary application domains, such as scientific modeling and digital music and event arts. The core suffices for the implementation of many basic signal processing components. For the expression of more sophisticated computations, a second layer of Sig provides additional features, namely higher-order functional programming and multi-rate synchronicity, reducible by transformational semantics to the core layer. Here we describe the design of the upper layer of Sig and demonstrate its usage with the Shepard Tone, a well-known sound synthesis problem and model of psycho-acoustically paradoxical perception of relative musical pitch.

References

[1]
T. Bartenstein and Y. D. Liu. Rate types for stream programs. In A. P. Black and T. D. Millstein, editors, Proceedings of the 2014 ACM International Conference on Object Oriented Programming Systems Languages & Applications, OOPSLA 2014, part of SPLASH 2014, Portland, OR, USA, October 20-24, 2014, pages 213––232. ACM, 2014.
[2]
P. Caspi. Clocks in dataflow languages. Theoretical Computer Science, 94:125–140, 1992.
[3]
P. Caspi and M. Pouzet. Lucid Synchrone, a functional extension of Lustre. Technical report, Université Pierre et Marie Curie, Laboratoire LIP6, 2000.
[4]
S. E. Ganz, A. Sabry, and W. Taha. Macros as multi-stage computations: Type-safe, generative, binding macros in MacroML. In B. C. Pierce, editor, Proceedings of the Sixth ACM SIGPLAN International Conference on Functional Programming (ICFP ’01), Firenze (Florence), Italy, September 3-5, 2001.
[5]
, pages 74–85. ACM, 2001.
[6]
G. Giorgidze and H. Nilsson. Switched-on Yampa. In Practical Aspects of Declarative Languages (PADL 2008), pages 282–298, 2008.
[7]
K. Hammond and G. Michaelson. The design of Hume: A high-level language for the real-time embedded systems domain. In Domain-Specific Program Generation, volume 3016 of Lecture Notes in Computer Science, pages 127–142. Springer-Verlag, 2003.
[8]
P. Hudak. Principles of functional reactive programming. ACM SIGSOFT Software Engineering Notes, 25(1):59, 2000.
[9]
O. Kiselyov, C.-C. Shan, and Y. Kameyama. Bridging the theory of staged programming languages and the practice of high-performance computing. Technical Report 2012–4, National Institute of Informatics, Japan, 2012.
[10]
H. Liu, E. Cheng, and P. Hudak. Causal commutative arrows. J. Funct. Program., pages 467–496, 2011.
[11]
H. Nilsson, A. Courtney, and J. Peterson. Functional reactive programming, continued. In Haskell Workshop, pages 51–64. ACM, 2002.
[12]
J. Pearce, R. Crosbie, J. Zenor, R. Bednar, D. Word, and N. Hingorani. Developments and applications of multi-rate simulation. In Computer Modelling and Simulation, 2009. UKSIM ’09. 11th International Conference on, pages 129–133, March 2009.
[13]
J. Risset. Pitch and rhythm paradoxes: Comments on “auditory paradox based on fractal waveform” {j. acoust. soc. am. 79, 186–189 (1986)}. The Journal of the Acoustical Society of America, 80(3):961–962, 1986.
[14]
R. N. Shepard. Circularity in judgements of relative pitch. Journal of the Acoustical Society of America, 36(12):2346–2353, 1964.
[15]
W. Taha and T. Sheard. MetaML and multi-stage programming with explicit annotations. Theor. Comput. Sci., 248(1-2):211–242, 2000.
[16]
B. Tranc´on y Widemann and M. Lepper. On-line synchronous total purely functional data-flow programming on the java virtual machine with sig. In Proc. International Conference Principles and Practice of Programming in Java (PPPJ 2015). ACM, 2015. To appear.
[17]
B. Tranc´on y Widemann and M. Lepper. Foundations of total functional data-flow programming. In Mathematically Structured Functional Programming (MSFP 2014), volume 153 of Electronic Proceedings in Theoretical Computer Science, pages 143–167, 2014.
[18]
B. Tranc´on y Widemann and M. Lepper. Sound and soundness – practical total functional data-flow programming. In Functional Art, Music, Modeling and Design (FARM 2014), pages 35–36. ACM Digital Library, 2014. Demo abstract.
[19]
B. Tranc´on y Widemann and M. Lepper. Laminar data flow: On the role of slicing in functional data-flow programming. In Trends in Functional Programming (TFP 2015), 2015. Draft proceedings.
[20]
T. Uustalu and V. Vene. The essence of dataflow programming. In K. Yi, editor, Programming Languages and Systems, volume 3780 of Lecture Notes in Computer Science, pages 2–18. Springer, 2005.

Cited By

View all
  • (2016)Arrp: a functional language with multi-dimensional signals and recurrence equationsProceedings of the 4th International Workshop on Functional Art, Music, Modelling, and Design10.1145/2975980.2975983(17-28)Online publication date: 10-Sep-2016
  • (2015)On-Line Synchronous Total Purely Functional Data-Flow Programming on the Java Virtual Machine with SigProceedings of the Principles and Practices of Programming on The Java Platform10.1145/2807426.2807430(37-50)Online publication date: 8-Sep-2015
  • (2015)Laminar Data FlowRevised Selected Papers of the 16th International Symposium on Trends in Functional Programming - Volume 954710.1007/978-3-319-39110-6_5(85-103)Online publication date: 3-Jun-2015

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
FARM 2015: Proceedings of the 3rd ACM SIGPLAN International Workshop on Functional Art, Music, Modelling and Design
August 2015
34 pages
ISBN:9781450338066
DOI:10.1145/2808083
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 30 August 2015

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. data flow
  2. dynamic configuration
  3. real time
  4. sound synthesis

Qualifiers

  • Research-article

Conference

ICFP'15
Sponsor:

Acceptance Rates

Overall Acceptance Rate 19 of 23 submissions, 83%

Upcoming Conference

ICFP '25
ACM SIGPLAN International Conference on Functional Programming
October 12 - 18, 2025
Singapore , Singapore

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)6
  • Downloads (Last 6 weeks)1
Reflects downloads up to 05 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2016)Arrp: a functional language with multi-dimensional signals and recurrence equationsProceedings of the 4th International Workshop on Functional Art, Music, Modelling, and Design10.1145/2975980.2975983(17-28)Online publication date: 10-Sep-2016
  • (2015)On-Line Synchronous Total Purely Functional Data-Flow Programming on the Java Virtual Machine with SigProceedings of the Principles and Practices of Programming on The Java Platform10.1145/2807426.2807430(37-50)Online publication date: 8-Sep-2015
  • (2015)Laminar Data FlowRevised Selected Papers of the 16th International Symposium on Trends in Functional Programming - Volume 954710.1007/978-3-319-39110-6_5(85-103)Online publication date: 3-Jun-2015

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media