返回资讯中心
外部精选
软件工程
#开发者实时流

澳大利亚CSIRAC计算机首次实现电脑播放音乐

来源标题:How Australia played the first music on a computer

澳大利亚研制的世界第四台数字计算机CSIRAC在1950或1951年首次用计算机播放音乐。该计算机由CSIR(CSIRO前身)在悉尼设计建造,1949年运行首个测试程序,内存约2KB、无显示器,唯一熟悉的输出设备是称为hooter的扬声器。以今天的标准看它非常原始,每秒仅1000个周期。

Hacker News 最新Skyfall1062026/11/6 · 今天9 分钟阅读

以下正文由 AI 翻译自 Hacker News 最新(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。

我们如今通过电脑播放音乐习以为常——电脑就在我们的口袋里、家中和办公室里,音乐随手可得。但在电脑上播放音乐,曾经是一个几乎无法想象的跨越,也是最棘手的编程挑战。

世界上第四台数字计算机由澳大利亚科学与工业研究理事会(CSIR,即CSIRO的前身)设计并建造。它始于1947年的一个梦想,1949年运行了第一个测试程序,并在1950年或1951年奏响了音乐。它最初被称为CSIR Mark 1——后来更名为CSIRAC(CSIR自动计算机)——在悉尼的CSIR无线电物理分部建造。

以今天的标准来看,CSIRAC是一台非常原始的计算机。它运行非常缓慢(每秒1,000个周期);内存很小(约2KB的RAM和3KB的磁盘内存);它占满了一个房间;而且它没有现代计算机那样的显示器。

照片:在墨尔本博物馆展出之前的CSIRAC

CSIRAC的大部分输出通过打孔纸带完成,之后再在另一台机器上转换为文本。唯一为人熟悉的输出设备是一个扬声器(称为“hooter”),它被用来跟踪程序的进度。程序员会在程序末尾放置一个声音,以便知道程序已经结束(这被称为“blurt”),或者他们会在程序中编入进度指示的blurt。

尽管原始,CSIRAC却完成了开创性的工作,包括1953年运行计算以找到银河系中心,以及为我们第一座摩天大楼的工程提供计算。

在墨尔本博物馆展出之前,CSIRAC是一台串行计算机,它一次传递一个数字位,不像现代计算机那样并行传递32或64位。

CSIRAC的内存是水银声学延迟线。这意味着一个脉冲会被送入内存管,它会传播到管的另一端,然后被回收送回前端。通过这种方式,许多位和数字字可以存储在一管水银中。任何时候大约有20个内存管在工作。

使用水银声学延迟时间内存的一个后果是,每次内存访问所需的时间不同。这对任何时间关键型应用(例如实时播放音乐)都会造成问题。

第一位软件工程师或程序员是数学家Geoff Hill,他可以说是澳大利亚计算领域一位未被歌颂的英雄。Hill来自一个非常有音乐素养的家庭;他的母亲是一位音乐教师,他的姐姐是一位表演者,而他拥有绝对音感。这一点至关重要,因为CSIRAC发声的方式是将计算机数据总线的原始脉冲发送到扬声器。

如果随意编程,这些脉冲会在相当随机的时间到达扬声器,产生程序员用来指示程序执行点的blurt类型声音。Hill很快意识到,如果他能让脉冲以规律的时间到达,那么他就能得到稳定的音高。然后,也许他可以编写音阶的音符。

这是一项极其困难的任务,因为每次内存访问所需的时间不同,而且整体时钟频率只有每秒1,000个周期。但Hill做到了这一点,他的音乐知识非常宝贵,尽管至少有一次他深夜打电话给他的母亲,问她某些音符是否在调上,同时把电话听筒放在计算机扬声器旁。她第一次的反应是责骂Hill,说他在用梳子和一张纸胡闹,深夜打扰她,而他的晚餐还在烤箱里!她不明白发生了什么。

正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。

打开原文
去社区讨论 →